面试题6.jsp中的四个作用域,九个内置对象分别是什么?

四个作用域

pageContext, request, sessionapplication

1. 输出输入对象:request对象、response对象、out对象

2. 通信控制对象:pageContext对象、session对象、application对象

3. Servlet对象:page对象、config对象

4. 错误处理对象:exception对象

page 当前页面有效时间最短(页面执行期)

request HTTP请求开始到结束这段时间

session HTTP会话开始到结束这段时间

application 服务器启动到停止这段时间

  out:所属类JspWriter

  request:实现了HttpServletRequest接口(此接口继承于ServletRequest接口)

  response:实现了HttpServletResponse接口(此接口继承于ServletResponse接口)

  session:实现了HttpSession接口

  application对象实现的接口ServletContext 

九个内置对象

  1. out对象:向客户端输出信息

主要有两个方法,print和println,后者不能实现换行  

 举例:输出一段粗体文字

  out.print("<b>这是一段粗体文字</b>");

 我们可以用out.print向客户端输出任何信息,比如说输出一个表格,等等。

 在网页上使用System.out.println(),信息输出到控制台上。

  1. request对象:获取客户端传递到服务器的信息。

  request常用方法举例

  (1)getParameter

     获取客户端传递给服务器的一个参数的值

  (2)getParameterNames

     获取客户端传递给服务器的所有参数的名字

  (3)getParameterValues

     获取一个参数的所有值(比如checkbox的情况)

  (4)setAttribute

  (5)getAttribute            attribute=属性

  (6)removeAttribute

主要用在struts框架中

必须在同一次请求中设置的属性,才能获取到

 (7)getAttributeNames

 (8)getCookies,讲Cookie的时候单独讲

    cookie 小甜饼,把个人信息存放在客户端的一门技术

(9)getCharacterEncoding

  (10)getContentLength

  (11)getMethod

  (12)getRequestURL

  (13)getRemoteAddr

  (14)getServerName

  (13)getServerPort

  (14)getServletPath

  (15)getContextPath

 (16)getHeader,getHeaders,getHeaderNames

   Header:网页头,网页控制信息

   request.getHeader("Referer") 来自的网页

3.response对象: 向客户端浏览器输出信息,对客户的请求做成响应

4.session: 会话失效时间 ,tomcat中默认是30分钟,可以设置。 每个用户的会话空间是隔离的。

5.application 应用对象

 application,session,request:都可以通过setAttribute来设置属性,用getAttribute来获取属性,但是可见范围不一样。

  application对象所设置的属性,所有会话可见,而session对象设置的属性,只有在同一个session中可见。

  同样,前面讲过的request,它所设置的属性,只有在同一次请求之间可见。

 application 不会过期,在整个服务器运行期间都有效,服务器重启后丢失。

  application的其他一些方法:

  application.getRealPath()

 

 

6.page对象

  JSP网页本身,page对象是当前页面转换后的Servlet类的实例。从转换后的Servlet类的代码中,可以看到这种关系:Object page = this;在JSP页面中,很少使用page对象。

7.config对象:主要作用是取得服务器的配置信息。

常用的方法有getInitParameter和getInitParameterNames,以获得Servlet初始化时的参数。

通过 pageConext对象的 getServletConfig() 方法可以获取一个config对象。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。 开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。

8.exception对象

 在可能产生错误的文件中用page指令指定errorpage

 在所指定的errorpage中,设置isErrorPage="true"这个page指令,然后用exception对象获取错误信息。

<%@page errorPage="error.jsp"%>  

session也是需要在页面上设置page指令的。

9.pageContext对象

作用:a.可以用它获取其他八大内置对象的句柄(本身的句柄不用获取)

out pageContext.getOut()

request pageContext.getRequest();

response pageContext.getResponse();

session pageContext.getSession();

application pageContext.getServletContext();

config pageContext.getServletConfig();

exception pageContext.getException();

page pageContext.getPage();

b.可以用它设置或者获取4个不同范围(page,request,session,application)内的变量的值

设置的值只能在本页面内有效

pageContext.setAttribute ("name" , "John") ;

设置的值在同一个request请求中有效。   

pageContext.setAttribute("name" , "John", PageContext.REQUEST_SCOPE))

相当于request.setAttribute("name" , "John");

设置的值在同一个session请求中有效。   

pageContext.setAttribute("name" , "John", PageContext.SESSION_SCOPE))

相当于session.setAttribute("name" , "John");

设置的值在整个应用中有效。   

pageContext.setAttribute("name" , "John", PageContext.APPLICATION_SCOPE))

相当于application.setAttribute("name" , "John");

猜你喜欢

转载自blog.csdn.net/Java123456_/article/details/82834376