标签:
JSP有9个内置对象,分别是request(请求对象)、response(响应对象)、 pageContext(页面上下文对象)、session(会话对象)、application(应用程序对象)、out(输出对象)、config(配置对象)、page(页面对象)和exception(例外对象)。
那么,这些对象是怎么来的呢?我们看一下转译文件。
public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException { final javax.servlet.jsp.PageContext pageContext; javax.servlet.http.HttpSession session = null; final javax.servlet.ServletContext application; final javax.servlet.ServletConfig config; javax.servlet.jsp.JspWriter out = null; final java.lang.Object page = this; javax.servlet.jsp.JspWriter _jspx_out = null; javax.servlet.jsp.PageContext _jspx_page_context = null;
...
}
可以看到,request和response是该方法的参数值,其他变量(除Exception)则在函数中声明。这是它们的类型。
NO. | 内置对象 | 类型 |
1 | pageContext | javax.servlet.jsp.PageContext |
2 | request | javax.servlet.http.HttpServletRequest |
3 | response | javax.servlet.http.HttpServletResponse |
4 | session | javax.servlet.http.HttpSession |
5 | application | javax.servlet.ServletContext |
6 | config | javax.servlet.ServletConfig |
7 | out | javax.servlet.jsp.JspWriter |
8 | page | java.lang.Object |
9 | exception | java.lang.Throwable |
对于内置对象使用的一些说明:
a)request对象代表来自客户端的请求,比如我们在Form表单中填写的信息,是最常用的对象。常用方法为getParameter()、getParameterNames()、getParameterValue(),通过调用这些方法来获取请求对象中所包含的参数值。
b)需要向客户端发送数据进行显示时,使用out对象,而不用response对象。
c)session用于保存用户信息,跟踪用户操作,使用Map类保存数据。session对象的value可以使复杂的对象类型(甚至可以是自定义类),而不仅仅局限于字符串类型。session通常在不同的JSP页面保存客户信息的情况下使用,比如需要登录的情况。
d)application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命周期更长,类似于系统的“全局变量”。同样是Map类保存数据,使用方法与session相同。
e)pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。
打开转译文件,在_jspServive()方法中,有这样的代码:
application = pageContext.getServletContext(); config = pageContext.getServletConfig(); session = pageContext.getSession(); out = pageContext.getOut();
标签:
原文地址:http://www.cnblogs.com/AEIOU19994/p/5457227.html