まずは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()を使用していますか?
で、そう簡単では先頭から一致を必要としないのですか?私の上に恥がある:D私のボーナスの質問のアイデア? –
jspの作成はサーブレットの別の形式です。独自のサーブレットを作成すると、プリコンパイルされたjsp-> java source->クラスファイルよりも効率的なコードを書くことができます。しかし、それは本当にニックピッキングです。利点の1つは、より良い懸念の分離であり、アクションはデータを処理してビューにリダイレクトされます。その場合、ユーザーが結果ページをリフレッシュすることに気をつけることはありません。 – dvhh