page.jsp --\公众翻译\"大众--> page_jsp.java --\"大众编译\"大众--> page_jsp.class
2.jsp的浸染
Servlet
> 缺陷:不适宜设置html相应体,须要大量的response.getWriter().print(\"大众html\"大众)
> 优点:动态资源,可以编程
html
> 缺陷:html是静态页面,不能包含动态信息
> 优点:不用为输出html标签而发愁
jsp(java server pages)
> 优点:在原有html的根本上添加java脚本,构成jsp页面
3.jsp和Servlet的分工
JSP
> 作为要求发起页面,例如显示表单、超链接
> 作为要求结束页面,例如显示数据。
Servlet
> 作为要求中处理数据的环节
4.JSP文件中可以涌现的 JSP \"大众元素\"大众:
--> 指令: 程序通过 JSP 源码 向 JSP 容器 ( Tomcat ) 下达的命令
<%@ 指令名称 属性名称=\"大众属性值\"大众 %>
page指令 --> <%@ page language=\"大众java\"大众 %>
include指令 --> <%@ include file=\公众inner.jsp\"大众 %>
利用 include 指令可以包含 一个 .html 、.jsp 、 .txt 文件(只能是字符文件,不能是图片等文件,也不能是 Servlet )
利用 include 包含一个文件,包含操作发生在 .jsp 被翻译成 .java 阶段
5.include产生的乱码问题
pageEncoding和contentType两种属性的差异:
1)pageEncoding是jsp文件本身的编码
2)contentType的charset是指做事器发送给客户端时的内容编码
方法一:在html代码首行加上<%@ page language=\"大众java\"大众 pageEncoding=\公众UTF-8\"大众 %>
taglib指令 -->
<c:forEach begin=\"大众1\"大众 step=\公众2\"大众 end=\公众11\"大众 var=\"大众x\"大众>
${ x }
</c:forEach>
--> 表达式:
<%= 表达式 %>
<%= reqeust.getContextPath() %>
--> 声明:
<%! 声明属性或方法 %>
<%! public String name = \"大众Java Server Pages\"大众; %>
--> 脚本:(java代码片段)
<% 直接书写 Java 代码块 %>
<%
for( int i = 0 ; i < 10 ; i ++ ) {
System.out.println( i ) ;
}
%>
--> JSP注释: 只存在于 JSP 文件中,相应的 .java 文件和 .class 文件中都不存在
<%-- JSP注释的内容 --%>
6.jsp的组成
jsp = html + java脚本 + jsp标签(指令)
jsp中无需创建即可利用的工具一共有9个,被称之为9大内置工具。例如:request工具,out工具
request、response、session、application、pageContext、config、out、page、exception
3种java脚本
> <%...%>:java代码片段(常用),用于定义0~N条java语句!
方法内能写什么,它就能放什么
> <%=...%>:java表达式,用于输出(常用),用于输出一条表达式(或变量)的结果
System.out.println();括号内能放什么,它就能放什么
> <%!...%>:声明,用来创建类的成员变量和成员方法(基本不用,但随意马虎被考到)
class MyClass{
类体中能放什么,<%!...%>内就能放什么
}
案例:演示jsp中java脚本的利用
案例:演示jsp与servlet分工
7.jsp事理(理解)
jsp实在是一种分外的servlet
> 当jsp页面第一次被访问时,做事器会把jsp编译成java文件(这个java实在是一个servlet类)
> 然后再把java编译成.class文件
> 然后创建该类工具
> 末了调用它的service()方法
> 第二次要求同一jsp时,直接调用service方法
在tomcat的work目录下可以找到jsp对应的.java源代码
查看jsp对应java文件;
> java脚本
> html
8.jsp注释
<%-- --%>
JSP 的 9 个标准内置工具application
类型:ServletContext
request
类型: HttpServletRequest
response
类型:HttpServletResponse
session
类型:HttpSession
pageContext
类型:PageContext
out
类型:JspWriter
config
类型: ServletConfig
exception
在可能发生非常的页面中利用 <%@ page errorPage=\"大众catch.jsp\"大众 %>; 指定缺点处理页面
在缺点处理页面:只有声明了 <%@ page isErrorPage=\公众true\"大众 %> 的页面才会有 exception 工具存在
page
类型: Servlet