2011-01-11 5 views
0

まずはJava/J2EE開発の初心者です。 (しかし、私を修正すること自由に感じ;)だから、語彙の私の漏れと寛大してください

<url-pattern>をFormActionにフォームをリンクするようにカスタマイズする

  • ここに私の最初の問題である:

私は中(Form1の名前の)最初のフォームを構築し.jspページ:

<form name="form1" action="formaction1.do" method="get"> 

私はFormAction1のJavaクラスに私のフォームの結果をリダイレクト:

ここで

は私のFormAction1のJavaクラスです:

public class FormAction1 extends HttpServlet 
{ 
    public void doGet(HttpServletRequest request, HttpServletResponse response) 
    throws IOException, ServletException 
    { 
     request.getRequestDispatcher("formaction1.jsp").forward(request, response);  
    } 

    public void doPost(HttpServletRequest request, HttpServletResponse response) 
    throws IOException, ServletException 
    { 
     doGet(request, response); 
    } 

} 

これは正常に動作しています。

ここで、form2という名前の別のフォームを作成し、FormAction2にリンクしたいと考えています。
しかし、FormAction1はすべての.do要求を受け取ります!

私は書くことによって私の<url-pattern>をカスタマイズしてみました:

<url-pattern>formaction1.do</url-pattern> 

私はそれがあまりにも簡単だっただろうと思います:D
Tomcatがそれを好きではない:私は私のすべてのページに404エラーが出ますプロジェクト。

だから、解決策はありますか?

ポイントは、私はちょうど書くことができますが、doGetメソッドを書き換え、FormAction1ようなクラスを使用するために何:

<form name="form1" action="anotherFile.jsp" method="get"> 

をしてに関する情報を回復するだけでボーナスの質問

  • anotherFile.jsp内のrequest.getParameter()を使用していますか?

答えて

1

は、URLパターンは...その場合は真剣に

<url-pattern>/formaction1.do</url-pattern> 
+0

で、そう簡単では先頭から一致を必要としないのですか?私の上に恥がある:D私のボーナスの質問のアイデア? –

+1

jspの作成はサーブレットの別の形式です。独自のサーブレットを作成すると、プリコンパイルされたjsp-> java source->クラスファイルよりも効率的なコードを書くことができます。しかし、それは本当にニックピッキングです。利点の1つは、より良い懸念の分離であり、アクションはデータを処理してビューにリダイレクトされます。その場合、ユーザーが結果ページをリフレッシュすることに気をつけることはありません。 – dvhh

関連する問題