JSP 内置对象 (上)

一共有9个内置对象 

out     管理对客户端的输出  

request   保存客户端的请求信息

response  向客户端发出响应

session    保存会话过程中的信息

application   保存整个应用环境信息

exception 

page   当前 的 jsp 页面本身 ,

pageContext   本  jsp 的上下 文

config   本  JSP 的  servletConfig

1. out 对象 

     可以用out 对象 直接编程生成一个动态的html 文件,达到 显示的目的。

2.  request 对象 

   保存了客户端的请求信息,可以用来得到客户端的参数 和流。

(1)获得客户端的参数 :

  主要有三个方法

String getParameter (String name );
String [ ] getParameterValues(String name );  //以字符 串数组的形式返回。
Enumeration getParameterNames() ;  //获得客户端发送给服务器端的所有的参数名

第三个例子为,

<%
		Enumeration pNames = request.getParameterNames();
		while (pNames.hasMoreElements()) {
			String pName = (String) pNames.nextElement();
			String pValue = request.getParameter(pName);
			if (pValue.contains("%")) {
				out.print("contains %");
				break;
			}
		}
	%>

(2)获得客户端的基本信息

String getMethod ( );

String getRequestURL ( );

String getProtocol ( ) ;

String getServletPath ( );  //获得客户端请求服务 器文件的路径 

String getQueryString ( ) ;//得到 URL 的查询部分,对 post 来说 ,得不到什么信息。

String getServerName();

String getServerPort( );

String getRemoteAddr( ) ; //得到客户端 IP 

下面讲解  getRemoteAddr( )的用法 。

可以用来设置黑名单 ,如一部分信誉不好的用户的  IP 已经 存在 于数据库中,系统 则可以禁止他们的访问。

方法是,首先得到客户的 IP ,再与黑名单 中的进行对比 ,如果 这个 客户的IP已经存在 ,则跳转到一个错误 页面。

这个功能也可以用过滤 器完成 。

如果 我们对每一个页面都要进行黑名单设置,则可以直接用一个  include 来完成 。

还有一个问题是刷票问题,可以可以设定每个 IP 只能投一票,将已经投票的 IP 保存下来,类似 于一个黑名单 的数据 库。

3. response对象 

    response可以理解成客户端的响应。

(1)利用 response 进行重定向 

  重定向 ,就是跳转到另外 一个页面。

方法是

response.sendRedirect( 目标页面路径 );

两种跳转方法的不同

还有一个方法是

<jsp:forward page ="responseTest.jsp"></jsp>

两个的不同在于:

    从浏览器的地址显示来看,forward  方法是服务器端去请求资源 ,服务器直接访问目标地址的信息,因而客户端浏览器的地址不变。而redirect 则是告诉客户端去重新申请 ,

所以地址 信息会变化 。

    从数据共享来看,forward 跳转到的页面能共享 前一个页面中的 request 里面的数据 ,而 redirect 则不能。在投票中,我们应该用 redirect .

    从功能上看,重定向可以定向到任何站点 ,而 froward的跳转只能在同一个  web中进行,可以理解成一个服务 器内部 的操作。

    从效率 上看,forward 效率 更高,因为跳转只发生在服务器内部 ,而 redirect 则是进行再一次的请求。

(2)利用 response 设置 http 头

    http 头用来设置网页的基本属性,可以通过 response 的 setHeader ( ) 方法来先进设置。

response.setHeader("Refresh" ,"5");







你可能感兴趣的:(JSP 内置对象 (上))