我剛開始用的Spring MVC試圖創建一個新的項目,來到翻過對於沒有手動或教程似乎幫助一個問題...Spring MVC的 - jsp中沒有渲染
我已經設置了一個簡單的應用程序沒有邏輯,只是試圖讓Spring配置正確。控制器只是返回一個視圖的名稱來顯示,但視圖解析器不呈現的jsp,並返回404錯誤....
任何幫助,非常感謝。
我的web.xml文件是:
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>openstats</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>openstats</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<display-name>OpenStats API Server</display-name>
</web-app>
的我openstats-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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<context:component-scan base-package="org.openstats.api.controller"/>
<!-- Enable to request mappings PER METHOD -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
<!-- Enable annotated POJO @Controller -->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<!-- Define the view resolver to use jsp files within the jsp folder -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</value></property>
<property name="prefix"><value>/jsp/</value></property>
<property name="suffix"><value>.jsp</value></property>
</bean>
</beans>
控制器本身沒有任何邏輯,它只是:
@Controller
public class ProductController {
@RequestMapping(value = "/products.do", method = RequestMethod.GET)
public ModelAndView listProducts(HttpServletRequest request) {
ModelAndView model = new ModelAndView("index");
return model;
}
}
的控制器已到達,問題是當試圖呈現...
我設立在調試log4j的,這是我所得到的部分:
02:08:19702 DEBUG 的DispatcherServlet:1094 - 測試處理器適配器 [org.springframework.web.servlet.mvc。 [email protected]] 02:08:19803 DEBUG HandlerMethodInvoker:134 - 調用 請求處理方法,包括:公共org.springframework.web.servlet.ModelAndView org.openstats.api.controller.ProductController.listProducts(的javax.servlet .http.HttpServletRequest) 02:08:19,833調試 DefaultListableBeanFactory:1367 - 調用的afterPropertiesSet()上豆 與名稱 '索引' 02:08:19876 DEBUG 的InternalResourceViewResolver:81 - 緩存視圖[指數] 02:08:19877 DEBUG 的DispatcherServlet:1181 - 模擬 視圖 [org.springframework。 web.servlet.view.JstlView: name'index'; URL [/jsp/index.jsp]在 DispatcherServlet的與名稱 'openstats' 02:08:19877 DEBUG JstlView:240 - 模擬視圖與 名稱與模型{}和靜態 屬性{} 02 '索引': 08:19923 DEBUG JstlView:234 - 轉發至資源 [/jsp/index.jsp]在 InternalResourceView '索引' 02:08:19926 DEBUG DispatcherServlet的:955 - DispatcherServlet的名稱爲 'openstats' 最後所確定已修改 值[/api-server/jsp/index.jsp] 02:08:19,927調試 DispatcherServlet:1054 - 測試 處理程序映射 [org.springframe[email protected]440c4cee] 在DispatcherServlet的與名稱 'openstats' 02:08:19928 DEBUG DefaultAnnotationHandlerMapping:179 - 未發現 處理程序映射[/ JSP /索引。JSP] 02:08:19929 DEBUG DispatcherServlet的:962 - 否getLastModified 02發現處理程序 :08:19937 DEBUG DispatcherServlet的:781 - DispatcherServlet的名稱爲 'openstats' 的 [/ API服務器/ JSP處理請求/的index.jsp] 02:08:19938 DEBUG DispatcherServlet的:843 - 綁定請求 上下文線程:GET /api-server/products.do HTTP/1.1
我的JSP文件夾是內「web應用權「並且存在index.jsp文件。
在此先感謝。
這裏有什麼奇怪的是,一旦InternalResourceViewResolver找到了正確的JSP,DispatcherServlet就開始將它當作一個請求來對待,並且正在尋找一個控制器來處理URN /api-server/jsp/index.jsp 您可以發佈內容的JSP? 是否有任何其他配置可能導致此行爲? – 2009-10-23 16:23:16