某些Tomcat Web应用程序无法打开

时间:2020-03-05 18:50:30  来源:igfitidea点击:

我下载了几个webapp,并将它们放在我的/ webapps文件夹中。
其中一些我可以通过访问http:// localhost:8080 / app1来打开,它将打开。
但是,有些人我会做同样的事情,然后转到http:// localhost:8080 / app2,即使我确定它在那里,它也会显示" HTTP Status 404 / app2 /"。我检查了它是否像app1一样包含一个WEB-INF文件夹,并且甚至确定已经重新启动了Tomcat。

我的问题是:是否有任何东西(也许在web.xml文件中)指定启动Webapp所必须的URL?还是仅仅是http:// localhost:8080 / <文件夹名称>

P.S.如果我们想确切知道我指的是app1和app2:
app1(作品)= http://assets.devx.com/sourcecode/11237.zip
app2(无效)= http://www.laliluna.de/download/eclipse-spring-jdbc-tutorial.zip

我也尝试过其他一些,有些工作,有些没有。我只是想知道我是否缺少什么。

解决方案

回答

第二个需要spring框架。我能找到的唯一可运行的东西是eclipse-spring-jdbc-tutorial.zip \ SpringJdbc \ src \ test \ de \ laliluna \ library \ TestClient.java中的客户端和eclipse-spring-jdbc-tutorial中的一个客户端。 zip \ SpringJdbc \ src \ de \ laliluna \ library \ sample \ MyApplication.java。如果我们在eclipse(这是一个eclipse项目)中打开它并进行编译(如果已安装Spring框架),则我们应该能够同时运行两者。

回答

我通常通过转到管理器页面并确保已部署所有上下文(http:// localhost:8080 / manager / html)进行调试。

听起来app2由于其他错误而没有正确部署或者未启动。

我会看一下日志。那里可能有很多信息,但通常可以解释什么是坏信息。

回答

我们提到的第一个zip文件包含一个.war文件作为zip的一部分。第二个只是源代码,需要将其内置到一个.war文件中。

看起来已设置为在Eclipse中完成。尝试使用"文件>>导出"选项,然后选择War文件作为导出类型。

回答

我们熟悉log4j吗? Spring将大量常用信息放入通过log4j创建的日志中。当我有一个无法正确启动或者无法运行的SpringMVC应用程序时,我将检查log4j并可能将Spring日志级别设置为INFO甚至DEBUG。

回答

如果" /"不可访问,则意味着没有" index.html"," index.jsp"或者在web.xml的欢迎文件列表中定义的任何内容
同样,不存在用于上下文根目录的Servlet-Mapping。
检查web.xml中的Servlet-Mappings或者尝试找出上下文根中的jsp / html / ...文件的名称

回答

第二个应用程序(名为WebRoot的目录)也可以正确部署,但是由于根目录中没有" index.jsp"或者" index.html"文件,因此我们可以通过它获得404.

尝试将带有任何这些名称的文件放在此处,然后404消失了。

严格来说,web.xml中的servlet映射不是必需的。