2011-07-24 11 views
0
*//post method* 
protected void doPost (HttpServletRequest req, HttpServletResponse res) 
     throws ServletException,IOException { 
     String username = req.getParameter("username"); 
     String password = req.getParameter("password"); 
     System.out.println(" Form data recieved .. Now Verifying "); 

     if (loginVerificator (username, password)) { 
      Cookie xO = new Cookie ("username", username); 
      Cookie xT = new Cookie ("password", password);    
      res.addCookie(xO); 
      res.addCookie(xT); 
      res.setContentType("text/html"); 
      PrintWriter out = res.getWriter(); 
      out.println("<meta http-equiv=\"refresh\" content=\"2\";url=\"home\">"); 
     } 

postメソッドは、フォームパラメータを取得してからフォームパラメータを取得し、それらのCookieをレスポンスに追加します。次に、メタタグでページをリダイレクトします。(メタタグを使用して)リダイレクトする代わりにサーブレットページをリフレッシュ/リロードするのはなぜですか?

リダイレクトではなく、このページがリロードされている理由を知りたいと思います。私が間違っている場所を見つけることができません。 URLは、コンテンツ属性値の引用符でラップされていないとして、誤っている

<meta http-equiv="refresh" content="2";url="home">

答えて

0

out.println("<meta http-equiv=\"refresh\" content=\"2\";url=\"home\">");

は、以下の値を持つレスポンスでmetaタグを書き込みます。するサーブレットの対応する行が必要です

<meta http-equiv="refresh" content="2;url=home">meta refreshコンセプトはdeprecated by W3Cされていることを

out.println("<meta http-equiv=\"refresh\" content=\"2;url=home\">");


注代わりにタグがとして生成されている必要があります。ユーザーを新しいページにリダイレクトする場合は、HttpServletResponse.sendRedirect(location)メソッドを使用してサーブレットで簡単に実行できるHTTP 302応答を使用することをお勧めします。

+0

thanx airst Sir。 –

+0

ようこそ。 –

関連する問題