2016-10-25 28 views
1

JSPサーブレットの新機能です。私は以下のように "サインアップ"ボタンをクリックすると登録フォームを表示するためのシンプルなjspコードを書いています。私はこのsignup.jspは、画像とボタン「IN SIGN」で表示なっている実行すると signup.jspはあるJSPページから別の新しいページにリダイレクトする方法

<!DOCTYPE html> 
<html> 
<body> 
<h2>Welcome </h2> 
<img src="abcd.jpg" alt=" " style="width:500px;height:228px;"> 
<form name="main" method="get" action="login.jsp"> 
     <input type="submit" name="ter" value="SIGN IN" > 
</form> 
</body> 
</html> 

のように見えます。このボタンをクリックすると、signup.jspが表示されているのと同じページにログインページが表示されます。 SIGN INの詳細が同じページの新しいページに表示されるように、jspコードを変更するにはどうすればよいですか。私のlogin.jspは、誰もがどのように私はJavaスクリプトや、他の技術には完全に新しいですとしてのみJSPを使用してそれを書くために私を提案することができ

<%@ include file="index.jsp" %> 
<hr/> 

<h3>Login Form</h3> 
<% 
String profile_msg=(String)request.getAttribute("profile_msg"); 
if(profile_msg!=null){ 
out.print(profile_msg); 
} 
String login_msg=(String)request.getAttribute("login_msg"); 
if(login_msg!=null){ 
out.print(login_msg); 
} 
%> 
<br/> 
<form action="loginprocess.jsp" method="post"> 
Email:<input type="text" name="email"/><br/><br/> 
Password:<input type="password" name="pass"/><br/><br/> 
<input type="submit" value="login"/>" 
</form> 

のように見えます。私はにログインをクリックしたときlogin.jspに言及したフィールドが同じページ上に表示されているばかり、

@WebServlet("/SignInFunc") 
@MultipartConfig 
public class MySignInFunc extends HttpServlet { 
    /** * */ 
    private static final long serialVersionUID = 1L; 

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     response.setContentType("text/html;charset=UTF-8"); 
     RequestDispatcher rd = request.getRequestDispatcher("/login.jsp"); 
     rd.forward(request, response); 
    } 
} 

は、これは私のサーブレットがどのように見えるかです。私は彼らを新鮮なページにしたい。

+0

わからないあなたは何をしたい...しかし、最初に、あなたがすべてでフォームを使用していないので、あなたはlogin.jspにするために行くためにリンクを使用することができれば。私が見ることができるから、あなたは3つの異なるページ(signin、login、loginprocess)を使うので、私はあなたの質問を理解しているかどうかわかりません... – AxelH

+0

あなたはこの記事を見ることができます。 Java。 http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files – AxelH

+0

他のファイルを「追加」すると、同じページに確実に表示されます。最初の行を削除する "... include file =" index.jsp "..." – Stefan

答えて

0

ユーザー情報が正しい前方ユーザーはあなたがallso <form action = "login" method = "post">この種のものを追加する必要がありますrequest.getRequestDispatcher("index.jsp").forward(request, response);必要なページであることを確認してくださいよときは、その後HttpServletRequestとを使用して、その後、WebServletとポストログイン要求を作成する必要がありますあなたのログインフォームとWebServletに次のようになります。

@WebServlet("/login") 
public class HandleLogin extends HttpServlet { 

    public HandleLogin() { 
     super(); 
    } 

    protected void doGet(HttpServletRequest request, 
      HttpServletResponse response) throws ServletException, IOException { 
     ... 
    } 

    protected void doPost(HttpServletRequest request, 
      HttpServletResponse response) throws ServletException, IOException { 
     ... 
     response.sendRedirect("/home.jsp"); 
    } 
} 
+0

私のjspは

これと私のサーブレットには次のコードがあります。 – kala

+0

@WebServlet( "/ SignInFunc")は @MultipartConfigパブリッククラスMySignInFuncが延びるのHttpServlet { \t \t/** \t * \t */ \tプライベート静的最終長いのserialVersionUID = 1L。 \tレスポンスのdoPost(HttpServletRequestリクエスト、HttpServletResponseレスポンス)がServletException、IOExceptionをスローします{ response.setContentType( "text/html; charset = UTF-8"); RequestDispatcher rd = request.getRequestDispatcher( "/ login.jsp"); rd.forward(request、response); \t}ログインをクリックすると、login.jspに記載されているフィールドが同じページに表示されています。新鮮なページにします。 – kala

+0

[kala](http://stackoverflow.com/users/5916953/kala)サーブレットからのリダイレクトについての詳細はこちら[https://www.tutorialspoint.com/servlets/servlets-page-redirect.htm]を読むことができます。通常、この 'response.sendRedirect("/home.jsp ")'のようなものが動作するはずです。 – GROX13

関連する問題