java - Tomcat 找不到 Java servlet 的开发版本
问题描述
我的项目有一个扩展HttpServlet
. 在 ops 中,这个 servlet 正确响应对运行 Tomcat 6 的服务器的 AJAX 调用。调用的 URL 格式为host:port/App/Servlet(query-string)
.
我正在向 servlet 添加一个新的 AJAX 调用。我将servlet WAR 文件复制到Tomcatwebapps
目录并反弹tomcat 服务。然后我运行我的项目(从 tcsh 脚本)。对 servlet 的调用现在返回 HTTP 404。
我在 Catalina 日志文件中看不到任何内容表明 servlet 甚至已启动,但没有关于为什么找不到它的错误消息。(我怀疑还有一些其他的日志设置需要调整,还有一些其他的日志文件需要查看。)
我与另一个运行原始 servlet 的开发服务器进行了交叉检查,它没有问题。
到 servlet 的路由出了什么问题,我该如何解决?
ETA1:servlet 有一个调用列表:Call1
、Call2
等。我添加Call3
到列表中并Call1
尽可能多地重复使用该模式。现在两者都Call1
返回Call3
404 错误。
ETA2:我将 servlet WAR 文件从其他开发服务器(现有 AJAX 调用正常工作的地方)放到了这个开发服务器上。呼叫继续正常工作。虽然我确实注意到构建系统运行 JDK 1.7.0_51 而应用程序运行 JDK 1.7.0_71 的怪癖。我还复制了 AJAX 请求的 URL 并直接访问了该位置。使用现有的 servlet,我得到了一个非常正确的 AJAX 响应。使用我的开发版本,我得到了一个空白页面。
ETA3:我将根据评论的反馈澄清我的情况。
我的项目有一个 Java Web 应用程序。它本身就可以正常运行。
该应用程序将 AJAX 调用发送到 Java servlet。此 servlet 在操作中正常工作。此外,当我将发布版本复制到我的开发 Tomcat 6 服务器时,发布版本可以正常工作。
我向 servlet 添加了一个特性,并将 WAR 文件部署到开发 Tomcat 服务器。现在 Tomcat 抱怨它找不到 servlet (HTTP 404),即使是相同的调用和未修改的功能,它们曾经可以正常工作。
由于发行版在开发 Web 服务器上运行正常,我得出结论认为 Tomcat 本身运行正常。我还得出结论,URL 或端口没有问题。据我所知,Tomcat 要么无法启动 servlet,要么 servlet 在到达其构造函数之前失败。我没有找到会显示失败的日志文件或日志记录设置。
解决方案
推荐阅读
- angular - Angular 7 CDK 门户:错误必须提供要附加的门户
- elasticsearch - Elasticsearch 6.0 删除映射类型 - 替代方案
- android - Inmobi 插页式广告显示带有关闭按钮的空白屏幕
- javascript - 浏览器和节点的firestore api
- c# - Working with multiple custom DocuSign anchor tags
- coq - How to unfold a Coq fixpoint by one iteration
- django - 为什么字典的属性通过与 view.py 中的代码连接在模板 html 中起作用?
- javascript - 如何在 JavaScript 中将数字转换为日期
- python - 如何创建一个倒排索引,其中包含有关每个文档中每个单词出现次数的信息
- java - 如何将 jaspersoft 与动态 Web 应用程序集成