2010-09-18 94 views
0

的web.xml無法運行基本Spring MVC的例子 - 資源未找到

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/spitter-servlet.xml</param-value> 
</context-param> 

<servlet> 
    <servlet-name>spitter</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
</servlet> 

<servlet-mapping> 
    <servlet-name>spitter</servlet-name> 
    <url-pattern>*.jsp</url-pattern> 
</servlet-mapping> 

spitter-servlet.xml中

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
    <property name="mappings"> 
     <value> 
      /home=homeController 
     </value> 
    </property> 
</bean> 

<bean 
    class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"> 
    <property name="order" value="1"></property> 
</bean> 

<bean 
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="viewClass" 
     value="org.springframework.web.servlet.view.JstlView"></property> 

    <property name="prefix" value="/WEB-INF/jsp/"></property> 
    <property name="suffix" value=".jsp"></property> 
</bean> 

<bean name="homeController" class="org.SpringMvcExample.homeController"></bean> 

homeController.java

public class homeController { 
    @RequestMapping({ "/", "/home" }) 
    public String showHomePage(Map<String, Object> model) {  
     System.out.println("I am here"); 
     model.put("spittles", new String("This is ramesh")); 
     return "home"; 
    } 
} 

爲什麼我不能夠看到針對home.jsp?

回到Home.jsp被放置在路徑:WEB-INF/JSP /回到Home.jsp

我進入網址爲http://localhost:8080/SpringMvcExample/home.jsp

和錯誤是:未找到資源。

這裏有什麼錯?

請幫助我..

由於提前

+0

任何建議球員......我認爲問題是與視圖解析器。但我找不到問題在哪裏?請解決這個問題 – javanoob 2010-09-19 04:39:27

回答

1

我覺得烏羅的答案是差不多吧 - 你不應該爲DispatcherServlet使用<url-pattern>*.jsp</url-pattern>,因爲它與基於JSP的意見衝突(雖然/*,爲烏羅認爲,衝突也是如此)。嘗試使用*.html*.do

+0

偉大的人..我掙扎着整個週末來解決這個問題。你能告訴我爲什麼'*。jsp'不被允許嗎?謝謝你的時間。 – javanoob 2010-09-20 17:23:04

+0

Uro第一次評論這個問題,我回答說..但現在我沒有看到他的答案..我很驚訝你看到uros評論? – javanoob 2010-09-20 17:26:47

+0

servlet容器內部的某處有一個映射到'* .jsp'的servlet。這個servlet負責渲染JSP頁面。如果您重寫'* .jsp'映射,則不能再呈現JSP頁面(包括您的視圖)。 Uro的答案是什麼,10k +用戶可以看到已刪除的帖子。 – axtavt 2010-09-20 17:43:07

0

試試 「home」,而不是在控制器@RequestMapping/home」。

+0

當我把它改變爲'home'方法'showHomePage'根本沒有被調用的請求'http:// localhost:8080/SpringMvcExample/home.jsp' – javanoob 2010-09-18 16:22:21