JSP 9大隐含对象
来源:互联网 发布:上传文件linux服务器 编辑:程序博客网 时间:2024/05/22 05:17
JSP中9大隐含对象
每个JSP页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet),然后按照servlet的调用方式进行调用。由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直接调用,所以程序的执行效率不会受到影响。JSP引擎在调用JSP对应的jspService时,会传递或创建9个与web开发相关的对象供_jspService使用。JSP技术的设计者为便于开发人员在编写JSP页面时获得这些web对象的引用,特意定义了9个相应的变量,开发人员在JSP页面中通过这些变量就可以快速获得这9大对象的引用。内置对象的特点是
request 对象
request对象是javax.servlet.http.HttpServletRequest 类的实例。每当客户端请求一个JSP页面时,JSP引擎就会制造一个新的request对象来代表这个请求。
request对象提供了一系列方法来获取HTTP头信息,cookies,HTTP方法等等。
与Servlet的javax.servlet.http.HttpServletRequest使用方式一致。
response对象
response对象是javax.servlet.http.HttpServletResponse类的实例。当服务器创建request对象时会同时创建用于响应这个客户端的response对象。
response对象也定义了处理HTTP头模块的接口。通过这个对象,开发者们可以添加新的cookies,时间戳,HTTP状态码等等。
与Servlet的javax.servlet.http.HttpServletResponse 使用方式一致。
page 对象
page对象类似于Java编程中的this,就是指当前JSP页面本身。而且page是java.lang.Object类型的引用。
config 对象
config 对象里存放着一些Servlet 初始的数据结构。
在web.xml配置Jsp页面
上面在web.xml中配置了JSP页面,并配置了1个初始化参数,现在我们就可以通过JSP内置的config参数来获取初始化参数值。
<%= config.getInitParameter("abc") %>
out 对象
out对象是jspWriter的内置实例,主要是用来向客户端输出内容。
常用方法:
void println() 向客户端打印字符串。默认会自动刷新缓冲区
void flush() 将缓冲区的内容输出到客户端
void clear( )清除输出缓冲区的内容,如果在flush之后调用会抛出异常
void clearBuffer( )清除输出缓冲区的内容,在flush之后调用不会抛出异常
int getBufferSize( )取得目前缓冲区的大小(KB)
int getRemaining( )取得目前使用后还剩下的缓冲区大小(KB)
boolean isAutoFlush( ),缓冲区满时,是否自动清空缓冲区;false表示不会自动清空并且产生异常。
void close( )关闭输出流,清除所有的内容
session 对象
session对象表示目前个别用户的会话(session)状况。
session对象实现javax.servlet.http.HttpSession接口,HttpSession接口所提供的方法
long getCreationTime()取得session产生的时间,单位是毫秒
String getId()取得session 的ID
long getLastAccessedTime()取得用户最后通过这个session送出请求的时间
long getMaxInactiveInterval()取得最大session不活动的时间,若超过这时间,session 将会失效
void invalidate()取消session 对象,并将对象存放的内容完全抛弃
boolean isNew()判断session 是否为"新"的
void setMaxInactiveInterval(int interval)设定最大session不活动的时间,若超过这时间,session 将会失效
这个对象在JSP页面的整个生命周期中都代表着这个JSP页面。这个对象在JSP页面初始化时被创建,随着jspDestroy()方法的调用而被移除。通过向application中添加属性,则所有组成您web应用的JSP文件都能访问到这些属性。application对象最常被使用在存取环境的信息。因为环境的信息通常都储存在ServletContext中,所以常利用application对象来存取ServletContext中的信息。使用方式与 ServletContext一致。
常用方法有:
application.setAttribute("name","value");
application.getAttribute("name");
application.removeAttribute("name");
application.getRealPath("/a.txt");
pageContext对象
pageContext是jsp页面的上下文对象,pageContext对象能够存取jsp其他隐含对象。
pageContext对象存取其他隐含对象属性的方法,此时需要指定范围的参数
Object getAttribute(String name, int scope)
Enumeration getAttributeNamesInScope(int scope)
void removeAttribute(String name, int scope)
void setAttribute(String name, Object value, int scope)
注意:范围参数有四个,分别代表四种范围:
PageContext.PAGE_SCOPE:从当前页面的 PageContext中取属性
PageContext.REQUEST_SCOPE:从ServletRequest中取属性
PageContext.SESSION_SCOPE:从HttpSession中取属性
PageContext.APPLICATION_SCOPE:从ServletContext中取属性
pageContext对象取得其他隐含对象的方法
Exception getException( )回传目前网页的异常,不过此网页要为error page,
JspWriter getOut( )回传目前网页的输出流,例如:out
Object getPage( )回传目前网页的Servlet 实体(instance),例如:page
ServletRequest getRequest( )回传目前网页的请求,例如:request
ServletResponse getResponse( )回传目前网页的响应,例如:response
ServletConfig getServletConfig( )回传目前此网页的ServletConfig 对象,例如:config
ServletContext getServletContext( ) 回传目前此网页的执行环境(context),例如:application
HttpSession getSession( )回传和目前网页有联系的会话(session),例如:session
exception对象
被调用的错误页面的结果,只有在错误页面中才可使用,
即在页面指令中设置:<%@page isErrorPage=“true”%>
常用方法:
getMessage( )
getLocalizedMessage( )
printStackTrace(new java.io.PrintWriter(out))
每个JSP页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet),然后按照servlet的调用方式进行调用。由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直接调用,所以程序的执行效率不会受到影响。JSP引擎在调用JSP对应的jspService时,会传递或创建9个与web开发相关的对象供_jspService使用。JSP技术的设计者为便于开发人员在编写JSP页面时获得这些web对象的引用,特意定义了9个相应的变量,开发人员在JSP页面中通过这些变量就可以快速获得这9大对象的引用。内置对象的特点是
由JSP规范提供,不用编写者实例化。通过Web容器实现和管理所有JSP页面均可使用(excption只有在 errorPage中才能使用)只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%>或<%使用内置对象%>),即:在JSP声明中不能访问和使用,因为隐含对象作用域只在_jspService方法中。
request 对象
request对象是javax.servlet.http.HttpServletRequest 类的实例。每当客户端请求一个JSP页面时,JSP引擎就会制造一个新的request对象来代表这个请求。
request对象提供了一系列方法来获取HTTP头信息,cookies,HTTP方法等等。
与Servlet的javax.servlet.http.HttpServletRequest使用方式一致。
response对象
response对象是javax.servlet.http.HttpServletResponse类的实例。当服务器创建request对象时会同时创建用于响应这个客户端的response对象。
response对象也定义了处理HTTP头模块的接口。通过这个对象,开发者们可以添加新的cookies,时间戳,HTTP状态码等等。
与Servlet的javax.servlet.http.HttpServletResponse 使用方式一致。
page 对象
page对象类似于Java编程中的this,就是指当前JSP页面本身。而且page是java.lang.Object类型的引用。
config 对象
config 对象里存放着一些Servlet 初始的数据结构。
在web.xml配置Jsp页面
<servlet> <servlet-name>TestJsp</servlet-name> <jsp-file>/index.jsp</jsp-file> <init-param> <param-name>abc</param-name> <param-value>123</param-value> </init-param></servlet> <!-- JSP与URL的映射,可以在浏览器地址栏输入url-pattern配置的值访问页面 --><servlet-mapping> <servlet-name>TestJsp</servlet-name> <url-pattern>/test</url-pattern></servlet-mapping>
上面在web.xml中配置了JSP页面,并配置了1个初始化参数,现在我们就可以通过JSP内置的config参数来获取初始化参数值。
<%= config.getInitParameter("abc") %>
out 对象
out对象是jspWriter的内置实例,主要是用来向客户端输出内容。
常用方法:
void println() 向客户端打印字符串。默认会自动刷新缓冲区
void flush() 将缓冲区的内容输出到客户端
void clear( )清除输出缓冲区的内容,如果在flush之后调用会抛出异常
void clearBuffer( )清除输出缓冲区的内容,在flush之后调用不会抛出异常
int getBufferSize( )取得目前缓冲区的大小(KB)
int getRemaining( )取得目前使用后还剩下的缓冲区大小(KB)
boolean isAutoFlush( ),缓冲区满时,是否自动清空缓冲区;false表示不会自动清空并且产生异常。
void close( )关闭输出流,清除所有的内容
session 对象
session对象表示目前个别用户的会话(session)状况。
session对象实现javax.servlet.http.HttpSession接口,HttpSession接口所提供的方法
long getCreationTime()取得session产生的时间,单位是毫秒
String getId()取得session 的ID
long getLastAccessedTime()取得用户最后通过这个session送出请求的时间
long getMaxInactiveInterval()取得最大session不活动的时间,若超过这时间,session 将会失效
void invalidate()取消session 对象,并将对象存放的内容完全抛弃
boolean isNew()判断session 是否为"新"的
void setMaxInactiveInterval(int interval)设定最大session不活动的时间,若超过这时间,session 将会失效
application对象
这个对象在JSP页面的整个生命周期中都代表着这个JSP页面。这个对象在JSP页面初始化时被创建,随着jspDestroy()方法的调用而被移除。通过向application中添加属性,则所有组成您web应用的JSP文件都能访问到这些属性。application对象最常被使用在存取环境的信息。因为环境的信息通常都储存在ServletContext中,所以常利用application对象来存取ServletContext中的信息。使用方式与 ServletContext一致。
常用方法有:
application.setAttribute("name","value");
application.getAttribute("name");
application.removeAttribute("name");
application.getRealPath("/a.txt");
pageContext对象
pageContext是jsp页面的上下文对象,pageContext对象能够存取jsp其他隐含对象。
pageContext对象存取其他隐含对象属性的方法,此时需要指定范围的参数
Object getAttribute(String name, int scope)
Enumeration getAttributeNamesInScope(int scope)
void removeAttribute(String name, int scope)
void setAttribute(String name, Object value, int scope)
注意:范围参数有四个,分别代表四种范围:
PageContext.PAGE_SCOPE:从当前页面的 PageContext中取属性
PageContext.REQUEST_SCOPE:从ServletRequest中取属性
PageContext.SESSION_SCOPE:从HttpSession中取属性
PageContext.APPLICATION_SCOPE:从ServletContext中取属性
pageContext对象取得其他隐含对象的方法
Exception getException( )回传目前网页的异常,不过此网页要为error page,
JspWriter getOut( )回传目前网页的输出流,例如:out
Object getPage( )回传目前网页的Servlet 实体(instance),例如:page
ServletRequest getRequest( )回传目前网页的请求,例如:request
ServletResponse getResponse( )回传目前网页的响应,例如:response
ServletConfig getServletConfig( )回传目前此网页的ServletConfig 对象,例如:config
ServletContext getServletContext( ) 回传目前此网页的执行环境(context),例如:application
HttpSession getSession( )回传和目前网页有联系的会话(session),例如:session
exception对象
被调用的错误页面的结果,只有在错误页面中才可使用,
即在页面指令中设置:<%@page isErrorPage=“true”%>
常用方法:
getMessage( )
getLocalizedMessage( )
printStackTrace(new java.io.PrintWriter(out))
阅读全文
0 0
- JSP 9大隐含对象
- jsp 九大隐含对象
- jsp九大隐含对象
- JSP九大隐含对象介绍
- 第二十八天 jsp九大隐含对象
- JSP九大隐含对象中的Exception
- jsp 9个隐含对象
- jsp中9大隐含对象的定义及获得(jsp底层)
- JSP的九大内置对象(隐含对象)
- jsp中的九大隐含对象和EL中的隐含对象
- jsp中的九大隐含对象和EL中的隐含对象
- JSP页面中的9个隐含对象
- JavaWeb JSP 9个隐含对象
- JSP页面的9个隐含对象
- JSP中的隐含对象
- JSP中的隐含对象
- JSP-隐含对象--pageContext
- JSP--隐含对象--exception
- UE4学习(一)学习方法
- 《UNIX网络编程 卷2》 笔记: 共享内存区介绍
- MongoDB&C++开发 (二) 基本概念
- 单个复选框选中状态改变时区别传送的数据(小技巧)
- EDA与VHDL作业(5)- 1
- JSP 9大隐含对象
- 第一个hibernate应用程序
- Stirling数
- caioj1400【差分约束(模版)】区间
- 本地安装python包的方法
- "check the manual that corresponds to your MySQL server version for the right syntax to use“解决
- 【必备】Visual Studio 开发环境配置宝册
- 第一篇博客
- 莫比乌斯反演入门「转载」