jsp内置对象

网络整理 - 07-26
1.request对象

  该对象封装了用户提交的信息,通过调用该对象的响应的方法可以获取用户提交的信息。

  当request对象获取用户提交的汉字字符时,会产生乱码,由下面的方法可以解决:

  Sting  s2 = new   String(s1.getBytes("iso8859-1"),"GB2312")进行转换。

request常用的方法:



1.request.getParameter("name"); 获取表单提交的信息

2.request.getProtocol();        获取客户端使用的协议

3.request.getServletPath();     获取客户提交信息的页面

4.request.getMethod();          获取客户提交信息的方法

5.request.getHeader();          获取http消息头中属性的值 如:accept、accept-encoding、host

6.request.getRemoteAddr();      获取客户的ip地址

7.request.getRemoteHost();      获取客户机的名称

8.request.getServerName();      获取服务器的名称

9.request.getServerPort();      获取服务器的端口号

10.request.getParameterNames(); 获取客户端提交的所有参数的名字

response对象的使用方法

对客户的请求作出动态的响应,向客户端发送数据

1.动态响应contentType属性

当一个用户访问一个JSP页面时,如果该页面用page指令设置页面的contentType属性时text/html,那么JSP引擎将按照这个属性值做出反应。如果要动态改变这换个属性值来响应客户,就需要使用Response对象的setContentType(String s)方法来改变contentType的属性值。
格式:response.setContentType(String s);
参数s可取text/html,application/x-msexcel,application/msword等。
2.Response重定向
在某些情况下,当响应客户时,需要将客户重新引导至另一个页面,可以使用Response的sendRedirect(URL)方法实现客户的重定向。例如:
response.sendRedirect("index.jsp");

3.session对象

什么是session对象?

它在第一个jsp页面被加载时自动创建,完成会话期管理,从一个客户打开浏览器并连接服务器开始,到客户关闭浏览器并离开服务器为

止,被称为一个会话,当一个客户访问一个服务器时,可能要在服务器上的几个页面间切换,服务器要知道这是一个客户,这就需要  

session对象。

当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个Session对象,同时分配一个String类型的ID号,JSP引擎同时将这换 个ID号发送到客户端,存放在Cookie中,这样Session对象,直到客户关闭浏览器后,服务器端该客户的Session对象才取消,并且和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的Session对象。

session对象的使用:

● public String getId():获取Session对象编号。
● public void setAttribute(String key,Object obj):将参数Object指定的对象obj添加到Session对象中,并为添加的对象指定一个索引关键字。
● public Object getAttribute(String key):获取Session对象中含有关键字的对象。
● public Boolean isNew():判断是否是一个新的客户。


4.Application对象

服务器启动后就产生了这个Application对象,当客户再所访问的网站的各个页面之间浏览时,这个Application对象都时同一个,直到服务器关闭。但是与Session对象不同的时,所有客户的Application对象都时同一个,即所有客户共享这个内置的Application对象。
Application对象的常用方法
● setAttribute(String key,Object obj):将参数Object指定的对象obj添加到Application对象中,并为添加的对象指定一个索引关键字。
● getAttribute(String key):获取Application对象中含有关键字的对象。



5.out 对象

Out对象时一个输出流,用来向客户端输出数据。Out对象用于各种数据的输出。其常用方法如下。
● out.print():输出各种类型数据。
● out.newLine():输出一个换行符。
● out.close():关闭流。


6.pageContext对象

   网页的属性在这里设置。

  页面上下文对象
  Jsp引入了一个名位PageContext的类,通过它可以访问页面的许多属性。
  PageContext类拥有getRequest,getResponse,getOut,getSession等方法。
  pageContext变量存储与当前页面相关联的PageContext对象的值。
  补:
  如果方法需要访问多个与页面相关的对象,
  传递pageContext要比传递request,response,out等的独立引用更容易。(虽然两种方式都能达到同样的目的)

7.page对象

   一般我们使用page指令来替代使用这个对象。

8.config对象

9.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>