一. JSP介绍
JSP(全称JavaServer Pages)是由SunMicrosystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
二. 内置对象
1. 介绍
jsp内置对象是Web容器创建的一组对象,可以不加声明和创建就可以在JSP页面脚本(Java程序片和Java表达式)中直接使用的成员变量,在所有的JSP页面中都能使用内置对象。
2. 分类
- **
out
**对象
- 用于输出数据。out对象是 javax.servlet.jsp.JspWriter 类的实例。
- out对象的范围是page。
- 若autoFlush=“true”,当前操作不清空缓存导致缓冲区溢出时,这个类的所以I/O操作会自动清空缓存区的内容。
- 若autoFlush=“false”,当前操作不清空缓存导致缓冲区溢出时,这个类的所以I/O操作会抛出一个IOException异常。
out.print(); //输出
out.println(); //输出并换行
out.newline(); //输出一个换行符
out.flush(); //输出缓冲区的数据
out.close(); //关闭输出流
out.isAutoFlush(); //如果AutoFlush为真,返回true。反之返回false
- **
request
**对象
- request对象是javax.servlet.http.HttpServletRequest 类的实例。
- 当客户端请求一个JSP页面时,JSP引擎就会制造一个新的request对象来代表这个请求。
- 请求信息的内容包括:
请求的标题头(Header)
信息(如浏览器版本信息,语言,编码方式等)
请求方式(如HTTP,GET,POST等)
请求的参数名称,参数值
客户端的主机名称等- 再将request对象当做jspService方法的HttpServletRequset参数值,来获取有关客户端的请求信息。
- **
response
**对象
- response对象是javax.servlet.http.HttpServletResponse类的实例。当服务器创建request对象时会同时创建用于响应这个客户端的response对象。
- response对象也定义了处理HTTP头模块的接口。
sendRedirect(); //把响应发送到另一个位置进行处理
sendError(); //向客户端发送错误信息
addCookie(); //添加一个cookie对象,用来保存客户端的用户信息
- **
session
**对象
- session对象是 javax.servlet.http.HttpSession 类的实例。和Java Servlets中的session对象有一样的行为。
- session对象用来跟踪在各个客户端请求间的会话。
invalidate(); //使会话无效,并将其移除
getCreationTime(); //返回会话创建时间
getSessionContext(); //返回会话相连的上下文
setAttribute(); //设置指定名称name的属性值value,并存储到session对象中
getAttribute(); //获取指定名称name的属性值
getAttributeNames(); //返回session对象中存储的每一个属性对象
- **
page
**对象
- 是java.lang.Object类的一个实例。这个对象就是页面实例的引用。它可以被看做是整个JSP页面的代表。
- page 对象就是this对象的同义词。
- **
config
**对象
- config对象是 javax.servlet.ServletConfig 类的实例,直接包装了servlet的ServletConfig类的对象。
- 这个对象允许开发者访问Servlet或者JSP引擎的初始化参数,比如文件路径等。
- 它表示Servlet的配置,当一个Servlet初始化时,容器把某些信息通过此对象传递给初始化的Servlet。
- **
exception
**对象
- 是java.lang.Throwable类的一个实例。
- exception 指的是运行时的异常,也是被调用的错误页面的结果,只有在错误页面(isErrorPage=true)中才可使用。
8.**pageContex
**对象
- pageContext对象是javax.servlet.jsp.PageContext 类的实例,用来代表整个JSP页面。
- pageContext对象也包含了传给JSP页面的指令信息,包括缓存信息,ErrorPage URL,页面scope等。
- 这个对象存储了request对象和response对象的引用。application对象,config对象,session对象,out对象可以通过访问这个对象的属性来导出。
- pageContext对象也包含了传给JSP页面的指令信息,包括缓存信息,ErrorPage URL,页面scope等。
9.**application
**对象
- application对象直接包装了servlet的ServletContext类的对象,是javax.servlet.ServletContext 类的实例。
- 这个对象在JSP页面的整个生命周期中都代表着这个JSP页面。这个对象在JSP页面初始化时被创建,随着jspDestroy()方法的调用而被移除。
3. 属性范围
page<request<session<application(包含关系)
4. 页面之间的数据传递方式
- form表单传递
- url重写方式
- cookie方式
- session会话方式