我仍然遇到一些已经在这里讨论过的问题,但是我仍然不知道我做错了什么。
我的应用程序结构是:
/usr/share/tomcat/webapps/greeting
--index.html
--src
--META-INF
--WEB-INF
--web.xml
--classes
--sk
--simo
--Greeting.class
当请求http://localhost:8080/greeting/
时,我收到一个HTTP 404
响应。
当请求http://localhost:8080/greeting/hi
时,我收到一个HTTP 405
响应。这不是问题,因为Servlet
只处理POST
请求。
我的问题是:如何让Tomcat服务器提供index.html
文件。
这是我的web.xml
文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>Hello, World Application</display-name>
<description>
This is a simple web application with a source code organization
based on the recommendations of the Application Developer's Guide.
</description>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/greeting/*</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>
关于服务器的一些信息:
[miso@edubox conf]$ /sbin/tomcat version
Server version: Apache Tomcat/7.0.76
Server built: Mar 12 2019 10:11:36 UTC
Server number: 7.0.76.0
OS Name: Linux
OS Version: 3.10.0-957.1.3.el7.x86_64
Architecture: amd64
JVM Version: 1.8.0_212-b04
JVM Vendor: Oracle Corporation
发布于 2019-06-09 22:09:47
主要问题是错误的重新部署。当我删除应用程序的顶层目录"greeting“并恢复其内容时,index.html
终于出现了。
servlet映射现在遵循Tomcat 7“示例”应用程序的示例:
web.xml:
<servlet>
<servlet-name>Greeting</servlet-name>
<servlet-class>sk.simo.Greeting</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Greeting</servlet-name>
<url-pattern>/hi</url-pattern>
</servlet-mapping>
我通过以下方式引用它:
<form action="hi" method="POST">
这可以很好地工作。
https://stackoverflow.com/questions/56506630
复制相似问题