使用Eclipse IDE尝试简单的会话应用程序。 我在 WebContent / pages / 中有 register.jsp ,而 RegistrationServlet.java 位于包 com.pg.controller 下
我的jsp页面中有以下代码 register.jsp
<form action="RegistrationServlet" method="post">
<table>
<tr>
<td>Email</td><td><input type="email" name="email" /></td>
</tr>
<tr>
<td>Password</td><td><input type="password" name="password" /></td>
</tr>
<tr>
<td>Confirm Password</td><td><input type="password" name="confirm" /></td>
</tr>
<tr>
<td>User type </td><td><select name="role"><option>Tenant</option><option>Owner</option></select></td>
</tr>
<tr>
<td><input type="reset" value="Reset" /></td><td><input type="submit" value="Register" /></td>
</tr>
</table>
</form>
这是我的 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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>PayingGuest</display-name>
<servlet>
<servlet-name>RegistrationServlet</servlet-name>
<servlet-class>com.pg.controller.RegistrationServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RegistrationServlet</servlet-name>
<url-pattern>/RegistrationServlet</url-pattern>
</servlet-mapping>
</web-app>
RegistrationServlet.java 具有以下代码来转发请求,
request.getRequestDispatcher("test.jsp").forward(request, response);
和 test.jsp 位于 register.jsp 所在的文件夹中 但我仍然得到提到的错误。我错过了一些正确的事情吗?
答案 0 :(得分:2)
您需要使用
request.getRequestDispatcher("/pages/test.jsp").forward(request, response);
RegistrationServlet
映射到上下文的根,因此使用相对路径将相对于该路径,而不是register.jsp。