这篇博客将9大对象的剩下的对象部分全部讲掉。
E、Application内置对象
Application对象直接包装了servlet的ServletContext类的对象,是javax.servlet.ServletContext 类的实例。这个对象在JSP页面的整个生命周期中都代表着这个JSP页面。这个对象在JSP页面初始化时被创建,随着jspDestroy()方法的调用而被移除。通过向Application中添加属性,则所有组成web应用的JSP文件都能访问到这些属性。
JSP内置对象Application:
1、Application对象实现了用户间数据的共享,可存放全局变量;
2、Application开始于服务器的启动,终止于服务器的关闭;
3、在用户的前后连接或不同用户之间的连接中,可以对Application对象的同一属性进行操作;
4、在任何地方对Application对象属性的操作,都将影响其他用户对此的访问;
5、Application对象是ServletContext类的实例;
JSP内置对象Application常用方法:
(1)public void setAttribute(String name, Object value) 使用指定名称将对象绑定到此会话(为此会话添加application对象属性)
(2)public Object getAttribute(String name) 返回此次会话中指定名称的对象。如果没有对象绑定在该名称,则返回null
(3)Enumeration getAttributeNames() 返回所有可用属性名的枚举
(4)String getServerInfo() 返回JSP(SERVLET)引擎名及版本号
代码演示:
<body> <h1>application内置对象</h1> <% application.setAttribute("city", "北京"); application.setAttribute("postcode", "10000"); application.setAttribute("email", "[email protected]"); %> 所在城市是:<%=application.getAttribute("city") %><br> application中的属性有:<% Enumeration attributes = application.getAttributeNames(); while(attributes.hasMoreElements()) { out.println(attributes.nextElement()+" "); } %><br> JSP(SERVLET)引擎名及版本号:<%=application.getServerInfo() %><br> </body>
结果显示:
session ID信息如下:
F、page对象
这个对象就是页面实例的引用。它可以被看做是整个JSP页面的代表。
JSP内置对象-page:
(1)JSP对象是java.lang.Object类的实例。
(2)page对象指向当前JSP页面本身,有点类似this指针。
代码演示:
<body> <h1>page内置对象</h1> 当前page页面对象的字符串描述:<%=page.toString() %><br> </body>
结果显示
--------------后面几个对象由于用的不多,这里我就总结了对象的方法,没有用实例去演示了。--------------------
G、pageContext对象
pageContext对象是javax.servlet.jsp.PageContext 类的实例,用来代表整个JSP页面。
这个对象主要用来访问页面信息,同时过滤掉大部分实现细节。
这个对象存储了request对象和response对象的引用。application对象,config对象,session对象,out对象可以通过访问这个对象的属性来导出。
常用方法:
JspWriter getOut(); //返回当前客户端响应被使用的JspWriter流(out)
HttpSession getSession(); //返回当前页面中HttpSession对象(session)
Object getPage(); //返回当前页面的Object对象(Object)
ServeletRequest getRequest(); //返回当前页面的ServletRequest对象(request)
ServeletResponse getResponse(); //返回当前页面的ServletResponse对象(response)
void setAttribute(String name,Object attribute); //设置属性及属性值
void getAttribute(String name,int scope); //在指定范围内取属性的值
int getAttributeScope(String name); //返回某属性的作用范围
void forward(String relativeUrlPath); //使当前页面重导到另一页面
void include(String relativeUrlPath); //在当前位置包含另一文件
H、Config对象
config对象是一个Servlet超初始化是,Jsp引擎向他传递信息用的,Servlet初始化是所要用到的参数
(通常属性名和属性构成)以及服务器有关的信息(通常传递一个ServletContext对象),常用方法如下
ServletContext getServletContext()返回一个含有服务器有关Servlet有关信息的ServletContext对象
String getInitParameter(String name)返回初始化参数的值
Enumeration getInitParameterNames()返回Servlet初始化所需要参数的枚举
I、内置对象exception
产生异常的页面page语句加上errorPage="指向的异常处理页面";
处理异常的页面page语句加上isErrorPage="true"来接收异常;
常用方法:
(1)String getMessage()返回异常消息;
(2)String toString()返回异常的字符串描述;
(3)void printStackTrace()显示异常及其栈轨迹
(4)Throwable FillinStackTrace()重写异常的执行栈轨迹