我在服务器中托管了一个功能齐全的Web应用程序。它使用localhost完美地工作但是当我在服务器上启动Tomcat 7.0.59并尝试从我的本地机器到达应用程序时,它会加载html和css,然后在尝试命中第一个Controller Servlet时中断:
function loadRows(fullAccess)
{
var review_ID = location.search.split('review=')[1];
$.ajax({
url : "LoginController",
type : "post",
data : {
"reviewID" : review_ID
},
...
所以我很确定它没有正确读取web.xml,这是我的Servlets / Servlet-Mappings的定义。
这是我的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">
<display-name>MVCDemo</display-name>
<servlet>
<servlet-name>LoginController</servlet-name>
<servlet-class>mvcdemo.controllers.LoginController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginController</servlet-name>
<url-pattern>/LoginController</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>UpdateController</servlet-name>
<servlet-class>mvcdemo.controllers.UpdateController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UpdateController</servlet-name>
<url-pattern>/UpdateController</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SubmitController</servlet-name>
<servlet-class>mvcdemo.controllers.SubmitController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SubmitController</servlet-name>
<url-pattern>/SubmitController</url-pattern>
</servlet-mapping>
</web-app>
我甚至尝试添加
<welcome-file-list>
<welcome-file>foo.jsp</welcome-file>
</welcome-file-list>
要查看应用程序在尝试查找foo.jsp时是否会中断而未找到它(实际文件名为index.jsp),但仍然会呈现index.jsp,因此显然没有加载web.xml。有什么想法吗?谢谢!
答案 0 :(得分:0)
WEB.XML
web.xml文件派生自Servlet规范,和 包含用于部署和配置组件的信息 您的Web应用程序。在第一次配置Tomcat时, 您可以在此处为中央组件定义servlet映射 比如JSP。在Tomcat中,此文件的功能与此相同 在Servlet规范中描述。 唯一的分歧 Tomcat对此文件的处理是用户可以选择的 利用TOMCAT-HOME / conf / web.xml为所有人定义默认值 上下文。如果使用此方法,Tomcat将使用 TOMCAT-HOME / conf / web.xml作为基本配置,可以 由特定于应用程序的WEB-INF / web.xml文件覆盖。
来源:https://www.mulesoft.com/tcat/tomcat-configuration
我认为Tomcat不会覆盖WEB-INF / web.xml并且正在查找conf文件夹。
答案 1 :(得分:0)
尝试导入项目,并在将所有文件复制到新项目时注意。
基本上你需要覆盖web.xml部署描述符。