5

フォームで呼び出したサーブレットにアクセスできません。樹木、web.xml、フォームを確認しましたが、問題は見当たりません。「Web動的プロジェクト」でEclipseを使用しています。

私の樹木があります:

ここに画像の説明を入力

私の web.xml :

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Z-ProjetJ2EE</display-name>
<welcome-file-list>
  <welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
  <description></description>
  <servlet-name>CommandeServlet</servlet-name>
  <servlet-class>controleur.CommandeServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>CommandeServlet</servlet-name>
  <url-pattern>/urlCommandeServ</url-pattern>
</servlet-mapping>
</web-app>

私のフォーム(完全なURLを試しましたが、うまくいきませんでした):

<form action="/urlCommandeServ" method="post">

そして私のサーブレット:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String cat = request.getParameter("categorie");
    Float prix = Float.parseFloat(request.getParameter("prix"));
    response.sendRedirect("CreerCommande?cat=" + cat+"&prix="+prix);

Eclipse にエラーはなく、Tomcat のログ フォルダーは空です。私たちを手伝ってくれますか ?

編集:

私のエラーがあります:

エラー404

response.sendRedirect のエラーに関する回答には同意しますが、これは私のエラーの本当の主題ではありません:) doPost ですべてのコードを消去しても、白いページではなくこのエラーが発生します。

4

4 に答える 4

4

.jspリダイレクトを実行するときに含める必要があります。

response.sendRedirect("CreerCommande.jsp?cat=" + cat+"&prix="+prix);

それ以外の:

response.sendRedirect("CreerCommande?cat=" + cat+"&prix="+prix);

また、フォームの URL にコンテキストパスを追加します。

<form action="<%=request.getContextPath()%>/urlCommandeServ" method="post">
于 2013-04-26T20:15:33.437 に答える
3

<form>あなたのhtmlをに変更してください

<form action="urlCommandeServ" method="post">

に投稿しているときに/urlCommandeServ、Tomcat (または Web サーバー) に、存在しないという名前の Web アプリケーションを探すように依頼しているurlCommandeServため、404 が返されます。

于 2013-04-27T14:00:38.920 に答える
0

RequestDispatcher を使用しないのはなぜですか?

RequestDispatcher dispatcher = request.getRequestDispatcher("yourPage.jsp");
if (dispatcher != null){
    dispatcher.forward(request, response);
}
于 2013-04-26T21:11:51.750 に答える