【发布时间】:2014-12-28 17:40:35
【问题描述】:
所以我正在通过tutorial 制作一个简单的项目来测试 Spring Framework,并遇到了一个我无法弄清楚的问题。
我的项目结构:
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
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_3_0.xsd">
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.html</url-pattern>
<url-pattern>*.htm</url-pattern>
<url-pattern>*.json</url-pattern>
</servlet-mapping>
</web-app>
调度程序-servlet.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.itaSS.controller" />
</beans>
HomeController.java:
package com.itaSS.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HomeController {
@RequestMapping("/home")
public String home() {
return "/WEB-INF/jsp/home.jsp";
}
}
所以当在 tomcat 上部署战争并尝试访问 localhost:8080/home.html 我明白了:
我确定 web.xml 中有一些错误,或者我错过了一些东西。 如果有人帮助我,我将不胜感激!
【问题讨论】:
-
将您的
@RequestMapping更改为"/home.html"。 -
不起作用,我不确定这是否是问题所在,因为在 web.xml 中我们有 *.html 的映射。
-
确保部署了正确的工件。
-
localhost:8080 显示 index.jsp,因此工件已部署。
-
启用调试日志并检查发生了什么。我怀疑您的控制器已找到,但您的 JSP 未找到。
标签: java xml spring spring-mvc tomcat