JSP内置9个对象
来源:互联网 发布:cf手游m4a1 数据 编辑:程序博客网 时间:2024/05/18 03:13
第一个问题: JSP有多少类内置对象?
要想回答好这个问题,首先是对JSP的基本知识和技术有深刻的理解和掌握。主要有九个
内置对象:application对象,config对象,exception对象,out对象,page对象,pageContext对象,request对象,reponse对象,session对象。
(1)application对象:javax.servlet.ServletContext的实例。该实例代表JSP所属的Web应用本身,可用于JSP或者Servlet之间交换信息。
(2)config对象:javax.servlet.ServletConfig的实例,该实例代表JSP的配置信息,事实上,JSP页面通常无须配置,也就不存在配置信息了。更多的在Servlet中使用。
(3)exception对象:java.lang.Throwable的实例,只有当页面是错误处理页面,即编译指令page的isErrorPage属性为true时候,该属性才可以使用。
(4)out对象:javax..servlet.jsp.JspWriter的实例,该实例代表JSP页面的输出流,用于输出内容,形成HTML页面。<%= %>表达式的本质就是out.writer方法
(5)page对象:代表该页面本身,通常没有多少作用的。也就是servlet中的this。
(6)pageContext对象:PageContext的实例,该实例代表JSP页面上下文,使用该对象可以访问页面的共享数据。常用的方法为:getServletContext和getServletConfig方法。详细介绍见下面内容。
(7)request对象:javax.servlet.http.HttpServletRequest的实例,该对象封装了一次请求,客户端的请求参数都将封装到该对象里面。
(8)reponse对象:javax.servlet.http.HttpServletReponse的实例,代表了服务器对客户端的响应,通常很少使用该对象直接响应,而是使用out对象,除非需要生成非字符响应。而response对象常用于重定向,常用的方法是getOutStream,sendRedirect方法等
(9)session对象:javax.servlet.http.HttpServletReponse的实例,代表一次回话。当客户端浏览器与站点建立连接时候,会话开始;当客户端关闭浏览器时,回话结束。
JSP中九大内置对象为:
request 请求对象 类型 javax.servlet.ServletRequest 作用域 Request
response 响应对象 类型 javax.servlet.SrvletResponse 作用域 Page
pageContext 页面上下文对象 类型 javax.servlet.jsp.PageContext 作用域 Page
session 会话对象 类型 javax.servlet.http.HttpSession 作用域 Session
application 应用程序对象 类型 javax.servlet.ServletContext 作用域 Application
out 输出对象 类型 javax.servlet.jsp.JspWriter 作用域 Page
config 配置对象 类型 javax.servlet.ServletConfig 作用域 Page
page 页面对象 类型 javax.lang.Object 作用域 Page
exception 例外对象 类型 javax.lang.Throwable 作用域 page
第二个问题:JSP的内置对象都是什么类型的?这些对象的作用是什么?它们常用的方法是什么呢?
(1)application对象:javax.servlet.ServletContext的实例。该实例代表JSP所属的Web应用本身,可用于JSP或者Servlet之间交换信息。常用的方法有:
方法
返回值类型
方法说明
getMajorVersion()
int
获取主要的Servlet API版本
getMinorVersion()
int
获取次要的Servlet API版本
getServerInfo()
String
获取服务器版本
getMimeType()
String
获取指定文件的MIME类型
getContext()
ServerContext
获取指定Local的Application context
getRealPath
String
获取指定path的绝对路径
getInitParameter(name)
String
获取Servlet初始化参数
getInitParameter(String paramName)用来获取Web应用的配置参数,这些配置参数应该在Web.xml文件中使用context-param元素配置,每个<context-param../>元素配置一个参数。
注意:每个Web应用只有一个ServletContext实例,在JSP页面可以通过application内置对象访问该实例,而在Servlet中则必须通过代码获取:ServletContext sc= getServletConfig().get ServletContext();
(2)config对象:javax.servlet.ServletConfig的实例,该实例代表JSP的配置信息,事实上,JSP页面通常无须配置,也就不存在配置信息了。更多的在Servlet中使用。
方法
返回值类型
方法说明
getInitParameter(name)
String
获取Servlet初始化参数
getInitParameterNames()
Enumeration
获取Servlet所有初始化参数名称
getServletContext()
ServletContext
获取当前Application context
getServletName()
String
获取Servlet名称
(3)exception对象:java.lang.Throwable的实例,只有当页面是错误处理页面,即编译指令page的isErrorPage属性为true时候,该属性才可以使用。
(4)out对象:javax..servlet.jsp.JspWriter的实例,该实例代表JSP页面的输出流,用于输出内容,形成HTML页面。<%= %>表达式的本质就是out.writer方法。
方法
返回值类型
方法说明
clear()
void
清除网页上输出内容
clearBuffer()
void
清除缓冲区内容
close()
void
关闭缓冲区,清除所有内容
getBufferSize()
int
取得缓冲区大小
getRemaining()
int
取得缓冲区剩余大小
isAutoFulsh()
boolean
获得缓冲区是否进行自动清除的信息
print(String str)
void
进行页面输出
println(String str)
void
进行页面输出并换行
(5)page对象:代表该页面本身,通常没有多少作用的。也就是servlet中的this。
(6)pageContext对象:PageContext的实例,该实例代表JSP页面上下文,使用该对象可以访问页面的共享数据。常用的方法为:getServletContext和getServletConfig方法。详细介绍见下面内容。
(7)request对象:javax.servlet.http.HttpServletRequest的实例,该对象封装了一次请求,客户端的请求参数都将封装到该对象里面。获得参数的方法有:
方法
返回值类型
方法说明
getParameter(String name)
String
获取参数名为name的参数值
getParameterNames()
Enumeration
获取所有参数的名称,可与上一个方法合用获取所有参数的值
getParameterValues(String name)
String[]
获取参数名为name的所有参数,比如参数是多个checkbox
getParameterMap()
Map
获取所有参数封装的Map实例,通过Map实例的String[] get(“id”)方法返回对应参数名为id的值数组
其他的方法有:
方法
返回值类型
方法说明
getHeader(String name)
String
获取指定标题名称为name的标头
getHeaderName()
Enumeration
获取所有的标头名称
getIntHeader(String name)
int
获取标题名称为name的标头,内容以整数类型返回
getDateHeader(String name)
long
获取标题名称为name的标头,内容以日期类型返回
getCookies()
Cookie
获取相关的Cookie
getContextPath()
String
获取Context的路径
getMethod()
String
获取客户端的提交方式
getProtocol()
String
获取使用的HTTP协议
getQueryString()
String
获取请求的字符串
getRequestSessionId()
String
获取客户端的Session ID
getRequestURI()
String
获取请求的URI
getRemoteAddr()
String
获取客户端IP地址
(8)reponse对象:javax.servlet.http.HttpServletReponse的实例,代表了服务器对客户端的响应,通常很少使用该对象直接响应,而是使用out对象,除非需要生成非字符响应。而response对象常用于重定向,常用的方法是getOutStream,sendRedirect方法等。
方法
返回值
方法说明
addCookie(Cookie cookie)
void
addDateHeader(String name,long date)
void
addHeader(String name,String value)
void
addIntHeader(String name,int value)
void
setDateHeader(String name,long date)
void
setHeader(String name,String value)
void
setIntHeader(String name,int value)
void
sendError(int sc)
void
传送状态码
sendError(int sc,String msg)
void
传送状态码和错误信息
setStatus(int sc)
void
设置状态码
sendRedirect(String URL)
void
页面重定向,用来实现页面跳转
注:这里的response对象的sendRedirect(String URL)方法设置页面重定向将改变浏览器地址栏信息,所以也称客户端跳转。
实例1:response对象实现页面的自动刷新:只需要早JSP页面中加上
<%–使用response对象的setIntHeader设置属性Refresh的值(单位为秒)来实现页面自动刷新–%> <% response.addIntHeader(“Refresh”,10); %>
实例2:实现页面自动跳转:可以通过response对象的setHeader()方法添加一个标题为Refresh的标头,并制定页面跳转时间及跳转页面,从而实现页面自动跳转。 <% response.setHeader(“Refresh”,”10;URL=http://www.baidu.com”); %>
这里使用setHeader方法添加一个标题为”Refresh”,值为”10,URL=http://www.baidu.com”的标头。
(9)session对象:javax.servlet.http.HttpServletReponse的实例,代表一次回话。当客户端浏览器与站点建立连接时候,会话开始;当客户端关闭浏览器时,回话结束。
方法
返回值类型
方法说明
getId()
String
获取session的ID
getCreationTime()
long
获取session的生成时间
getLashAccessedTime()
long
获取用户最后通过session发送请求时间
getMaxInactiveInterval()
long
获取session生命周期,如果超过这个时间则失效
invalidate()
void
清空session内容
isNew()
boolean
判断session是否为“新”的
setMaxInactiveInterval()
void
设置session生命周期,如果超过这个时间则失效
第三个问题:JSP内置对象的在什么情况下产生的呢?
一个JSP页面对应一个Servlet类,每个Servlet类有三个方法:
init方法:初始化JSP/Servlet的方法。
destory方法:销毁JSP/Servlet的方法。
service方法:对用户请求产生响应的方法。
request对象和reponse对象是service方法的形参,application对象,page对象,out对象,pageContext对象,session对象都是service的方法里面生成的局部变量。
- JSP 9个内置对象 .
- jsp 9个内置对象!
- jsp内置9个对象
- JSP内置9个对象
- JSP 9个内置对象
- jsp 9个内置对象
- JSP 内置9个对象
- jsp内置9个内置对象
- JSP内置对象(9个常用的内置对象)
- JSP内置对象(9个常用的内置对象)
- JSP内置对象(9个常用的内置对象)
- JSP内置对象(9个常用的内置对象)
- JSP内置对象(9个常用的内置对象)
- JSP内置对象(9个常用的内置对象)
- JSP内置对象(9个常用的内置对象)
- JSP内置对象(9个常用的内置对象)
- JSP内置对象(9个常用的内置对象)
- JSP内置对象(9个常用的内置对象)
- 杭电dp题集,附链接还有解题报告!!!!!
- 向导生成的jsp页面
- JAVA对象转JSON格式的字符串
- Oracle递归查询
- java 与 javaScript 除法及保留有效小数的运算
- JSP内置9个对象
- hibernate脏数据检查
- 免安装Oracle数据的PL/SQL的配置
- 将博客搬至CSDN
- 浅谈C++中内存泄漏的检测
- expdp备份缓慢问题分析
- 软件项目估算与计划
- 深入理解计算机系统第二章家庭作业答案(2.58-2.67)
- c,c++,java中static关键字的比较