HTTP状态404,错误:请求的资源不可用

时间:2014-11-11 15:51:34

标签: java eclipse jsp

使用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 所在的文件夹中 但我仍然得到提到的错误。我错过了一些正确的事情吗?

1 个答案:

答案 0 :(得分:2)

您需要使用

request.getRequestDispatcher("/pages/test.jsp").forward(request, response);

RegistrationServlet映射到上下文的根,因此使用相对路径将相对于该路径,而不是register.jsp。