Java Servlet映射和HTTP状态404
我的Servlet实现有问题。我使用ApacheTomcat作为Servlet引擎,Eclipse作为IDE。首先,我创建了一个search.html,如下所示:Java Servlet映射和HTTP状态404,java,tomcat,servlets,Java,Tomcat,Servlets,我的Servlet实现有问题。我使用ApacheTomcat作为Servlet引擎,Eclipse作为IDE。首先,我创建了一个search.html,如下所示: <html> <head> <meta charset="UTF-8"> <title>FirstServler</title> </head> <body> <form action="/
<html>
<head>
<meta charset="UTF-8">
<title>FirstServler</title>
</head>
<body>
<form action="/myServlet" method="get">
Name : <INPUT TYPE="text" NAME="name" SIZE="18"/>
<input type="submit" value="OK">
</form>
</body>
</html>
最后是web.xml,位于WebContent\web-INF中:
<?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>Servlet</display-name>
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>Servlet1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>/myServlet</url-pattern>
</servlet-mapping>
</web-app>
我认为web.xml有一些错误。事实上,如果我将url模式更改为es1,则不会出现错误。错误会显示:“请求的资源不可用”。我的猜测是服务器找不到Servlet1
类
两项建议:
的名称与@WebServlet(“/Servlet1”)
不匹配,前者使用“S”,而后者使用“S”。尽量使用相同的名称Servlet1
- 尝试将
类移动到包中,而不是放在默认包下Servlet1
<?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>Servlet</display-name>
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>Servlet1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>/myServlet</url-pattern>
</servlet-mapping>
</web-app>
HTTP Status 404 - /Servlet1.0/es1
type Status report
message /Servlet1.0/es1
description The requested resource is not available.