使用eclipse和tomcat 7运行和部署servlet

时间:2012-07-15 11:14:45

标签: java eclipse tomcat deployment webserver

  1. 我创建了一个基于Tomcat HelloWorld Servlet with Eclipse
  2. 的测试项目
  3. 并尝试从Eclipse运行它,就像Tomcat 7一样,我将其配置为在127.0.0.1上运行 - 但我得到Page cannot be found at 127.0.0.1/helloworld/HelloWorld
  4. 我还尝试将其作为war文件导出并将其部署到作为Windows服务运行的(否则正在运行的)Tomcat服务器上 - 并使用Tomcat应用程序管理器 - manifest.mf进行部署,并将这些类很好地复制到tomcat / webapps / helloworld ,但尝试导航到127.0.0.1/helloworld/HelloWorld再次失败,显示HTTP Status 404
  5. 从默认的@WebServlet到web.xml配置

    接下来,在HelloWorld.java中,我尝试了注释

    //@WebServlet("/HelloWorld")
    

    然后添加特定于Web应用程序的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"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
        version="3.0">
        <servlet>
            <servlet-name>HelloWorld</servlet-name>
            <servlet-class>HelloWorld</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>HelloWorld</servlet-name>
            <url-pattern>/HelloWorld</url-pattern>
        </servlet-mapping>
    </web-app>
    

    但结果仍然相同 - 没有回应!

    解决方案?

    • 鉴于链接教程提供了Tomcat 6的说明,我是否应该更改某些内容以使其与Tomcat 7一起使用?
    • 具体来说,Eclipse添加的默认@WebServlet("/HelloWorld")是否足够?基于注释的Servlet 3.0配置需要什么才能工作(没有web.xml)?
    • 或者可能是某些东西阻止了全局tomcat服务器级别的任何Web应用程序部署?我有点改变了服务器配置,不幸的是我不记得究竟是什么,除了让它在127.0.0.1而不是127.0.0.1:8080上提供

2 个答案:

答案 0 :(得分:2)

打开动态Web项目的属性页面,单击“Web项目设置”,然后使用上下文根参数作为URL的根路径。

答案 1 :(得分:1)

尝试在WebContent中放置一个默认的Index.html页面,看看欢迎页面是否指向它。如果是,则尝试手动输入servlet名称,看看是否有效。我得到了同样的错误,但这样做会解决它。

http://localhost:8080/<Project_Name>/index.html

http://localhost:8080/<Project_Name>/servlet_name