我有一个表单,我想向一个名为registrationServlet的servlet提交请求。寄存器servlet位于一个名为“Controller”的目录下。但是在提交表单后它无法访问servlet。我该如何解决这个问题?提交表单后,我收到以下错误
HTTP状态404 - / ClassProject / Views / RegisterServlet
description:请求的资源不可用。
form:(表单位于Views目录下的Login.jsp页面中)
<form action="RegisterServlet" class="register" method="POST" >
<fieldset>
<legend>Registration</legend>
Username : <input type="text" name="username" id="username">
</br></br>
Password : <input type="password" name="password" id="password">
</br></br>
Email : <input type="email" name="email" id="email">
</br></br>
Date of Birth : <input type="date" name="date" id="date">
</br></br>
<input type="submit" value="Submit">
</fieldset>
</form>
web.xml:
<servlet>
<servlet-name>RegisterServlet</servlet-name>
<servlet-class>Controller.RegisterServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RegisterServlet</servlet-name>
<url-pattern>/RegisterServlet</url-pattern>
</servlet-mapping>
这是我的目录结构:
答案 0 :(得分:1)
您需要更改
<form action="RegisterServlet" class="register" method="POST" >
到
<form action="../RegisterServlet" class="register" method="POST" >
因为,您的Login.jsp
位于Views
文件夹下,并且您尝试在同一路径中访问RegisterServlet
。而且,这就是为什么要求
/ClassProject/Views/RegisterServlet
而不是
/ClassProject/RegisterServlet
但是,根据web.xml
,这个servlet存在于项目根目录中。