1 Jsp,全称 Java Server Page java服务页面,能提供java服务的页面。
可以写html标签,还可以java代码
2第一次访问jsp:
1)tomcat服务器把jsp页面翻译成java源文件。
2)tomcat服务器把java源文件编译成class文件。
3)读取class文件,创建类对象。
4)执行类中的方法。
第n次访问jsp:
4)执行类中的方法。
注意
修改了jsp页面时,重新走翻译和编译的过程。
jsp就是一个servlet
3Jsp语法
Jsp页面的html代码就是模块
Jsp表达式
<%=变量或表达式%>
原理是使用out.print()方法向浏览器输出内容
Jsp脚本
<% out.write("hello"); %>
脚本原封不动地翻译到java文件的_jspServcice方法中执行。(不能写方法)
Jsp声明
<%! 变量或方法 %>
作用:写变量或方法
原理: 变量是成员变量,方法是成员方法。
注意:
1)不要写和翻译后的java文件相同的方法名
2)jsp脚本不能写方法
Jsp注释
<%-- jsp注释 --%>
html的注释会被翻译和执行,而jsp的注释不会被翻译和执行。
4Jsp的三大指令
语法: <%@ 指令 %>
1 taglib指令
2 include指令
<%@ include file="/common/header.jsp"%> (通用代码)
<hr/> 主体页面
</body>
页面的内容先合并在一起,然后翻译成一个java源文件,最后编译执行
3 page指令
<%@ page
language="java" -- 使用什么语言来翻译jsp文件
import="java.util.*"
jsp文件的编码相关的:
pageEncoding="utf-8" -- 使用什么编码翻译jsp文件
contentType="text/html; charset=utf-8" --服务器发送给浏览器的数据类型和内容编码格式(可省略)
异常页面相关的:
errorPage="/common/error.jsp" -- 出错跳转到该页面
isErrorPage="true" --指定当前页面为错误处理页面,就可以使用exception内置对象,使用exception对象可以查询错误信息。 <%=exception.getMessage() %>
配置全局的错误处理页面
<error-page>
............
</error-page>
session="true" -
buffer="8kb" -- jsp页面的缓存区大小
isELIgnored="false" --是否忽略EL表达式。
request HttpServletRequest 请求对象
response HttpServletResponse 响应对象
config ServletConfig 配置对象
application ServletContext servlet上下文对象
session HttpSession 会话对象
exception Throwable 异常信息对象
page Object 代表jsp文件翻译后的java类
out JspWriter 带缓存 response.getWriter() PrintWriter不带缓存
pageContext PageContext 代表jsp的上下文对象