JSPのresponseオブジェクト


Jspの非表示オブジェクトresponseは、servletオブジェクトに変換された後、HttpServeretResponseモルフォロジーオブジェクトに対応します.HttpServeretResponseはクライアント要求に関する応答であり,いくつかのタイトル,応答状態情報を設定することができる.
responseオブジェクトが提供する方法.
(1)ヘッダの設定方法
void addCookie(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書き換えの方法
String encodeRedirectURL(String url)sendRedirect()メソッドを使用するURLを符号化する
(4)リダイレクトの設定
sendRedirect():リダイレクトページを設定します.

(1)responseオブジェクトを用いてHTTPのヘッダ情報を設定する.書式setHeader(「ヘッダ情報名」,「パラメータ」)は、重要なヘッダ情報の1つであるrefresh(リフレッシュ)である.たとえば、1秒に1回もリフレッシュしない場合は、リフレッシュ回数を表示します.
<%@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=ジャンプページアドレス」);
<%@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)クッキーの設定
<%@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)クッキーを読み取る
<%@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>

リファレンス
       http://www.doc88.com/p-747820667980.html
       http://baike.baidu.com/link?url=7wEqBWpt_DE1kVRpratqiUgB3K-cGGq_SzpwpWmukrs588mTBx4wFSCKYfpHbK6f