在tomcat 7上运行的spring mvc app中出现404错误

时间:2014-03-18 19:45:24

标签: java eclipse spring jsp tomcat

我在一个spring mvc应用程序中遇到404错误:The requested resource is not available我在eclipse中开发并使用eclipse中的run as ... run on server在tomcat 7的本地实例上进行测试。当应用程序启动应用程序的根URL时,会显示错误。

我没有对welcome.jsp进行更改,也没有对xml配置文件进行更改,因为它最后工作。由于问题不在于配置文件,我不会通过添加它们来分散这个帖子。

另请注意,eclipse控制台中没有错误日志或堆栈跟踪。

如何在不丢弃404的情况下加载我的应用程序?

注意:我在下面给出了自己的答案。事实证明解决方案是右键单击eclipse中服务器选项卡中的服务器实例,然后执行清理,然后发布,然后再次运行...再次运行服务器,这会导致应用程序加载有意义的堆栈跟踪,然后我很容易解决。正如我上面预测的那样,这个问题出现在eclipse中,而不是配置文件。这是一个有效的问题。没有必要投票或投票关闭它。我希望它能帮助别人。

2 个答案:

答案 0 :(得分:1)

通常,您不会将您的html或jsp文件放在WEB-INF文件夹下。通常,您的目录结构如下所示:

[application root]
 |
 |_ index.html
 |_ index.jsp
 |_ media
 |    |_ css
 |    |_ js
 |    |    |_ jquery..js
 |    |    
 |    |_ images
 |_ META-INF
 |        |_ context.xml
 |_WEB-INF
         |_ classes
         |_ lib
         |    |_ jed-1.0.jar
         |    |_ gson-2.2.4.jar
         |    |_ log4j-1.2.8.jar
         |    |_ mysql-connector-java-5.1.18.jar
         |_ properties
             |_ log4j_CONSOLE.properties
             |_ log4j_FILE.properties

您将收到404错误,因为servlet容器正在应用程序根文件夹下查找html或jsp页面,而不是在WEB-INF文件夹下。此外,您的web.xml文件应包含以下内容,以指定主页:

<welcome-file-list>
   <welcome-file>index.jsp</welcome-file>    
</welcome-file-list>

您的web.xml没有此功能。希望这会有所帮助。

答案 1 :(得分:1)

问题在于Eclipse中的损坏。所以解决方案是:

  1. 点击eclipse中的服务器标签
  2. 右键单击服务器实例
  3. 选择干净
  4. 重复右键单击服务器实例,然后选择发布
  5. 运行为...在应用服务器上运行
  6. 这五个步骤导致app加载了一个有意义的堆栈跟踪错误,其中涉及_someclassname_controller.java中的冗余url映射,当我上次在Eclipse中工作时,我正处于编辑过程中。当我解决了堆栈跟踪错误时,应用程序再次运行。