我是JSP和Servlets的新手。路径中的Servlet映射错误
我有两个JSP页面Index.jsp和Edit.jsp以及一个Controller.java。
的index.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>
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>
控制器
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]
请客气推荐!!
谢谢Suyash,但它不工作。 – user1947627 2013-05-09 10:20:35
谢谢Suyash,但它不起作用。 基本上,我的控制器位于Classes.ch2.servletController文件夹中 ,而索引和编辑位于WEB-INF文件夹中。 我也改变了web.xml中的路径 as/ch2/servletController/Controller 请建议... –
user1947627
2013-05-09 10:28:00
在web.xml中,将URL模式更改为“/ controller”,更新内容与Jsp的表单action属性相同action =“<%= request.getContextPath()%>/controller” 这将起作用。 – suyash 2013-05-09 11:00:17