`
阿尔萨斯
  • 浏览: 4145790 次
社区版块
存档分类
最新评论

【面试】JSP9 大内置对象详解

 
阅读更多

内置对象特点:

1.JSP规范提供,不用编写者实例化。

2.通过Web容器实现和管理

3.所有JSP页面均可使用

4.只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%><%使用内置对象%>)

常用内置对象:

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

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

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

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


对象常用方法说明:

1.out对象(数据流javax.servlet.jsp.jspWriter)

方法名

说明

printprintln

输出数据

newLine

输出换行字符

flush

输出缓冲区数据

close

关闭输出流

clear

清除缓冲区中数据,但不输出到客户端

clearBuffer

清除缓冲区中数据,输出到客户端

getBufferSize

获得缓冲区大小

getRemaining

获得缓冲区中没有被占用的空间

isAutoFlush

是否为自动输出

2.request对象(请求信息javax.servlet.http.HttpServletrequest)

方法名

说明

isUserInRole

判断认证后的用户是否属于某一成员组

getAttribute

获取指定属性的值,如该属性值不存在返回Null

getAttributeNames

获取所有属性名的集合

getCookies

获取所有Cookie对象

getCharacterEncoding

获取请求的字符编码方式

getContentLength

返回请求正文的长度,如不确定返回-1

getHeader

获取指定名字报头值

getHeaders

获取指定名字报头的所有值,一个枚举

getHeaderNames

获取所有报头的名字,一个枚举

getInputStream

返回请求输入流,获取请求中的数据

getMethod

获取客户端向服务器端传送数据的方法

getParameter

获取指定名字参数值

getParameterNames

获取所有参数的名字,一个枚举

getParameterValues

获取指定名字参数的所有值

getProtocol

获取客户端向服务器端传送数据的协议名称

getQueryString

获取以get方法向服务器传送的查询字符串

getRequestURI

获取发出请求字符串的客户端地址

getRemoteAddr

获取客户端的IP地址

getRemoteHost

获取客户端的名字

getSession

获取和请求相关的会话

getServerName

获取服务器的名字

getServerPath

获取客户端请求文件的路径

getServerPort

获取服务器的端口号

removeAttribute

删除请求中的一个属性

setAttribute

设置指定名字参数值


3.response对象(响应javax.servlet.http.HttpServletResponse)

方法名

说明

addCookie

添加一个Cookie对象

addHeader

添加Http文件指定名字头信息

containsHeader

判断指定名字Http文件头信息是否存在

encodeURL

使用sessionid封装URL

flushBuffer

强制把当前缓冲区内容发送到客户端

getBufferSize

返回缓冲区大小

getOutputStream

返回到客户端的输出流对象

sendError

向客户端发送错误信息

sendRedirect

把响应发送到另一个位置进行处理

setContentType

设置响应的MIME类型

setHeader

设置指定名字的Http文件头信息

4.session对象(会话javax.servlet.http.HttpSession)

方法名

说明

getAttribute

获取指定名字的属性

getAttributeNames

获取session中全部属性名字,一个枚举

getCreationTime

返回session的创建时间

getId

获取会话标识符

getLastAccessedTime

返回最后发送请求的时间

getMaxInactiveInterval

返回session对象的生存时间单位千分之一秒

invalidate

销毁session对象

isNew

每个请求是否会产生新的session对象

removeAttribute

删除指定名字的属性

setAttribute

设定指定名字的属性值

5.pageContext对象(页面上下文javax.servlet.jsp.PageContext)

方法名

说明

forward

重定向到另一页面或Servlet组件

getAttribute

获取某范围中指定名字的属性值

findAttribute

按范围搜索指定名字的属性

removeAttribute

删除某范围中指定名字的属性

setAttribute

设定某范围中指定名字的属性值

getException

返回当前异常对象

getRequest

返回当前请求对象

getResponse

返回当前响应对象

getServletConfig

返回当前页面的ServletConfig对象

getServletContext

返回所有页面共享的ServletContext对象

getSession

返回当前页面的会话对象

6.application对象(应用程序javax.servlet.ServletContext)

方法名

说明

getAttribute

获取应用对象中指定名字的属性值

getAttributeNames

获取应用对象中所有属性的名字,一个枚举

getInitParameter

返回应用对象中指定名字的初始参数值

getServletInfo

返回Servlet编译器中当前版本信息

setAttribute

设置应用对象中指定名字的属性值

7.config对象(Servlet的配置信息javax.servlet.ServletConfig)

方法名

说明

getServletContext

返回所执行的Servlet的环境对象

getServletName

返回所执行的Servlet的名字

getInitParameter

返回指定名字的初始参数值

getInitParameterNames

返回该JSP中所有的初始参数名,一个枚举

8.page对象(当前JSP的实例,java.lang.object)

它代表JSP被编译成Servlet,可以使用它来调用Servlet类中所定义的方法

9.exception对象(运行时的异常,java.lang.Throwable)

被调用的错误页面的结果,只有在错误页面中才可使用,

即在页面指令中设置:<%@page isErrorPage=true%>

Request(Javax.servlet.ServletRequest)它包含了有关浏览器请求的信息.通过该对象可以获得请求中的头信息、Cookie和请求参数。

Response(Javax.servlet.ServletResponse)作为JSP页面处理结果返回给用户的响应存储在该对象中。并提供了设置响应内容、响应头以及重定向的方法(如cookies,头信息等)

Out(Javax.servlet.jsp.JspWriter)用于将内容写入JSP页面实例的输出流中,提供了几个方法使你能用于向浏览器回送输出结果。

pageContext(Javax.servlet.jsp.PageContext)描述了当前JSP页面的运行环境。可以返回JSP页面的其他隐式对象及其属性的访问,另外,它还实现将控制权从当前页面传输至其他页面的方法。

Session(javax.servlet.http.HttpSession)会话对象存储有关此会话的信息,也可以将属性赋给一个会话,每个属性都有名称和值。会话对象主要用于存储和检索属性值。

Application(javax.servle.ServletContext)存储了运行JSP页面的servlet以及在同一应用程序中的任何Web组件的上下文信息。

Page(Java.lang.Object)表示当前JSP页面的servlet实例

Config(javax.servlet.ServletConfig)该对象用于存取servlet实例的初始化参数。

Exception(Javax.lang.Throwable)在某个页面抛出异常时,将转发至JSP错误页面,提供此对象是为了在JSP中处理错误。只有在错误页面中才可使用<%@page isErrorPage=true%>



  一.request对象:
  该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。
  二.response对象:
  对客户的请求做出动态的响应,向客户端发送数据。
  三.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 java.lang.Object
  对应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) ;

Jsp内置对象

功能

主要方法

out

向客户端输出数据

print() println() flush() clear() isAutoFlush() getBufferSize() close() …………

request

向客户端请求数据

getAttributeNames() getCookies() getParameter() getParameterValues() setAttribute() getServletPath() …………..

response

封装了jsp产生的响应,然后被发送到客户端以响应客户的请求

addCookie() sendRedirect() setContentType()

flushBuffer() getBufferSize() getOutputStream()

sendError() containsHeader()……………

application

config

表示Servlet的配置,当一个Servlet初始化时,容器把某些信息通过此对象传递给这个Servlet

getServletContext() getServletName() getInitParameter() getInitParameterNames()……………

page

Jsp实现类的实例,它是jsp本身,通过这个可以对它进行访问

flush()………

pagecontext

为JSP页面包装页面的上下文。管理对属于JSP中特殊可见部分中己经命名对象的该问

forward() getAttribute() getException() getRequest() getResponse() getServletConfig()

getSession() getServletContext() setAttribute()

removeAttribute() findAttribute() ……………

session

用来保存每个用户的信息,以便跟踪每个用户的操作状态

getAttribute() getId() getAttributeNames() getCreateTime() getMaxInactiveInterval()

invalidate() isNew()

exception

反映运行的异常

getMessage()…………


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics