001_入门
【本质】
JSP 就是 一个Servlet,一个特殊的Servlet。
------------------------------------------------------------------------
Servlet:
················缺点:不适合设置html响应体, 大量的response.getWriter().print("<html>") ··················优点:动态资源,可以编程。
html:
·············· ·· 缺点:html是静态页面 ········· ········ 优点:不用为输出html标签而发愁
jsp(java server pages):
JSP经过服务器Tomcat处理之后,生成HTML,在发送给客户端。【JSP由Tomcat解析为HTML】
··················优点:在原有html上添加java脚本,构成jsp页面,JSP = html + java脚本 + jsp动作标签(包含EL表达式)。
------------------------------------------------------------------------
jsp和Servlet的分工:
JSP上提交的表单信息,给Servlet处理,处理结束后,在转到JSP显示。【服务员jsp-----厨师Servlet-----服务员jsp】
JSP:
··················请求发起页面, 如显示表单 。
··················请求结束页面, 如显示数据。
Servlet:
···················请求中处理数据的环节。
------------------------------------------------------------------------
jsp的组成
jsp = html + java脚本 + jsp标签(指令)
jsp中无需创建即可使用的对象一共有9个,被称之为9大内置对象。如:request对象
3种java脚本:
<%...%>:{}看成方法体即可。里面书写java代码片段,用于定义0~N条Java语句!方法内能写什么,它就可以放什么!
<%=...%>:变量或表达式输出。java表达式,用于输出(常用),用于输出一条表达式(或变量)的结果。response.getWriter().print( ... );这里能放什么,它就可以放什么!
<%!...%>:类体内的声明。用来创建类的成员变量和成员方法(基本不用,但容易被考到),类体中可以放什么,它就可以放什么!
------------------------------------------------------------------------
jsp注释:Tomcat解析,会忽略该注释,在HTML中不显示(人看不到)
<%-- ... --%>:当服务器把jsp编译成java文件时已经忽略了注释部分!
html注释:html中显示(人看的到)
<!--fdsafdsa-->:
String path = request.getContextPath();//获取项目名/day11_1/
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; http://localhost:8080/day11_1/
------------------------------------------------------------------------
<%=basePath%> : 注意basePath路径
<%
int a =10; / / 此处的a为局部变量
%>
<%! // 加上!表示jsp类体内,所以为成员变量【只学习,不使用,过时了】
int a =1000;// 此处的a为成员变量
%>
------------------------------------------------------------------------
// jsp中页面的循环输出,jsp中加入java代码
<%
for(int i = 0; i < 10; i++) {
%>
<tr>
<td>嘻嘻嘻</td>
<td>00000</td>
</tr>
<%
}
%>
------------------------------------------------------------------------
JSP和Servlet的分工图: