`
javababy1
  • 浏览: 1174106 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

JSP九个隐式对象

 
阅读更多

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

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

返回值 方法 描叙
object
getAttribute(String name)
返回指定属性的属性值
Enumeration getAttributeNames() 返回所有可用属性名的枚举
String getCharacterEncoding()
返回字符编码方式
int getContentLength() 返回请求体的长度(以字节数)
String getContentType()
得到请求体的MIME类型
ServletInputStream getInputStream() 得到请求体中一行的二进制流
String getParameter(String name)
返回name指定参数的参数值
Enumeration getParameterNames()
返回可用参数名的枚举
String[]
getParameterValues(String name)
返回包含参数name的所有值的数组
String getProtocol() 返回请求用的协议类型及版本号
String getScheme() 返回请求用的协议名,如:http.https及ftp
String getServerName() 返回接受请求的服务器主机名
int getServerPort() 返回服务器接受此请求所用的端口号
BufferedReader getReader() 返回解码过了的请求体
String getRemoteAddr() 返回发送此请求的客户端IP地址
String getRemoteHost() 返回发送此请求的客户端主机名
void setAttribute(String key,Object obj) 设置属性的属性值
String getRealPath(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>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics