tomcat 6 webapp部署

时间:2011-06-20 15:19:41

标签: servlets tomcat6

我写了一个我需要用tomcat部署的小servlet。我的服务器是tomcat 6.我首先尝试拖动war文件然后解压缩,把我无法访问url(404错误)。然后我甚至删除了部署并尝试使用tomcat管理器。当我单击部署时显示“确定”但未显示在已部署的应用程序列表中。

我使用Eclipse(ganymede)来创建war文件。解压缩的目录结构看起来很好。我在localhost:8080上运行。这是我的web.xml。也许这里有问题?

<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">

    <servlet>
        <servlet-name>Auth</servlet-name>
        <servlet-class>serv.Authenticate</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>Auth</servlet-name>
        <url-pattern>/authenticate</url-pattern>
      </servlet-mapping>
    </web-app>

我读过,也许我需要对server.xml做些什么。但我在那里环顾四周,没有任何tomcat的默认网络应用程序的条目。如何注册我的应用程序以便tomcat像其他人一样提供服务?

1 个答案:

答案 0 :(得分:0)

web.xml看起来不错,但是如果不了解更多关于环境的信息,就无法知道为什么要获得404。

问题可能是servlet未加载或加载,servlet无法找到URL。

要查看是否正在加载servlet,请在servlet的init方法中添加一条日志语句(System.out将执行)。将以下行添加到servlet元素中,以便servlet不会按需加载但在启动时加载:

<load-on-startup>0</load-on-startup>

然后您可以检查是否正在识别和加载servlet。

然后向doGet / doPost等方法添加一条日志语句,以输出请求对象的.getPathInfo。将通配符添加到servlet映射以及测试时可能会有所帮助:

<url-pattern>/authenticate/*</url-pattern>