今天爱分享给大家带来举出几个 JSP 的内置对象,写出它们的 1-2 个重要方法?【面试题详解】,希望能够帮助到大家。
request, response, out, session, application, config, pagecontext, page, exception. 一.request 对象:
该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使
用该对象可以获取用户提交信息。
例如: request.getParameter(“myVar”);
二.response 对象:
对客户的请求做出动态的响应,向客户端发送数据。例如:
PrintWriter out = response.getWriter();
out.println(“hello!”);
三.session 对象
1.什么是 session:session 对象是一个 JSP 内置对象,它在第一个 JSP 页面被装载时自动
创建,完成会话期管理。
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,
被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间
反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需
要 session 对象。
2.session 对象的 ID:当一个客户首次访问服务器上的一个 JSP 页面时,JSP 引擎产生
一个 session 对象,同时分配一个 String 类型的 ID 号,JSP 引擎同时将这个 ID 号发送
到客户端,存放在 Cookie 中,这样 session 对象和客户之间就建立了一一对应的关系。
当客户再访问连接该服务器的其他页面时,不再分配给客户新的 session 对象,直到客
户关闭浏览器后,服务器端该客户的 session 对象才取消,并且和客户的会话对应关系
消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的
session 对象。
四.aplication 对象
1.什么是 application:
服务器启动后就产生了这个 application 对象,当客户在所访问的网站的各个页面之间浏
览时,这个 application 对象都是同一个,直到服务器关闭。但是与 session 不同的是,
所有客户的 application 对象都是同一个,即所有客户共享这个内置的 application 对象。
2.application 对象常用方法:
(1)public void setAttribute(String key,Object obj): 将参数 Object 指定的对象 obj 添加到
application 对象中,并为添加的对象指定一个索引关键字。
(2)public Object getAttribute(String key): 获取 application 对象中含有关键字的对象。
五.out 对象
out 对象是一个输出流,用来向客户端输出数据。out 对象用于各种数据的输出。
六•page 对象
对应 this 关键字。JSP 网页本身
page 对象是当前页面转换后的 Servlet 类的实例。从转换后的 Servlet 类的代码中,可以
看到这种关系:
Object page = this;
在 JSP 页面中,很少使用 page 对象。
七• config
javax.servlet. ServletConfig 的实例,该实例代表该 JSP 的配置信息。常用的方法有
getInitPararneter(String paramNarne) 及 getInitPararneternarnes() 等方法。事实上, JSP
页面通常无须配置,也就不存在配置信息。因此,该对象更多地在 Servlet 中有效。
八• exception
java.lang.Throwable 的实例,该实例代表其他页面中的异常和错误。只有当页面是错误
处理页面,即编译指令 page 的 isErrorPage 属性为 true 时,该对象才可以使用。常用
的方法有 getMessageO 和 printStackTraceO 等。
九• pageContext
javax.servlet.jsp.PageContext 的实例,该对象代表该 JSP 页面上下文,使用该对象可以
访问页面中的共享数据。常用的方法有 getServletContextO 和 getServletConfigO 等。
//使用 pageContext 设置属性,该属性默认在 page 范围内
pageContext. setAttribute (“page” , “hello”) ;
//使用 request 设置属性,该属性默认在 request 范围内
request. setAttribute (“request” , “hello”);
//使用 pageContext 将属性设置在 request 范围中
pageContext.setAttribute(“request2” , “hello” , pageContext.REQUEST_SCOPE);
// 使用 session 将属性设置在 session 范围中
session.setAttribute(“session” , “hello”l;
//使用 pageContext 将属性设置在 session 范围中
pageContext.setAttribute(“session2” , “hello” , pageContext.SESSION_SCOPE);
//使用 application 将属性设置在 application 范围中
application. setAttribute (“app” , “hello”) ;
//使用 pageContext 将属性设置在 application 范围中
pageContext.setAttribute(“app2” , “hello” , pageContext.APPL 工 CATION_SCOPE) ;