2013-08-01 37 views
0

我已经使用servlet做了简单的Web应用程序,这里是 HelloClass.java文件:的Servlet没有找到

package com.hello; 

import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

@WebServlet("/report") 
public class HelloClass extends HttpServlet { 
    @Override 
    public void doGet(HttpServletRequest request, 
         HttpServletResponse response) 
    throws ServletException, IOException { 
     // Set response content type 
     response.setContentType("text/html"); 

     // Actual logic goes here. 
     PrintWriter out = response.getWriter(); 
     out.println("<h1>" + "Hello World" + "</h1>"); 
    } 

} 

我已阅读,如果使用注释,那么你就不必提供内部所有servlet的web.xml。

一切编译以及使用Maven和部署在GlassFish中,但我不能在浏览器地址栏中输入到达工作的serlvet:本地主机:8080 /我 - 的webapp /报告

它说: HTTP状态404 - 找不到

这里的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.mycompany.app</groupId> 
    <artifactId>my-webapp</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>my-webapp Maven Webapp</name> 
    <url>http://maven.apache.org</url> 
    <dependencies> 

    <dependency> 
     <groupId>org.apache.geronimo.specs</groupId> 
     <artifactId>geronimo-servlet_3.0_spec</artifactId> 
     <version>1.0</version> 
    </dependency> 

    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 

    </dependencies> 
    <build> 
    <finalName>my-webapp</finalName> 
    </build> 
</project> 

编辑:web.xml文件提供

<?xml version="1.0" encoding="UTF-8"?> 

<web-app 
     version="3.0" 
     xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 

</web-app> 
+0

你有404吗? – jsedano

+0

是的,我得到HTTP状态404 - 未找到 – maximus

+0

你使用什么网络服务器? jboss,glassfish(这可能是一个好主意,添加标签) – jsedano

回答

1

看来你需要修改你的web.xml来强制版本3.0,以获得注释工作。

请查看@WebServlet annotation with Tomcat 7,因为问题非常相似。

+0

我已经把web.xmp与3.0版相关,仍然无法访问网页。 – maximus

+0

你介意发布你的web.xml内容,以便我们更好地处理这个问题吗? – Deactivator2

+0

是的,请参阅编辑 – maximus