jsp隐式对象

主要掌握九个隐式对象:
request    response   out session application  pageContext page config  exception 隐式对象就是不需要我们new的对象,直接的我们就可以在页面使用的对象,注意是在<%...%>里面或者是<%=...%>里面, 

request对象:保存了很多客户端请求的信息。如请求来源,Cookie和客户端请求的相关数据等
request对象的方法:

 

返回值
方法
描叙
object
getAttribute(String name)
返回指定属性的属性值
EnumerationgetAttributeNames()返回所有可用属性名的枚举
StringgetCharacterEncoding()
返回字符编码方式
intgetContentLength()返回请求体的长度(以字节数)
StringgetContentType()
得到请求体的MIME类型
ServletInputStreamgetInputStream()得到请求体中一行的二进制流
StringgetParameter(String name)
 返回name指定参数的参数值   
Enumeration
getParameterNames()
返回可用参数名的枚举
String[]
getParameterValues(String name)
返回包含参数name的所有值的数组
StringgetProtocol() 返回请求用的协议类型及版本号
StringgetScheme() 返回请求用的协议名,如:http.https及ftp
StringgetServerName()返回接受请求的服务器主机名
int getServerPort()返回服务器接受此请求所用的端口号
BufferedReader getReader() 返回解码过了的请求体
StringgetRemoteAddr() 返回发送此请求的客户端IP地址
String
getRemoteHost()返回发送此请求的客户端主机名
voidsetAttribute(String key,Object obj)设置属性的属性值
StringgetRealPath(String path) 返回一虚拟路径的真实路径

response对象生成服务器端响应,然后将响应结果发送到客户端
response.getContentType()  得到响应信息的头信息。
response.sendRedirect(String URL)重新定向页面
out对象:表示输出流,此输出流将作为请求发送到客户端
1.public abstract void clear()
清除缓冲区中的内容,不将数据发送至客户端。

2.public abstract void clearBuffer()
将数据发送至客户端后,清除缓冲区中的内容。

3.public abstarct void close()
关闭输出流。

4.public abstract void flush()
输出缓冲区中的数据。

5.public int getBufferSize()
获取缓冲区的大小。缓冲区的大小可用<%@ page buffer="size" %>设置。

6.public abstract int getRemainning()
获取缓冲区剩余空间的大小

7.public boolean isAutoFlush()
获取用<%@ page is AutoFlush="true/false"%>设置的AutoFlush值。

8.public abstract void newLine()
输出一个换行字符,换一行。

9.public abstract void print()
显示各种数据类型的内容。

10.public abstract void println()
分行显示各种数据类型的内容。



以下的对象是作用域通信对象,主要作用就是来存放对象的。
session对象:将我们写个对象放在这个session对象中,我们写个这个对象就在我们的会话中都存在
使用getAttribute("","")方法来把我们的对象放在session中比如:
Object obj;
session.getAttribute("name",obj); 、、这个地方的name是可以自己写的
我们要取出来的话就写
session.getAttribute("name");然后在强制转换一下,就取出来了
application对象:将我们写个对象放在这个application对象中,我们写个对象就在整个应用程序中都存在
放和取的方法是和session对象一样的
pageContext对象:将我们写个对象放在这个pageContext对象中我们这个页面中存在
放和取的方法是和session对象一样的
******************************************
pageContext对象相当于当前页面的容器,可以访问当前页面的所有对象。
  pageContext对象的常用方法:
  HttpSession getSession()                   取得当前页面的session对象。
  ServletRequest getRequest()              取得当前页面的request对象。
  ServletResponse getResponse( )     取得当前页面的response对象。
  ServletContext getServletContext()     取得当前页面的application对象。
  ServletConfig getServletConfig()        取得当前页面的config对象。
  Object getPage()                                    取得当前页面的page对象。
  JspWriter getOut()                                 取得当前页面的out对象。
  Exception getException()                     取得当前页面的exception对象。

 

 

以下这些对象在实际运用中page,config,exception对象用的很少.
paget对象:一般我们使用Page指令来替代使用这个对象
config对象:一样的我们在页面中是使用很少的,一般会在Servlet中使用这个
exception对象:用来处理异常的,
下面为这个exception对象来举个列子;
我有两个页面page1.jsp和page2.jsp
page1.jsp的代码
<%@ page contentType="text/html; charset=GBK" errorPage="page2.jsp" %>
<html>
<head>
<title>
page1
</title>
</head>
<body >
<h1>
<%=(3/0)%>
</body>
</html>
显然这个页面是有异常的就是我用绿色标出的地方,那么我在红色写的地方就是表示只要这个页面有异常就自动跳到page2.jsp中。
现在这个page2.jsp就是刚才page1.jsp出错的时候跳过来的,所以我的page2.jsp一定要指定为错误页面,也就是红色地方,
这样我就可以在页面写上<%=exception.toString() %>,他就显示在page1.jsp上的异常信息了,
page2.jsp的代码
<%@ page contentType="text/html; charset=GBK" isErrorPage="true" %>
<html>
<head>
</head>
<body bgcolor="#ffffff">
<h1>程序发生了错误</h1>
<%=exception.toString() %>
</body>
</html>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值