Tomcat web.xml url映射

时间:2015-11-18 14:02:43

标签: java tomcat java-ee

是J2ee的新手。我将以下配置为我的web.xml

web.xml

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
        <servlet>
                <servlet-name>TestGetServlet</servlet-name>
                <servlet-class>src.java.com.testGet.TestGet</servlet-class>
        </servlet>
        <servlet-mapping>
                <servlet-name>TestGetServlet</servlet-name>
                <url-pattern>/servlet/TestGet</url-pattern>
        </servlet-mapping>
</web-app>

Java Code

package src.java.com.testGet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.http.*;

public class TestGet extends HttpServlet {

    String WebPage = "<html><body> Hello World Again </body></html>";

    @Override
    public void init(){
        System.out.println("Servlet initialized");
    }

    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse responce){
        try{
            responce.setContentType("text/html");
            PrintWriter aPW = responce.getWriter();
            aPW.println(WebPage);
        }catch(IOException ioe){
            ioe.getMessage();
        }
    }
}

但是tomcat会返回以下错误

HTTP Status 404 - /TestGetServlet/servlet/TestGet

我用ant构建应用程序并且部署正常,但它没有提供自动生成web.xml的方法(是吗?)所以我必须手动完成。有人可以帮助我获得正确的映射吗?

2 个答案:

答案 0 :(得分:0)

404表示找不到该页面,可能是因为该网址不存在。

您在网址中用于servlet映射的/servlet/TestGet部分是正确的。您的web.xml似乎也是正确的。 检查应用程序是否已命名为TestGetServlet

答案 1 :(得分:0)

您的配置和代码似乎正确无误。也许问题出在build.xml

转到tomcat安装\ wtpwebapps(或webapps)\ yourApp \ WEB-INF并确保:

  • 您的web.xml是正确的
  • 存在目录WEB-INF\classes并包含已编译的代码(.class)。

如果您使用eclipse,请添加tomcat(File - New - Server)以便更轻松快速地部署