JSP九大隐式对象

1.jsp的九大隐式对象

request
HttpServletRequest

response HttpServletResponse

session HttpSession

application
ServletcContext

config   ServletConfig

exception
(特殊情况下使用)

page    
this(本JSP页面)

out      
JspWriter(带缓冲的PrintWriter)

pageContext
(使普通Java类可访问WEB资源,自定义标签常用)

2.session

(1)访问jsp页面时,默认web服务器创建session

(2).访问servlet时,必须通过request.getSession()才能创建session

(3).在转发和重定向情况下,session域不会销毁

3.application=ServletContext对象

4.config

取得jsp映射在web.xml文件中的信息

5.page:表示当前jsp页面,只能在jsp标签只出错,表示当前域对象,在代码中,表示当前域对象只能用PageContext

6.out隐式对象

(1).out隐式对象用于向客户端发送文本数据。

(2).out对象是通过调用pageContext对象的getOut方法返回的,其作用和用法与ServletResponse.getWriter方法返回的PrintWriter对象非常相似。

(3).JSP页面中的out隐式对象的类型为JspWriter,JspWriter相当于一种带缓存功能的PrintWriter,设置JSP页面的page指令的buffer属性可以调整它的缓存大小,甚至关闭它的缓存。

(4).只有向out对象中写入了内容,且满足如下任何一个条件时,out对象才去调用ServletResponse.getWriter方法,并通过该方法返回的PrintWriter对象将out对象的缓冲区中的内容真正写入到Servlet引擎提供的缓冲区中:

(5).设置page指令的buffer属性关闭了out对象的缓存功能

out对象的缓冲区已满整个JSP页面结束

out的工作原理图:

7.exception:该对象只能在<%@isErroPage="true"%>的情况下,容器才会创建,否则容器不予创建

8.pageContext

(1).PageContext域对象仅限于当前jsp页面中,出了该jsp页面,原PageContext域对象销毁,如果取不到值,返回null

(2).PageContext域对象可以将对应的值保存在指定的四个域对象之一

pageContext.setAttribute("name","丝丝",PageContext.REQUEST_SCOPE);

(3)PageContext域对象可以将对应的值从指定的四个域对象之一取出

<%=pageContext.getAttribute("name",PageContext.APPLICATION_SCOPE) %>

(4).PageContext.findAttribute("name")

它会以name为key,依次去四个域对象中查询对应的值,找到即止,如果找不到,返回null

9.四大域对象

四个域对象的生命周期图:

四大域对象的包含图:

(1).pageContext jsp执行时创建pageContext,jsp页面结束时pageContext销毁

(2).request     客户请求服务器时创建,请求结束request销毁

(3).session     客户机请求服务器时,第一次getSession时,服务器创建session,session过xx多长时间没用了(或调用了session.invalidate方法),服务器销毁session

(4).application(servletContext)  web应用启动时就创建,web应用停止就销毁

10.什么情况下用什么域的问题

(1).什么情况下用request域?如果在开发程序时,数据看完就没用了,那就应该把数据存在request域范围内。比如看新闻,新闻属于用户看完就没用的数据,这时servlet获得新闻数据,就应该存在request里面交给jsp显示。

(2).什么情况下用session域?如果在开发程序时,数据看完了用户等一会儿还要用,那就应该把数据存在session域范围内.例如购物,购买的商品是用户的数据,这个数据产生之后,用户等一会儿结帐还要用,那么程序就应该把数据存在用户的session中。

(3).什么情况下用application域?如果在开发程序,数据产生了,这个数据不仅等一会儿自己要用,还要给别人用,那就应该存在application域,例如web聊天室,用户的聊天数据,这个数据不仅用户等一会儿自己要看,还要给别人看。

时间: 2024-10-24 11:43:58

JSP九大隐式对象的相关文章

JSP九大隐式对象-----面试

因为jsp实质是一个Servlet对象:jsp在第一次访问时会被Web容器翻译成Servlet,在执行过程:第一次访问---->inex.jsp---->index_jsp.java---->编译运行 比如我们新建一个index.jsp对象,则可以在Tomcat的work目录查到index_jsp.java和index_jsp.class,该class文件就是一个Servlet,Servlet容器就会按照处理Servlet处理它 通过看源码可知 ,该类继承了HttpJspBase,而Ht

JSP页面以及JSP九大隐式对象

?JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. ?JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据. ?Jsp快速入门:在jsp页面中输出当前时间. ?JSP模版元素 ?JSP表达式 ?JSP脚本片断 ?JSP注释 ?JSP指令 ?JSP标签 ?JSP内置对象 ?如何查找JSP页面中的错误

关于jsp九大隐式对象

做项目了,发现自己有好多都还不懂,好久没有写随笔了 , 关于自己最近学习的JavaWeb的jsp有九大隐式对象,这九大隐式对象分别对应着servlet中的对象 jsp隐式对象 servlet对象 对应的类 作用 request request HttpServletRequest 作用于一次请求,在请求中可用带上数据 pageContext 页面上下文   jsp.PageContext 作用于jsp页面,可以通过此对象获取其他八大隐式对象 session session  HttpSessio

JavaWeb学习记录(十七)——JSP九大隐式对象

public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException { JspFactory _jspxFactory = null; PageContext pageContext = null; HttpSession session = null; ServletContext application =

java中jsp的九大隐式对象及web四大域

JSP运行原理和九大隐式对象 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用. 由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直接调用,所以程序的执行效率不会受到影响. JSP引擎在调用JSP对应的_jspServlet时,会传

JSP_九大隐式对象

JSP九大隐式对象:在翻译过来的Servlet中Service方法自动帮我们前置定义的九个对象,可以在jsp页面中直接使用 page confing application response request session out exception pageContext out 相当于是response.getWriter得到PrintWriter out和response.getWriter获取到的流不同在于,在于这个out对象本身就具有一个缓冲区.利用out写出的内容,会先缓冲在out缓

四大域对象,和jsp的九大隐式对象,已经el表达式的11个隐式对象

四大域对象 1.PageContext :页面范围的数据 2.ServletRequest:请求范围的数据 3.HttpSession:回话范围的数据 4.ServletContext:应用范围的数据 JSP的九大隐式对象 1.out 输出流对象 2.request请求对象 3.response 响应对象 4.config 配置对象 5.session 回话对象 6.application 应用程序对象 7.page 页面对象 8.pageContext 页面上下文对象 9.exception

JSP--JSP语法--指令---九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构

一.JSP 原理:JSP其实就是一个servlet. Servlet负责业务逻辑处理,JSP只负责显示.开发中,JSP中不能有一行JAVA代码 二.JSP语法 1. JSP模板元素:JSP中HTML标签及文本 2. 脚本:写JAVA代码,<% %> 3. 表达式:用于输出变量及表达式,<%= %> 4. 注释:分为三种 a) <!-- --> :JSP翻译成Servlet时也将进行翻译.页面中也有. b) <% /*.......*/ %>:JSP翻译成Se

jsp中的九大隐式对象

一.为什么要隐式对象  1.简化了JSP 页面开发, 2.隐式对象名称是JAVA的保留字, 3.隐式对象不需要再去实例化由JSP内部实现和管理的内部对象, 4.通过隐式对象来访问网页的动态内容,JSP隐式对象是web容器加载的一组类 二.九大隐式对象的分类 三.各对象的作用. (1)Application 全局作用域:代表整个运行时的 Web 模块(应用程序) (2)Seesion 会话作用域:代表当前的 HTTP 会话 (3)Request 请求作用域:代表当前的 HTTP 请求 (4)Pag