Tomcat找不到servlet
我目前正在开发一个部署到Tomcat7的GWT程序,我的程序在点击按钮时没有响应 在把原木翻了一番之后,我似乎发现了问题所在。在我的访问日志中,我发现:Tomcat找不到servlet,tomcat,servlets,gwt,deployment,http-status-code-404,Tomcat,Servlets,Gwt,Deployment,Http Status Code 404,我目前正在开发一个部署到Tomcat7的GWT程序,我的程序在点击按钮时没有响应 在把原木翻了一番之后,我似乎发现了问题所在。在我的访问日志中,我发现: [31/Mar/2016:02:27:19 +0000] "GET /test6/ HTTP/1.1" 404 963 [31/Mar/2016:02:27:38 +0000] "POST /LuceneServlet HTTP/1.1" 404 977 [31/Mar/2016:02:27:39 +0000] "POST /LuceneSer
[31/Mar/2016:02:27:19 +0000] "GET /test6/ HTTP/1.1" 404 963
[31/Mar/2016:02:27:38 +0000] "POST /LuceneServlet HTTP/1.1" 404 977
[31/Mar/2016:02:27:39 +0000] "POST /LuceneServlet HTTP/1.1" 404 977
[31/Mar/2016:02:27:40 +0000] "POST /LuceneServlet HTTP/1.1" 404 977
[31/Mar/2016:02:27:41 +0000] "POST /LuceneServlet HTTP/1.1" 404 977
因此,似乎从未找到servlet。war文件是由eclipse和GWT编译器创建的。这是创建的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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_2_5.xsd"
version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee">
<!-- Servlets -->
<servlet>
<servlet-name>PerformSearchImpl</servlet-name>
<servlet-class>com.utm.csc.server.PerformSearchImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PerformSearchImpl</servlet-name>
<url-pattern>/SearchTest/PerformSearch</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>/LuceneServlet</welcome-file>
</welcome-file-list>
<!-- Servlets -->
<servlet>
<servlet-name>LuceneServlet</servlet-name>
<servlet-class>
com.utm.csc.server.LuceneServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LuceneServlet</servlet-name>
<url-pattern>/LuceneServlet</url-pattern>
</servlet-mapping>
</web-app>
性能档案
com.utm.csc.server.PerformSearchImpl
性能档案
/搜索测试/性能搜索
/LuceneServlet
LuceneServlet
com.utm.csc.server.LuceneServlet
LuceneServlet
/LuceneServlet
怎么了?编译的LuceneServlet.class位于/WEB-INF/classes/com/utm/csc/server/中,该WEB.xml正确吗
谢谢我的第一个想法是将/LuceneServlet更改为/SearchTest/LuceneServlet。我怀疑问题不在于servlet映射,因为如果加载时servlet不可用,您可能会在日志中看到更多错误。可能的问题是servlet的url路径和您试图发布到的路径不同。您是否介意将GWT代码的相关摘录放在浏览器地址栏中以调用其
doGet()
,以排除其中一个和另一个,servlet的完整URL是什么?很有可能你真的需要一个上下文路径,而这在HTML表单操作中丢失了。嘿,这是一个相对的东西。在GWT调试服务器上,它被部署到web服务器根目录,在tomcat上,它被部署到一个子目录。部署到root修复了所有问题。我的第一个想法是将/LuceneServlet更改为/SearchTest/LuceneServlet。我怀疑问题不在于servlet映射,因为如果加载时servlet不可用,您可能会在日志中看到更多错误。可能的问题是servlet的url路径和您试图发布到的路径不同。您是否介意将GWT代码的相关摘录放在浏览器地址栏中以调用其doGet()
,以排除其中一个和另一个,servlet的完整URL是什么?很有可能你真的需要一个上下文路径,而这在HTML表单操作中丢失了。嘿,这是一个相对的东西。在GWT调试服务器上,它被部署到web服务器根目录,在tomcat上,它被部署到一个子目录。部署到root修复了所有问题。