2016-04-10 9 views
-2
**loginServlet.java** 

package com.anil.apps; 

import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 


public class LoginServlet extends HttpServlet { 
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     PrintWriter out=response.getWriter(); 

     String uid=request.getParameter("userid"); 
     String password=request.getParameter("pwd"); 

     if(uid.equals("Anil")&&password.equals("missinlx")){ 
      //out.println("welcome "+uid); 
      response.sendRedirect("welcomeUser?userid="+uid); 
     } 
     else{ 
      out.println("invalid username or password"); 
     } 
    } 

} 






**WelcomeUserServlet.java** 

package com.anil.apps; 

import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

public class WelcomeUserServlet extends HttpServlet { 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     PrintWriter out=response.getWriter(); 

     out.println("<html><body><h1>Welcome " +uid+ "</h1></body></html>"); 
    } 

} 

私のコードに何が間違っていますか? response.sendRedirect()メソッドを使用して、ページをwelcomeUser.javaページにリダイレクトします。 私がサーブレットに慣れていないうちに、私を助けてください。サーブレットのページリダイレクトのフォーマット全体を教えてください。response.sendRedirect()メソッドを使用してサーブレットの別のページにリダイレクトする方法はありますか?

+0

String uid = request.getParameter("userId"); 

は、このような、そのクラスの外観を作りますか? 'sendRedirect'の使い方は大丈夫です。 – Chris

+0

IDEがエラーを表示しています。 – Ashnil

+0

構文エラーのようですか?それは何と言いますか? – Chris

答えて

-1

あなたが

response.sendRedirect("some/path/here/to/"+welcomeUser?userid="+uid) 

またはそれ以上

response.sendRedirect(response.encodeURL(response.getContextPath()+"welcomeUser?userid="+uid)) 

または構造を知ってリクエストディスパッチャを使用するような完全なパスを使用する必要がありますsendRedirectメソッド

の間違った引数を使用していますあなたのプロジェクトの完全なパスは必要ありません

request.getRequestDispatcher("welcomeUser?userid="+uid).forward(request,response) 
0

GETパラメータは自動的に変数に変換されません。あなたはWelcomeUserServletであなたのdoGetメソッドの先頭にこれを追加する必要があります。何をして動作していない

public class WelcomeUserServlet extends HttpServlet { 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     String uid = request.getParameter("userId"); 
     PrintWriter out=response.getWriter(); 

     out.println("<html><body><h1>Welcome " +uid+ "</h1></body></html>"); 
    } 

} 
+0

を作成しますが、WelcomeUserServletで使用するloginServlet.javaのuidを使用します。 – Ashnil

+0

はい、変数間の共有はありません。 '?userid =" + uid'と言うと、他のサーブレットでそれを取得する必要があるときは、すでにパラメーターとして渡しています。 – Chris

+0

ありがとう!!!!!! – Ashnil

関連する問題