我已经按照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
遇到的错误
这是我通过http://localhost:8080/helloworld/hello
获得的输出>
Tomcat显然在端口8080上运行。这是我的netstat
命令的输出:
这是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项目(...
为了在/
处看到某些内容(例如http://localhost:8080/
),您必须有一个名为ROOT
的应用程序(名称不能为空)。这可以是Eclipse中的应用程序,tomcat的ROOT.war
目录中的文件webapps
或具有名为ROOT
的Web应用程序的目录。
如果在eclipse中启动tomcat服务器,则可能未部署该标准Web应用程序-实际上,您应该对此感到高兴,因为它没有使您自己开发/部署这样的应用程序。