文档章节

JSP九大对象

chape
 chape
发布于 2013/04/20 23:37
字数 2525
阅读 94
收藏 2

      在JSP中,因为对部分Java对象作了声明,因此即使不重新声明这些对象,也可以调用,这些内置对象起到简化页面的作用,不需要由开发人员进行实例化,它们由容器实现和管理,在所有的Jsp页面中都能使用内置对象,内置对象在Jsp初始化时生成,可以利用这些对象制作多种JavaWeb应用程序

一 out对象

主要用来向客户端输出各种数据类型内容,并且管理应用服务器上的输出缓冲区。

out.print()//输出数据
out.newLine()//输出一个换行符
out.flush()//输出缓冲区里的数据
out.close()//关闭输出流
out.clearBuffer()//清除缓冲区里的数据,并把数据输出到客户端
out.clear()//清除缓冲区里的数据,但不会把数据输出到客户端
out.getBufferSize()//获得缓冲区大小
out.getRemaining()//获得缓冲区中没有被占用的空间大小
out.isAutoFlush()//返回布尔值。如果AutoFlush为真 则返回真。

二 page对象

      page对象是为了执行应答请求和设置的Servlet类的实体,即显示JSP页面自身,只有在JSP页面内才是合法的。Page隐含对象本质上包含当前Servlet接口引用的变量,可以看作是this变量的别名,因此该对象对于开发JSP比较有用

page.getClass()//获得page对象的类
page.hashCode()//获得page对象的hash码
page.toString()//将此page对象转换为String类对象
page.notify()//唤醒一个等待的进程
page.notifyAll()//唤醒所有等待的进程
page.wait()//使一个线程处于等待直到被唤醒
page.wait(long timeout)//使一个线程处于等待直到timeout或被唤醒

三 request对象

     requeset对象是从客户端向服务器发出的请求,可以通过这个对象了解客户端信息

isUserInRole(String role) 判断认证后的用户是否属于逻辑的role中的成员
getAttribute(String name) 返回由name指定的属性值。若不存在则为空
getAttributes()返回request对象的所有属性的名字集合,其结果是一个枚举的实例。
getCookies() 返回客户端的所有Cookie对象,结果是一个Cookie数组。
getCharacterEncoding() 返回请求中的字符编码方式。
getContentLength() 返回请求的Body的长度,如果不确定长度,返回-1
getHeader(String name) 获得HTTP协议定义的文件头信息
getHeaders(String name)    返回指定名字的request Header的所有值,其结果是一个枚举的
getHeaderNames()返回所有request Header的名字 ,其结果是一个枚举实例。
getInputStream() 返回请求的输入流,用于获得请求中的数据
getMethod() 获得客户端向服务器端传送数据的方法,如GET,POST,HEADER,TRACE等。
getParameter(String name)获得客户端传送给服务器端的参数值。
getParameterNames() 获得客户端传送给服务器端的所有参数名字,其结果是一个枚举的实例
getParameterValues(String name) 获得指定参数的所有值。
getProtocol() 获取客户端向服务器端传送数据所依据的协议名称
getQueryString()    获得查询字符串,该字符串是由客户端以GET方式向服务器端传送的
getRequestURI() 获取发出请求字符串的客户端地址
getRemoteAddr() 获取客户端IP地址
getRemoteHost() 获取客户端名字 
getSession([Boolean create]) 返回和请求相关的session。create参数是可选的。当有参数create且这个参数值为true时,如果客户端还没有创建session,那么将创建一个新的session。
getServerName() 获取服务器的名字
getServletPath()    获取客户端所请求的脚本文件的文件路径
getServerPort() 获取服务器的端口号
removeAttribute(String name) 删除请求中的一个属性
setAttribute(String name, java.lang.Object obj) 设置request的参数值

四 response对象

      response对象和request对象的性质相反,它所包含的是服务器向客户端做出的应答信息.实现过程中response被包装成HttpServletResponse接口,它包装了JSP产生的响应,然后被发送到客户端以响应客户端的请求

addCookie(Cookie cook) 添加一个Cookie对象,用来保存客户端的用户信息
addHeader(String name,String value) 添加HTTP文件头信息。该Header信息将传达到客户端,如果已经存在同名的则会覆盖
containsHeader(String name) 判断指定字句的Header是否已经存在,返回真假
encodeURL() 使用sessionId封装URL。如果没有封装URL则返回原值
flushBuffer() 强制把当前缓冲区的内容发送到客户端
getBufferSize() 返回缓冲区的大小
getOutputStream() 返回到客户端的输出流
sendError(int)    向客户端发送错误信息。如404 指网页不存在 
sendRedirect(String location) 把响应发送到另一个位置 进行处理 即请求重定向
setContent(String contentType) 设置响应的MIME类型
getWriter() 此方法返回一个PrintWriter对象
getCharacterEncoding() 该方法获得此时相应所采用的字符编码类型
setDateHeader(String name,heaername,long date)把指定的头名称以及日期设置为响应头信息 其值是从新纪元算起的毫秒数
setHeader(String name,String value) 设置指定名字的HTTP文件头的值,若存在则会覆盖。

五 session对象

session是用于保护客户端信息而分配给客户的对象

getAttribute()获取与指定名字相联系的属性
getAttributeNames()session对象中存储的每一个对象,其结果为一个枚举的实例
getCreateTime()    返回session的创建时间,最小单位这千分之一秒
getId()    返回唯一的标识,每个session的ID是不同的
getLastAccessedTime()返回和当前session对象相关的客户端最后发送的请求时间
setMaxInactiveInterval(int number)该方法设定保存session数据的时间,参数number为秒数
getMaxInactiveInterval()    返回决时间,负值表示session永远不会过期。它的值为session的生存时间
invalidate() 销毁这个对象,
isNew() 如果客户端不接受使用session,那么每个请求中都会产生一个session对象。
removeAttribute(String name) 删除与指定名字相联系的属性
setAttribute(String name,java.langObject obj) 设置指定名字的属性值 并将 其存储在session中。

六 application对象

application用来保存所有应用系统中的公有数据。

getAttribute(String name)返回指定名字的application对象的属性的值
getAttributeNames() 返回所有应用程序级对象的属性的名字 ,其结果为枚举的实例
getInitParameter(String name) 返回由指定名字的application对象的某个属性的初始值
getServletInfo() 返回Servlet编译器的当前版本的信息
setAttribute(String name,Object obj) 设置 指定名字的application对象的属性的值 
removeAttribute(string Key)通过关键字来删除一个对象的信息
getRealPath(String path)返回虚拟路径的真实路径
getContext(String URLPath)返回执行Web应用的application对象
getMajorVersion() 返回服务器支持的Servlet API最大版本号
getMinorVersion()返回服务器支持的Servlet API最小版本号
getMimeType(String file)返回指定文件的MIME类型
getResource(String path) 返回指定资源的输入流
getResourceDispathcher(String URLPath)返回指定资源的RequestDispathcher
getServlet(String name) 返回 指定名称的servlet
getServlets() 返回所有的Servlet,返回类型为枚举型
getServletNames()  返回所有的Servlet名称,返回类型为枚举型
log(String msg) 把指定信息写入到Servlet的日志文件中
log(String msg,Throwable throwable)把轨迹以及给出的Throwable异常说明信息写入Servlet的日志文件

七 config对象

      config对象被封装成javax.servlet.ServletConfig接口.标识servlet的配置。当一个servlet初始化时,容器把某些信息通过此对象传递给servlet

getServletContext() 返回执行者的Servlet上下文
getServletName()返回Servlet的名字
getInitParameter(String name) 返回名字为name的初始参数的值
getInitParameterNames() 返回这个JSP的所有的初始参数的名字

八 pageContext对象

      pageContext对象提供存取所有关于jsp程序执行时期所要用到的属性方法,他被封装成java.servlet.jap.pageContext接口,它的创建和初始化都是容器来完成的,jsp页面里可以直接使用pageContext对象的句柄,pageContext对象的getXXX()、setXXX()和findXXX()方法可以用来根据不同的对象范围实现对这些对象的管理

forward(String UriPath) 重定向
getAttribute(String name,[int scope] )    scope可选。用来检索一个特定的已经 命名的对象的范围,并且还可以通过调用 getAttributeNamesInScope()方法 ,检索对鞭个特定范围的每个属性String字符串名称的枚举。
getException()返回当前的exception对象
getRequest()返回当前的request对象
getResponse()返回当前的response对象
getServletConfig()返回当前页面的ServletConfig对象
getServletContext()返回ServletContext对象。这个对象对所有页面都是共享的
getSession() 返回当前的session对象
findAttribute() 可以用来按照页面,请求,会话以及应用程序范围顺序实现对某个已经命名的属性的搜索。
setAttribute() 可以用来设置默认页面范围或特定范围之中的已命名对象。removeAttribute()可以用来删除默认范围或特定范围内的已命名对象

九 exception对象

      exception指的是Web应用程序能够识别并处理的问题,在Java中利用明为try/catch的关键字来处理异常情况,如果在JSP页面中没有捕捉到的异常,就会生成exception对象,并把这个exception对象传送到在page指令中设定的错误页面中,然后在错误提示页面中处理相应的exception对象

exception对象只有在错误页面(在页面指令里有isErrorPage=true的页面)才可以使用
getMessage()//获取异常消息字符串
getLocalizeMessage()//获取本地化语言的异常错误
printStackTrace()//显示异常的栈跟踪轨迹
toString()//返回关于异常错误的简单消息描述
fillInStackTrace()//重写异常错误的栈执行轨迹

© 著作权归作者所有

共有 人打赏支持
chape
粉丝 157
博文 339
码字总数 191349
作品 0
成都
程序员
私信 提问
servlet/jsp基础复习

servlet就是一个普通的Java类,类对象由服务器(容器)创建,实现请求,响应交互数据。 实现第一个servlet继承HTTPservlet重写doget,dopost方法。其实servlet执行处理请求时候都会调用父类s...

hello_hp
2017/10/20
0
0
七、JSP九大内置对象和四个作用域

九大内置对象: request:类型是HttpServletRequest,和Servlet里的HttpServletRequest一模一样。 response:类型是HttpServletResponse,和Servlet里的HttpServletResponse一模一样。JSP里基...

Wakeeee_
07/16
0
0
Jsp 和 Servlet 有什么不同?

面试中被问到了 Jsp 和 Servlet 有什么不同?在这里总结分享下。 回答思路先分别进行基本介绍,然后分析说明两者相同点和不同点。 基本介绍 Servlet: Servlet 是一种服务器端的Java应用程序...

几个栗子
08/22
0
0
(JavaEE-08)JSP九大隐式对象

JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用...

_-Leon-_
2014/07/07
0
0
《JSP极简教程》在jsp页面获取session对象

两种方法 1、request.getSession().getAttribute("X") 2、${sessionScope.X} 九大内置对象 JSP中有九大内置对象,可以直接用session,也可以获取从request中取,其本质都是同一个。九大内置对...

程序员诗人
2017/03/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

php获取客户端IP

php获取客户端IP 首先先阅读关于IP真实性安全的文章:如何正確的取得使用者 IP? 「任何從客戶端取得的資料都是不可信任的!」 HTTP_CLIENT_IP头是有的,但未成标准,不一定服务器都实现。 ...

DrChenXX
24分钟前
0
0
. The valid characters are defined in RFC 7230 and RFC 问题

通过这里的回答,我们可以知道: Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,添加了对于http头的验证。 具体来说,就是添加了些规则去限制HTTP头的规范性 参考这里 具体来说: org.apache.tom...

west_coast
42分钟前
1
0
刷leetcode第704题-二分查找

今天双十一买的算法书到货了,路上刷到有人说的这个题,借(chao)鉴(xi)一下别人的思路,这个是C++标准库里面的经典方法,思路精巧,优雅好品味 int search(int* nums, int numsSize, in...

锟斤拷烫烫烫
今天
1
0
【分享实录】BANCOR算法详解及代码实现

1 活动基本信息 1)主题:【区块链技术工坊22期】BANCOR算法详解及代码实现 2)议题: BANCOR算法的特点和优劣势 BANCOR算法和举例 如何加入BANCOR.NETWORK交易所 如何开发自己的BANCOR去中心...

HiBlock
今天
2
0
微信小程序(2)

开始看微信小程序的教程了。刚刚看完官方教程的视图层部分。这里摘录一些自己认为的部分关键点。 1.直接修改数值无法重新渲染,需要使用setData()方法; 2.列表渲染中:wx:key用于保持项目在...

MKjy
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部