欢迎来到天天文库
浏览记录
ID:57695502
大小:50.00 KB
页数:5页
时间:2020-09-01
《Java中的JSP中内置对象及作用是什么?.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JSP有9个内置对象:-request:封装客户端的请求,其中包含来自GET或POST请求的参数;-response:封装服务器对客户端的响应;-pageContext:通过该对象可以获取其他对象;-session:封装用户会话的对象;-application:封装服务器运行环境的对象;-out:输出服务器响应的输出流对象;-config:Web应用的配置对象;-page:JSP页面本身(相当于Java程序中的this);-exception:封装页面抛出异常的对象。补充:如果用Servlet来生成网页中的动态内容无疑是非常繁琐的工作,另一
2、方面,所有的文本和HTML标签都是硬编码,即使做出微小的修改,都需要进行重新编译。JSP解决了Servlet的这些问题,它是Servlet很好的补充,可以专门用作为用户呈现视图(View),而Servlet作为控制器(Controller)专门负责处理用户请求并转发或重定向到某个页面。基于Java的Web开发很多都同时使用了Servlet和JSP。JSP页面其实是一个Servlet,能够运行Servlet的服务器(Servlet容器)通常也是JSP容器,可以提供JSP页面的运行环境,Tomcat就是一个Servlet/JSP容器。第一次请求
3、一个JSP页面时,Servlet/JSP容器首先将JSP页面转换成一个JSP页面的实现类,这是一个实现了JspPage接口或其子接口HttpJspPage的Java类。JspPage接口是Servlet的子接口,因此每个JSP页面都是一个Servlet。转换成功后,容器会编译Servlet类,之后容器加载和实例化Java字节码,并执行它通常对Servlet所做的生命周期操作。对同一个JSP页面的后续请求,容器会查看这个JSP页面是否被修改过,如果修改过就会重新转换并重新编译并执行。如果没有则执行内存中已经存在的Servlet实例。我们可以看
4、一段JSP代码对应的Java程序就知道一切了,而且9个内置对象的神秘面纱也会被揭开。JSP页面:">*{font-family:"Arial";}Hello,World!Currenttimeis:对应的Java代码:/**GeneratedbytheJaspercomponentofApacheTomcat*Version:ApacheTomcat/7.0.52*Generatedat:2014-10-1313:28:38UTC*Note:Thelastmodifiedtimeofthisfilewassetto*thelastmodif
5、iedtimeofthesourcefileafter*generationtoassistwithmodificationtracking.*/packageorg.apache.jsp;importjavax.servlet.*;importjavax.servlet.http.*;importjavax.servlet.jsp.*;publicfinalclassindex_jspextendsorg.apache.jasper.runtime.HttpJspBaseimplementsorg.apache.jasper.runtim
6、e.JspSourceDependent{privatestaticfinaljavax.servlet.jsp.JspFactory_jspxFactory=javax.servlet.jsp.JspFactory.getDefaultFactory();privatestaticjava.util.Map_jspx_dependants;privatejavax.el.ExpressionFactory_el_expressionfactory;privateorg.apache.tomcat.InstanceManager_jsp_i
7、nstancemanager;publicjava.util.MapgetDependants(){return_jspx_dependants;}publicvoid_jspInit(){_el_expressionfactory=_jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();_jsp_instancemanager=org.apache.jasper.runtime.Instance
8、ManagerFactory.getInstanceManager(getServletConfig());}publicvoid_jspDestroy(){}publicvoi
此文档下载收益归作者所有