我的应用程序使用 Spring MVC(最新版本;3.2.2)创建返回 JSON 的 RESTful API,到目前为止,我根本不需要视图层。但是现在,除了 API 之外,我还需要一个简单的实用程序页面(纯动态 HTML),并且想为此使用 JSP。
我希望请求http://localhost:8080/foo/<id>
通过控制器(Java)并最终进入 JSP。应该很简单吧?但我得到 404;在解决视图方面有些事情是不对的。
HTTP ERROR 404
Problem accessing /jsp/foo.jsp. Reason:
Not Found
控制器:
@RequestMapping(value = "/foo/{id}")
public String testing(@PathVariable String id, ModelMap model) {
model.addAttribute("id", id);
return "foo";
}
定义控制器和映射请求有效;这个方法被调用就好了。
弹簧配置:
<mvc:annotation-driven/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/jsp/" p:suffix=".jsp"/>
问题可能就在这里。我已经尝试了稍微不同的前缀并将 JSP 放在 下WEB-INF
,以及类似<mvc:view-controller path="/*" />
但还没有运气的东西。
(我什至需要指定 InternalResourceViewResolver,还是应该使用默认视图解析器来处理这个问题?)
JSP 文件。在src/main/webapp/jsp
(项目使用 Maven 约定)下,我显然有 JSP。
这个位置有问题吗?
网页.xml:
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
我浏览了Spring MVC 文档,但我的问题可能太琐碎和明显,无法轻松找到帮助。:-P
谁能告诉我我做错了什么?