涉及JSP页面请求、响应、切换和数据传递的5个内置对象
2017-01-13 07:56
495 查看
一个Java Web项目至少需要一个页面,项目执行时需要页面的初始化和导入;当一个Java Web项目右两个或者两个以上的页面时,页面切换过程中又需要页面的响应和页面间的数据传递。 页面的响应需要对页面进行加载。而页面间的数据传递需要在页面跳转时指定目标页面和需要传递的数据信息,并在新页面进行接收。涉及页面以上处理工作的内置对象有5个。与保存页面状态的4个内置对象一样,这5个内置对象在形成的servlet类中处理JSP页面内容之前已经定义。从下面的servlet类的java文件中,可以看出这些内置对象的定义类型。
从Servlet类代码中可以看出,Web服务器执行Servlet类时,因为先定义了8个对象(JSP页面的Java脚本中可以使用的是9个内置对象,只有当页面的page指令的isErrorPage属性为true时,才可以使用exception对象),然后再处理JSP页面内容,所以这9个对象在执行JSP页面的Java脚本时都可以使用。其中,有5个对象是用于JSP页面请求、响应、切换和数据传递的。
request对象是Web服务器封装了一次客户的请求,客户端的请求参数都被封装在给对象里。
reponse对象是封装了服务器对客户端的响应,向客户端返回请求。
out对象是一个javax.servlet.JspWriter类型,其作用是将结果输出到客户端。在jsp页面的Java脚本中,out几乎不用,因为java脚本的表达式语法会自动地放入输出流中,无须再明确指向out输出。
JspWriter out = null;
page对象用于操作JSP页面本身,相当于Java中的this关键字。
Object page = this;
exception对象仅在处理错误页面时有效,可以用来处理捕捉的异常。只有当页面的page指令的isErrorPage属性为true时,才可以使用exception对象。
//用于用户响应请求的方法 public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException { PageContext pageContext = null; HttpSession session = null; ServletContext application = null; ServletConfig config = null; JspWriter out = null; Object page = this; JspWriter _jspx_out = null; PageContext _jspx_page_context = null; try { response.setContentType("text/html;charset=utf-8"); pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true); _jspx_page_context = pageContext; application = pageContext.getServletContext(); config = pageContext.getServletConfig(); session = pageContext.getSession(); out = pageContext.getOut(); _jspx_out = out; //以下是把JSP页面内容转换成HTML格式 out.write("\r\n"); out.write("\r\n"); out.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n"); out.write("<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n"); out.write("<head>\r\n"); out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\r\n");
从Servlet类代码中可以看出,Web服务器执行Servlet类时,因为先定义了8个对象(JSP页面的Java脚本中可以使用的是9个内置对象,只有当页面的page指令的isErrorPage属性为true时,才可以使用exception对象),然后再处理JSP页面内容,所以这9个对象在执行JSP页面的Java脚本时都可以使用。其中,有5个对象是用于JSP页面请求、响应、切换和数据传递的。
request对象是Web服务器封装了一次客户的请求,客户端的请求参数都被封装在给对象里。
public void _jspService( HttpServletRequest request, HttpServletResponse response )
reponse对象是封装了服务器对客户端的响应,向客户端返回请求。
public void _jspService( HttpServletRequest request, HttpServletResponse response )
out对象是一个javax.servlet.JspWriter类型,其作用是将结果输出到客户端。在jsp页面的Java脚本中,out几乎不用,因为java脚本的表达式语法会自动地放入输出流中,无须再明确指向out输出。
JspWriter out = null;
page对象用于操作JSP页面本身,相当于Java中的this关键字。
Object page = this;
exception对象仅在处理错误页面时有效,可以用来处理捕捉的异常。只有当页面的page指令的isErrorPage属性为true时,才可以使用exception对象。
相关文章推荐
- JSP内置对象——request 及其响应get和post请求的实例
- JSP如何在servlet将一个数据模型对象传递给jsp页面
- 在jsp中常用的内置对象(5个)小总结和两种页面跳转方式(服务器端调转、客户端跳转)的区别
- SPRING MVC控制层传递对象后在JSP页面中的取值方法
- java在线支付---06,07,08_在线支付_编写将数据提交给易宝支付的JSP页面,集成和测试向易宝发送支付请求,实现浏览器自动向易宝发送支付请求
- 浪潮优派培训笔记:JSP的9大内置对象之(三).与数据通信相关的4个内置对象:pageContext、request、session、application
- struts:将Action处理后的数据传递给前台jsp页面
- 隐含对象简单笔记+jsp页面之间的请求
- 使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
- JSP实例-利用session在页面间传递java对象
- Jsp页面传递对象问题总结
- struts2通过后台向前台页面传递数据、对象
- 2个jsp页面之间传递类对象方法
- jsp页面,数据传递四种方式
- Base-Jsp-5-在页面、请求和用户之间共享数据
- 两个JSP页面之间如何传递一个对象?比如一个LIST或者HASHMAP?以及为什么有时候REQUEST.GETATTRIBUTE("NAME")取不到值?
- Struts2.x--学习笔记之页面对象数据传递 详解
- js声明数组、对象在jsp页面中(获得ajax得到json数据)
- jquery通过struts2请求,返回json数据,在jsp页面形成二级联动下拉列表
- 利用AJAX为JSP页面传递一个包含了若干对象的List集合