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>