目录
jsp内置对象
对象名 | 类型 |
request | javax.servlet.http.HttpServletRequest |
response | javax.servlet.http.HttpServletResponse |
session | javax.servlet.http.HttpSession |
out | javax.servlet.jsp.JspWriter |
application | javax.servlet.ServletContext |
exception | java.lang.Throwable |
pageContext | javax.servlet.jsp.PageContext |
config | javax.servlet.ServletConfig |
page | java.lang.Object |
作用域
九个内置对象中有四个作用域:application、session、request、page。作用域即这个对象的生命周期的范围。
application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。
session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效。
request:请求作用域,就是客户端的一次请求。
page:一个JSP页面。
以上作用范围使越来越小, request和page的生命周期都是短暂的,他们之间的区别就是:一个request可以包含多个page页(include,forward以及filter)。
内置对象request
类型:Javax.servlet.http.HttpServletRequest
描述:来自客户端的请求经Servlet容器处理后,由request对象进行封装。注:客户端和服务器的一次通信就是一次请求(发送请求或得到相应)。
作用域:request。说明,这次请求结束后,它的生命周期就结束了。
重要方法:
getParameter(key) 获取提交表单的数据
getParameterValues(key) 获取提交表单的一组数据,数组形式
request.getRequestDispatcher("xxx.jsp").forward(request,response) 转发(通过代码的方式进行转发)
request.setAttribute(key,object) 设置请求对象的属性
request.gettAttribute(key) 获取请求对象的属性
request.setCharacterEncoding("UTF-8") 对请求数据重新编码(Tomcat默认编码为:iso8859-1 )
内置对象resonpse
类型:Javax.servlet.http. HttpServletResponse
描述:它封闭了JSP 的响应,然后被发送到客户端以响应客户的请求。
作用域:page
重要方法:
response.sendRedirect("页面"):页面重定向。注意,之前的forward是转发,这里是重定向,注意区分。
response.setCharacterEncoding("utf-8"):设置响应编码
注意,response.sendRedirect("xxx.jsp")这个方法,是实现页面重定向,而不是转发。
内置对象session(会话)
类型:Javax.servlet.http.HttpSession
描述:表示一个会话,用来保存用户信息,以便跟踪每个用户的状态。(不要用来保存业务数据,request)
定义:是指在一段时间内客户端和服务器之间的一连串的相关的交互过程。
作用域:session。
如果是第一次接触“会话”这个概念,需要重复一下。说白了,客户端与服务器之间可能需要不断地进行数据交互(请求与相应),这个过程就可以理解为一段会话。Tomcat默认的会话时间为30分钟,这段时间内如果没有交互,会话结束;下次客户端一旦发送请求,重新创建会话。当客户端第一次发送请求的时候,才会创建一个会话。session的生命周期比request长
重要方法:
session.getid():取得session的id号.id由tomcat自动分配。
session.isnew():判断session时候是新建的
session.setAttribute(key,object):往当前会话中设置一个属性
session.getAttribute(key):获取当前会话中的一个属性
session.removeAttribute(key):删除当前会话中的属性
session.setMaxInactiveInterval(1000*60*30):设置当前会话失效时间(ms) 。Tomcat默认的会话时间为30分钟。
session.invalidate():初始化当前会话对象(一般在退出系统的时候使用,可以删除当前会话的数据)
会话结束的条件:
服务器关闭
会话过期(一段会话时间默认为30分钟)
手动终止会话
内置对象out
类型:Javax.servlet.jsp.JspWriter
作用:主要用来向客户端输出数据
作用域:page。也就是说,每个页面都有一个自己的out对象。
重要方法:print()/println()/write() 向客户端页面输出数据
举例:out.write("文字内容");
在这里,我们可以这样理解,一个Jsp文件编译之后就是一个类,而out就对应一个页面对象。