【问题标题】:tomcat 6 webapp deploymenttomcat 6 webapp部署
【发布时间】:2011-06-21 21:24:56
【问题描述】:

我编写了一个小 servlet,需要使用 tomcat 进行部署。我的服务器是 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 像其他应用一样提供它?

【问题讨论】:

    标签: servlets tomcat6


    【解决方案1】:

    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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-06
      • 2014-07-18
      • 1970-01-01
      • 1970-01-01
      • 2014-06-17
      • 2010-12-18
      • 1970-01-01
      相关资源
      最近更新 更多