---Jsp(二)隐含对象和四个域对象
2016-07-15 16:44
483 查看
jsp隐含对象
每个jsp页面在第一次访问的时候,服务器都会把它交给jsp引擎去处理,将jsp页面中的java代码翻译到_JapServlet方法中,然后按照servlet的方式去处理请求,由于JSP第一次访问时会翻译成Servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直接调用,所以程序的执行效率不会受到影响。JSP引擎在调用JSP对应的_jspServlet时,会传递或创建9个与web开发相关的对象供_jspServlet使用。JSP技术的设计者为便于开发人员在编写JSP页面时获得这些web对象的引用,特意定义了9个相应的变量,开发人员在JSP页面中通过这些变量就可以快速获得这9大对象的引用。
这九个对象包括
request://是Servlet里的request response: //是Servlet里的response session: //是Servlet里的session application: //是servlet里的servletContext config: //是Servlet里的servletConfig page: //是Servlet自己 exception: //异常,只有errorPage才有 out://JSP页面输出 pageContex//pageContext对象是JSP中最重要的一个对象,它代表JSP页面的运行环境
jsp映射
jsp也可以向servlet那样配置映射
<servlet> <servlet-name>JspServletName</servlet-name> <jsp-file>/jsp/jspname.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>JspServletName</servlet-name> <url-pattern>/xxx/yyy</url-pattern> </servlet-mapping>
四个域对象
web开发公式用到四个域对象
pageContext(称为page域): //pageContext中存的数据在页面范围都可以取出 request(称为request域): //request中存的数据在请求范围内都可以取出 session(称为session域): //session中存的数据在会话范围内都可以取出 servletContext(称为application域)://servletContext中存的数据在整个应用程序范围内都可以取出
这四个对象的生命周期
request:,一次请求可用,如果客户机向服务器发请求产生的数据,用户看完就没用了,向这样的数据就存在request域中。如用户看的新闻。
session:一次会话可用,如果客户机向服务器发请求产生的数据,用户用完了等一会儿还有用,向这样的数据就存在session域中。如用户购买的东西,因为结账还要用到。
servletContext:application一直可用,如果客户机向服务器发请求产生的数据,用户用完了还要给其他用户用,向这样的数据就存在servletContext域中。如聊天室中说出的话,因为话要在自己页面中看到,别人也要看到。
实际中,能用小的容器就不要用大的,即request能满足就不要用session,session能满足就不要用servletContext
相关文章推荐
- JSP/PHP基于Ajax的分页功能实现
- 开发阶段Jetty运行Jsp报错且响应空白
- jsp简单实现页面之间共享信息的方法
- Apache Web让JSP“动”起来
- JSP学习经验小结分享
- JSP 多条SQL语句同时执行的方法
- jsp登录会话的简单实现
- 在jsp页面中响应速度提高的7种方法分享
- (jsp/html)网页上嵌入播放器(常用播放器代码整理)
- 使用JSP制作一个超简单的网页计算器的实例分享
- JSP上传excel及excel插入至数据库的方法
- 浅析JSP的9大内置对象和4大作用域对象
- JSP中文乱码常见3个例子及其解决方法
- jsp实现将动态网页转换成静态页面的方法
- JSP基于Bootstrap分页显示实例解析
- JSP避免Form重复提交的三种方案
- 纯jsp实现的倒计时动态显示效果完整代码