JSP的四大作用域和九大内置对象

您所在的位置:网站首页 pagecontext对象的数据仅在当前页面有效 JSP的四大作用域和九大内置对象

JSP的四大作用域和九大内置对象

2023-07-22 22:37| 来源: 网络整理| 查看: 265

一、四大作用域

名称作用域page当前页面有效request当前请求中有效session当前会话中有效application当前应用程序有效

1、page: 只在当前页面有效。也就是用户请求的页面有效,当当前页面关闭或转到其他页面时,page对象将在响应回馈给客户端后失效。

2、request: 在当前请求中有效。request可以通过setAttribute()方法实现页面中的信息传递,也可以通过forward()方法进行页面间的跳转,需要注意的是request是转发不是重定向,转发相对于浏览器来说是透明的,也就是无论页面如何跳转,地址栏上显示的依旧是最初的地址。

3、session: 当前会话中有效。当一台电脑的同一个浏览器对服务器进行多次访问时,在这的多次访问之间传递的信息就是sessio作用域的范围。它从浏览器发出第一个HTTP请求即可认为会话开始,到会话结束之间的范围。

4、application: 在当前应用程序中有效。也就是当服务器开始到服务器结束这段时间,application作用域中存储的数据都是有效的,同样可以通过setAttribute赋值和getAttribute取值。

二、九大内置对象

名称对象类型作用域out输出对象javax.servlet.jsp.JspWriterpageconfig配置对象javax.servlet.ServletConfigpagepage页面对象javax.lang.Objectpageresponse响应对象javax.servlet.SrvletResponsepagepageContext页面上下文对象javax.servlet.jsp.PageContextpageexception例外对象javax.lang.Throwablepagerequest请求对象javax.servlet.ServletRequestrequestsession会话对象javax.servlet.http.HttpSessionsessionapplication应用程序对象javax.servlet.ServletContextapplication

1、out: out对象是JspWriter类的实例,是向客户端输出内容常用的对象 。作用域为page(页面执行期)。

2、config: config 对象的主要作用是取得服务器的配置信息。config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)。

3、page: page 对象代表JSP本身,只有在JSP页面内才是合法的。 page隐含对象本质上包含当前 Servlet接口引用的变量,类似于Java编程中的 this 指针。

4、response: response对象代表的是客户端的响应,主要是将JSP容器处理过的对象传回到客户端。

response的常用方法有addCookie(Cookie cookie)向客户端添加cookie,serContentType (String type) 设置HTTP响应的contentType类型,setCharacterEncoding (String charset) 设置响应所采用的字符编码类型,sendRedirect (String location) 将请求重新定位到一个新的地址上,这时地址栏上的地址会改变。

5、pageContext: pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用 pageContext对象。

pageContext的常用方法有getRequest()获取request对象,getResponse()获取response对象,getSession()获得session对象,getOut()获取out对象,setAttribute(String key,Object value)保存属性,getAttribute(String key)获取属性,include(“url”)请求指定的资源,并且将目标资源的响应结果包含在调用页面的响应中。

6、exception: exception 对象的作用是显示异常信息,只有在包含 isErrorPage=“true” 的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件。excepation对象和Java的所有对象一样,都具有系统提供的继承结构。exception 对象几乎定义了所有异常情况。在Java程序中,可以使用try/catch关键字来处理异常情况; 如果在JSP页面中出现没有捕获到的异常,就会生成 exception 对象,并把 exception 对象传送到在page指令中设定的错误页面中,然后在错误页面中处理相应的 exception 对象。

7、request: 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)

request的常用方法有getParameter(String name)根据表单组件名称获取页面提交数据,getParameterValues(String name)获取一组以相同名称命名的表单组件提交的数据,setCharacterEncoding(String charset)在调用getParameter()方法前进行设定,用于解决中文乱码,getRequestDispatcher(String path)返回一个javax.servlet.RequestDispatcher对象,该对象的forward()方法用于转发请求。

8、session: session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例。

session对象内部使用Map类来保存数据,因此保存数据的格式为 “Key/value”。 session对象的value可以使用对象类型。session的常用方法有setAttribute(String key,Object value)以key/value的形式将对象保存到session中,getAttribute(String key)通过key值获取session中保存的value,invalidate()强制session对象失效,getId()获取sessionid,setMaxInactiveInterval(int interval)设置session的非活动时间,getMaxInactiveInterval()获取session的有效非活动时间,removeAttribute(String key)删除session中对应key的value值。

9、application: application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命周期更长,类似于系统的“全局变量”。 实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。

application常用方法有setAttribute (String key,Object value) 以key/value的形式将对象存储到application中,getAttribute (String key) 通过key获取application中存储的对象,getRealPath (String path) 返回相对路径的真实路径。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3