0

JSP とサーブレットは初めてです。

Index.jsp と Edit.jsp の 2 つの JSP ページと、Controller.java が 1 つあります。

  1. 索引.jsp

     <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Index</title>
    </head>
    <body>
        <Form action="/ch2/servletController/Controller">
        <h1>Hello World!</h1>
        <a href="Edit.jsp"> Click here </a>
        <input type="submit" value="Edit" name="gotoEdit" />
    
        </Form>
    </body>
    </html>
    
  2. Edit.jsp

    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Edit</title>
    </head>
    <body>
        <form action="Controller">
        <h3>This is a simple HTML page that has a form in it.</h3>
        <h3>If there is a value for the hobby in the query string, then it is used to initialize the hobby element. 
    
        </h3>
        <p>
        Hobby:    
        <input type="text" name="hobby" value="${param.hobby}" />
        <input type="submit" value="Confirm" name="processButton" />
        </p>
        </form>
    </body>
    </html>
    
  3. コントローラ

    package ch2.servletController;
    import java.io.IOException;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
     import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
     public class Controller extends HttpServlet
     {
     protected void doGet (HttpServletRequest request,
      HttpServletResponse response)
     throws ServletException, IOException
     {
         String address;
      if (request.getParameter("processButton") !=null)
      {
     address = "Process.jsp";
     }
     else if (request.getParameter("confirmButton") !=null)
     {
        address = "Confirm.jsp";
     }
     else
     {
      address = "Edit.jsp";
        }
        RequestDispatcher dispatcher = 
        request.getRequestDispatcher(address);
       dispatcher.forward(request, response);
       }}
    

ウェブ XML

<servlet>
        <servlet-name>Controller</servlet-name>
        <servlet-class>ch2.servletController.Controller</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Controller</servlet-name>
        <url-pattern>/ch2/servletController/Controller</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

問題は、index.jsp ページを実行して [編集] ボタンをクリックすると、エラーが発生することです。

![表示されるエラー][4]

親切に提案!!

4

2 に答える 2

0

ここにいくつかの提案があります:

1) href で Edit.jsp を参照しているため、両方の jsp が同じフォルダーにあることを確認してください。最善の方法は make href="<%= request.getContextPath()%>/Edit.jsp" です

2)フォームアクションに同じことを適用します。つまり

action="<%= request.getContextPath()%>/ch2/servletController/Controller"

これがあなたの原因に役立つことを願っています。

于 2013-05-09T09:31:58.617 に答える