问题:我的带有web.xml的index.jsp页面经常出现HTTP 404和500错误。
我使用的是Tomcat6。
以下是index.jsp的代码片段:
当我在注册页面时:
当我输入名字和姓氏后,会进入404页面,出现以下信息:
HTTP状态404-Servlet RegistrationServlet不可用
类型:状态报告
消息:Servlet RegistrationServlet不可用
描述:请求的资源(Servlet RegistrationServlet不可用)不可用。
Apache Tomcat/6.0.35
您认为这个错误的原因是什么?
类RegistrationServlet位于文件RegistrationServlet.java中,位于src/coreservlets/文件夹下。
我已经检查了web.xml,但看起来没问题,这是它的内容(如果有帮助):
此外,这是项目树:
我使用的是Tomcat6。
以下是index.jsp的代码片段:
<legend>Registration</legend>
<form action="./register"> <%-- Address from web.xml --%>
First name: <input type="text" name="firstName"><br>
Last name: <input type="text" name="lastName"><br>
<input type="submit" value="Register">
</form>
当我在注册页面时:
![enter image description here](https://istack.dev59.com/vGpsg.gif)
HTTP状态404-Servlet RegistrationServlet不可用
类型:状态报告
消息:Servlet RegistrationServlet不可用
描述:请求的资源(Servlet RegistrationServlet不可用)不可用。
Apache Tomcat/6.0.35
您认为这个错误的原因是什么?
类RegistrationServlet位于文件RegistrationServlet.java中,位于src/coreservlets/文件夹下。
我已经检查了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/j2ee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<servlet>
<servlet-name>ShowBalance</servlet-name>
<servlet-class>coreservlets.ShowBalance</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ShowBalance</servlet-name>
<url-pattern>/show-balance</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>RandomNumberServlet</servlet-name>
<servlet-class>coreservlets.RandomNumberServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RandomNumberServlet</servlet-name>
<url-pattern>/random-number</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>RegistrationServlet</servlet-name>
<servlet-class>coreservlets.RegistrationServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RegistrationServlet</servlet-name>
<url-pattern>/register</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>PrimeServlet</servlet-name>
<servlet-class>coreservlets.PrimeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PrimeServlet</servlet-name>
<url-pattern>/prime</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
我已经尝试了两天来解决这个小问题,但没有任何进展,非常感谢任何帮助。
编辑:
根据要求,这里是RegistrationServlet
。
package coreservlets;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class RegistrationServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
synchronized (session) {
NameBean nameBean = (NameBean) session.getAttribute("name");
if (nameBean == null) {
nameBean = new NameBean();
session.setAttribute("name", nameBean);
}
nameBean.setFirstName(request.getParameter("firstName"));
nameBean.setLastName(request.getParameter("lastName"));
String address = "/WEB-INF/mvc-sharing/ShowName.jsp";
RequestDispatcher dispatcher = request
.getRequestDispatcher(address);
dispatcher.forward(request, response);
}
}
}
此外,这是项目树:
![enter image description here](https://istack.dev59.com/enUDA.gif)