我的應用程序使用Spring MVC(latest; 3.2.2)創建一個返回JSON的RESTful API,到目前爲止,我根本不需要視圖層。但現在,除了API之外,我還需要一個簡單的實用程序頁面(簡單的動態HTML),並且希望爲此使用JSP。如何獲得Spring MVC視圖(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";
}
定義控制器和請求映射的工作原理;這個方法被調用得很好。
Spring配置:
<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。
有什麼不對的位置?
web.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 documentation瀏覽,但我的問題可能是過於瑣碎和明顯很容易地找到幫助那裏。 :-P
任何人都可以啓發我,我做錯了什麼?