我在eclipse Juno中创建了一个动态Web项目,并在服务器(Tomcat6.0)上运行时,获取错误页面HTTP Status 404 - / FirstServlet /,并显示以下消息:
输入状态报告
message / FirstServlet /
description请求的资源(/ FirstServlet /)不可用。
在这里我观察到网址是--- http:// localhost:5533 / FirstServlet /
任何人都可以告诉我如何解决它。
以下是在FirstServlet中创建的文件
Servlet类代码
package com.surendra.servlets;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloWorldServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public HelloWorldServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter p = response.getWriter();
p.println("Hello World");
}
}
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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>FirstServlet</display-name>
<servlet>
<description></description>
<display-name>first</display-name>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>com.surendra.servlets.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>first</servlet-name>
<url-pattern>/HelloWorldServlet</url-pattern>
</servlet-mapping>
</web-app>
答案 0 :(得分:0)
将您的web.xml更改为:
<servlet>
<description></description>
<display-name>first</display-name>
<servlet-name>FirstServlet</servlet-name>
<servlet-class>com.surendra.servlets.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/FirstServlet</url-pattern>
</servlet-mapping>
在您的web.xml中,URL模式描述了您要使用的URL:
<url-pattern>/XXXX</url-pattern> --> http://localhost:5533/XXXX/
此外servlet-name
必须与servlet描述匹配
<servlet>
<description></description>
<display-name>first</display-name>
<servlet-name>XXXXXXXXXX</servlet-name> <!--- HERE ---->
<servlet-class>com.surendra.servlets.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>XXXXXXXXXX</servlet-name> <!--- AND HERE ---->
<url-pattern>/FirstServlet</url-pattern>
</servlet-mapping>
答案 1 :(得分:0)
此外,您应该将其作为/ HelloWorldServlet访问,或者按照以前的作者配置将其作为/ FirstServlet访问,如URL模式中所述。
额外检查的一些小事。你的战争文件名是什么?您是否已复制/部署到应用程序服务器文件夹中?
如果是,您的网址应为http://localhost:8080/war_name/servlet_name
。