JSP内置对象详细介绍(上)<转载>

第一个问题: JSP有多少类内置对象?

要想回答好这个问题,首先是对JSP的基本知识和技术有深刻的理解和掌握。主要有九个

内置对象:application对象,config对象,exception对象,out对象,page对象,pageContext对象,request对象,reponse对象,session对象。

第二个问题: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的方法里面生成的局部变量。

转载请注明:Struts教程网_汇聚人的力量,做中国最全面的Struts教程。 ? JSP内置对象详细介绍(上)

时间: 2024-08-02 07:02:09

JSP内置对象详细介绍(上)<转载>的相关文章

【转】JSP内置对象详细介绍(上)

第一个问题: JSP有多少类内置对象? 要想回答好这个问题,首先是对JSP的基本知识和技术有深刻的理解和掌握.主要有九个 内置对象:application对象,config对象,exception对象,out对象,page对象,pageContext对象,request对象,reponse对象,session对象. 第二个问题:JSP的内置对象都是什么类型的?这些对象的作用是什么?它们常用的方法是什么呢? (1)application对象:javax.servlet.ServletContext

【转】JSP内置对象详细介绍(下)

第四个问题:Servlet的生命周期是什么呢? Servlet的生命周期,简单的概括分为四步:servlet类加载->实例化->服务->销毁.Servlet实例化的步骤: 1.Servlet容器启动时:读取Web.xml配置文件中的信息,构造指定的Servlet对象,创建ServletConfig对象,同时将ServletConfig对象作为参数来调用Servlet对象的init方法. 2.在Servlet容器启动后:客户首次向Servlet发出请求,Servlet容器会 判断内存中是否

JSP内置对象(上)

在JSP中为了简化页面的开发提供了一些内置的对象.这些对象不需要由JSP的编写者通过new关键字实例化,他们都由容器实现和管理,在所有的JSP页面中都可以使用内置对象. JSP中共有9大内置对象: out对象 requset对象 response对象 session对象 pageContext对象 application对象 config对象 page对象 exception对象 JSP内置对象(下):http://wxmimperio.coding.io/?p=329 PS: [web对象的请

【JavaWeb】学习笔记五 JSP内置对象(上)

1.常用的JSP内置对象 2.out对象 out对象是JspWriter类的实例,是向客户端输出内容常用的对象 编号 方法 说明 1 void clear() 清除缓冲区的内容 2 void clearBuffer() 清除缓冲区的当前内容 3 void flush() 清空流 4 int getBufferSize() 返回缓冲区以字节数的大小,如不设缓冲区则为0 5 int getRemaining() 返回缓冲区还剩余多少可用 6 boolean isAutoFlush() 返回缓冲区满时

JavaWeb学习(三)----JSP内置对象详解

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4065790.html 联系方式:[email protected] [系列]JSP学习系列文章:(持续更新) JavaWeb学习(一)----JSP简介及入门(含Tomcat的使用) JavaWeb学习(二)----JSP脚本元素.指令元素.动作元素 JavaWeb学习(三)----JSP内置对象

转:jsp内置对象中page与pageContext与el内置对象pageScope与pageContext区别

原文地址:jsp内置对象中page与pageContext与el内置对象pageScope与pageContext区别 首先说明一下jsp9大内置对象 (1)HttpSession类的session对象作用:主要用于来分别保存每个用户信息,与请求关联的会话:         会话状态维持是Web应用开发者必须面对的问题.(2) HttpServletRequest类的request对象作用:代表请求对象,主要用于接受客户端通过HTTP协议连接传输到服务器端的数据.(3) HttpServletR

JSP内置对象详解

jsp中内置对象:request.response.session.applecation.out.pagecontesx.config.page.exception.cookie 1.request:是javax.servlet.httpservletRequest类型的对象,该对象是用户客户端的请求信息,主要用户接受客户端通过http协议传送到服务器的数据! (包括头部信息.系统信息.请求方式以及请求信息参数),jsp内置对象Web容器所创建的一组对象! 生命周期:jsp发出请求一个requ

JSP内置对象——九大内置对象简介与四种作用域范围以及Web程序的请求和响应模式

最近在学习JSP相关基础知识,我们都知道JSP当中存在一组不使用new关键字就可以在脚本和表达式中使用的对象,在Web开发中经常使用.为了能更好的理解这些对象,在此对JSP内置对象作一些归纳. 目录: JSP内置对象——九大内置对象简介与四种作用域范围以及Web程序的请求和响应模式 JSP内置对象——out(待更新) JSP内置对象——request/response(待更新) JSP内置对象——session(待更新) JSP内置对象——application(待更新) JSP内置对象——其他

Jsp内置对象的简单说明

声明 实习森的理解层次,希望有错大家一起纠正 本文主要信息来自网友共享的一个JSPAPI,不是特别全,只是对jsp内置对象进行了简单的介绍,这里我总结了一下 正文 Jsp主要内置了9个对象,分别为:Application.Exception.Out.PageContext.Page.Request.Response.Session以及Config,详细如下: Application对象 基础介绍: Application对象实现了不同用户之间的数据共享,声明周期最长了,服务器启动的时候,Appl