0

「HTTPrequest」を JSP ページから (パッケージ内にある) サーブレットにリダイレクトしようとしています。セッション オブジェクトに格納されている変数を渡します。私は使用するアイデアがありました:

<jsp:forward page"/servletName">  
  <jsp:param name="var1" value="<%=beanID.getVar1()%>" />
  <jsp:param name="var2" value="<%=beanID.getVar2()%>" />
</jsp:forward>

サーブレットでは、@override アノテーションが付いた doPost を見つけることができます。次のコードを使用します。

public class servletName extends HttpServlet{

@Override
  public void doPost(HttpServletRequest request, HttpServletResponse response)
                               throws ServletException,IOException{
  response.setContentType("text/html");
  PrintWriter out = response.getWriter();

  var1 = request.getParameter("var1").toString();
  var2 = request.getParameter("var2").toString();

// do more with the variables.

   }

プロジェクトを実行すると、リダイレクト/転送が呼び出される JSP にパラメーターが送信されます。変数が格納された後 (およびサーブレットを [JSP:forward] と呼ぶ必要がある場所) に、アプリは 404 Page does not exist を返します。

誰かアイデアがありますか?明確化が必要な場合は、教えてください。

前もって感謝します!B.

4

2 に答える 2

0

まず、これらの変数をパラメータとして送信する必要はありません。サーブレット内のセッションオブジェクトにアクセスできます(request.getSession())。サーブレットが呼び出されていることを確認しますか?サーブレットで何が起こるかをもう少しコードで示すことができるかもしれません。

于 2010-10-15T16:11:15.713 に答える
0

404 は、URL が明らかに間違っているか、URL の背後に何もない場合に発生します。サーブレットの場合、サーブレットが で宣言されてweb.xmlいない場合、または URL がサーブレットの と一致しない場合url-pattern、またはサーブレットの構築と初期化が失敗した場合 (ただし、これはサーバー ログに表示されるはずです) に最後のエラーが発生する可能性があります。

[servlets]タグ情報ページをご覧になると役立つ場合があります。JSP/サーブレットの使用に関する新しい洞察を得るのに役立つかもしれない Hello World の例があります。


ここではリダイレクトしないことに注意してください。サーブレットに転送しています。サーブレットは、JSP とまったく同じ要求/応答を取得します。リダイレクトは基本的に、クライアントに新しいリクエストを作成するように指示します。

于 2010-10-15T16:37:01.850 に答える