0

我在 eclipse Juno 中创建了一个动态 Web 项目,并在服务器(Tomcat6.0)上运行时,得到错误页面 HTTP Status 404 - /FirstServlet/ 并显示以下消息:

类型状态报告

消息 /FirstServlet/

描述 请求的资源 (/FirstServlet/) 不可用。

在这里我观察到 url 是 ---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>  
4

2 回答 2

0

此外,您应该以 /HelloWorldServlet 的形式访问它,或者按照前面作者的配置以 /FirstServlet 的形式访问它,如 URL 模式中所述。

一些小事要额外检查。你的战争文件名是什么?您是否已复制/部署到您的应用程序服务器文件夹中?

如果是这样,您的网址应该是http://localhost:8080/war_name/servlet_name.

于 2012-09-25T20:21:44.150 回答
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>
于 2012-09-25T19:25:44.997 回答