Tomcat应用程序使用完整的路径和资源,而不是其他方式

问题描述 投票:0回答:1

我已经按照Learn Java for Web Development (Apress)中的说明创建了一个基于Tomcat的Web应用程序。该Web应用程序已在Eclipse中作为Dynamic Web Project开发(完全如本书中所指定)。我正在使用Eclipse版本2019-03(4.11.0)。

应用程序的完整URL为http://localhost:8080/helloworld/hello。我可以从Eclipse和浏览器运行具有完整URL的应用程序。但是,当我仅给出本地主机名和端口号(即http://localhost:8080)时,出现404错误。我原本希望看到Tomcat服务器“如果看到此消息,则说明您已成功安装Tomcat。恭喜!”页面。

此行为在Eclipse和浏览器之间是一致的。

这里是我http://localhost:8080遇到的错误

enter image description here

这是我通过http://localhost:8080/helloworld/hello获得的输出>

enter image description here

Tomcat显然在端口8080上运行。这是我的netstat命令的输出:enter image description here


这是Java代码:

package apress.helloworld;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloWorld extends HttpServlet{

    protected void doGet(HttpServletRequest request,
            HttpServletResponse response)
    {
        try
        {
            response.setContentType("text/html");
            PrintWriter printWriter = response.getWriter();
            printWriter.println("<h2>");
            printWriter.println("Hello World");
            printWriter.println("</h2>");
        }
        catch (IOException ioException)
        {
            ioException.printStackTrace();
        }
    }

}

这是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"
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_3_0.xsd"
id="WebApp_ID" version="3.0">
    <display-name>helloworld</display-name>
    <servlet>
        <servlet-name>HelloWorld</servlet-name>
        <servlet-class>apress.helloworld.HelloWorld</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
</web-app>

我已按照学习Java开发Web(Apress)中给出的说明创建了一个基于Tomcat的Web应用程序。该Web应用程序已在Eclipse中开发为动态Web项目(...

java tomcat servlets
1个回答
0
投票

为了在/处看到某些内容(例如http://localhost:8080/),您必须有一个名为ROOT的应用程序(名称不能为空)。这可以是Eclipse中的应用程序,tomcat的ROOT.war目录中的文件webapps或具有名为ROOT的Web应用程序的目录。

如果在eclipse中启动tomcat服务器,则可能未部署该标准Web应用程序-实际上,您应该对此感到高兴,因为它没有使您自己开发/部署这样的应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.