欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JSP中的response对象

程序员文章站 2022-07-02 20:18:50
     Jsp的隐藏对象response在转换为servlet对象之后,对应于HttpServletResponse形态对象。HttpServlet...
     Jsp的隐藏对象response在转换为servlet对象之后,对应于HttpServletResponse形态对象。HttpServletResponse就是有关客户端请求之响应,可以用它来设定一些 标题、响应状态信息。

 

 

 

response对象所提供的方法。

(1)设定表头的方法

     void addCookie(Cookie cookie) 新增cookie

     void addDateHeader(String name, long date) 新增long类型的值到name标头

     void addHeader(String name, String value) 新增String类型的值到name标头

     void addIntHeader(String name, int value) 新增int类型的值到name标头

     void setDateHeader(String name, long date) 指定long类型的值到name标头

     void setHeader(String name, String value) 指定String类型的值到name标头

     void setIntHeader(String name, int value) 指定int类型的值到name标头

     containsHeader( String name )判断指定名字的HTTP文件头是否已经存在,然后返回真假布尔值

(2)设定响应状态码的方法

     void sendError(int sc) 传送状态码(status code)

     void sendError(int sc, String msg) 传送状态码和错误信息

     void setStatus(int sc) 设定状态码

(3)用来URL 重写(rewriting)的方法

     String encodeRedirectURL(String url) 对使用sendRedirect( )方法的URL予以编码

(4)设置重定向

     sendRedirect():设置重定向页面.

 

范例

(1)使用response对象可以设置HTTP的头信息。格式response.setHeader(“头信息名称”,”参数”),其中一个重要的头信息:refresh(刷新)。例如,每秒刷新一次也没,显示刷新次数:

[html]  

<%@pagecontentType="text/html;charset=GB2312" %>  

<html>  

    <head>  

          <title>response01.jsp</title>  

   </head>  

   <body>  

          <%!int i=0; %>  

          <%  

        //每秒刷新一次   

                 response.setHeader("refresh","1");  

          %>  

         <%=i++ %>  

     </body>  

</html>  

(2)使用头信息设置我们还可以设置在规定的时间内跳转。格式:response.setHeader("refresh","时间;URL=跳转页面地址");

 

[html] 

<%@pagecontentType="text/html;charset=gb2312"%>  

<HTML>  

      <HEAD>  

             <TITLE>页面自动跳转</TITLE>  

      </HEAD>  

  

      <BODY>   

      <%  

             response.setHeader("refresh","3;URL=common.jsp") ;  

      %>  

      三秒后跳转!!!<br>  

      如果没有跳转,请按<a href="common.jsp">这里</a>!!!  

      </BODY>  

</HTML>  

 

(3)设置cookie

[html]  

<%@pagecontentType="text/html;charset=gb2312"%>  

<HTML>  

      <HEAD>  

              <TITLE>Cookie的使用</TITLE>  

      </HEAD>  

   

      <BODY>   

      <%  

              Cookie c1 = newCookie("name","aaa") ;  

              Cookie c2 = newCookie("password","111") ;  

              // 最大保存时间为60秒  

              c1.setMaxAge(60) ;  

              c2.setMaxAge(60) ;  

   

             // 通过response对象将Cookie设置到客户端  

              response.addCookie(c1) ;  

              response.addCookie(c2) ;  

      %>  

      </BODY>  

</HTML>  

(4)读取cookie

[html]  

<%@page contentType="text/html;charset=gb2312"%>  

  

<HTML>  

       <HEAD>  

              <TITLE>Cookie的使用</TITLE>  

       </HEAD>  

  

       <BODY>  

       <%  

              // 通过request对象,取得客户端设置的全部Cookie  

              // 实际上客户端的Cookie是通过HTTP头信息发送到服务器端上的  

              Cookie c[] = request.getCookies() ;  

       %>  

  

       <%  

              for(int i=0;i<c.length;i++){  

                     Cookie temp = c[i] ;  

       %>  

  

              <h1><%=temp.getName()%> --> <%=temp.getValue()%></h1>  

  

       <%  

              }  

       %>  

       </BODY>  

</HTML>