2016-03-24 66 views
0

我有一個Spring項目。當我呼叫URL時,它會調用控制器並將結果打印在控制檯中。但是requestmapping方法打印輸出,但不顯示view/jsp頁面。找不到具有URI的HTTP請求的映射[/springmvc2k/WEB-INF/views/home.jsp]

請在下面的鏈接找到更好的理解。

我的春天項目結構:

My Spring Project Structure

控制器被稱爲印刷 'IN' 作爲輸出:

the controller is called and printing 'IN' as output

控制器我一直在使用。

@Controller 
public class BaseController { 

    @RequestMapping(value="/") 
    public String getRespnse(Model m) { 
     System.out.println("IN"); 
     return "home"; 
    } 

} 

這是我正在使用的視圖解析器。

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix" value="/WEB-INF/views/" /> 
     <property name="suffix" value=".jsp" /> 
</bean> 

我無法在瀏覽器中查看jsp輸出,請提供一種處理方法。

+0

請從您返回視圖名稱的位置發佈控制器的代碼。 – M4ver1k

+0

視圖文件夾應位於WEB-INF文件夾之外。意味着它將在webapps目錄內。 – ypp

回答

0

如果將DispatcherServlet映射到web.xml中的url pattern/*,它將覆蓋指定的所有其他url映射。爲了處理JSP,Web容器包含一個映射* .jsp來處理JSP。

因此,您映射覆蓋容器的* .jsp servlet,並且請求servlet現在正在通過您不知道如何處理JSP的DispatcherServlet。

將您的網址格式從/ *更改爲/

+0

非常感謝你,它像一個魅力。你能解釋更多嗎?它是如何工作的,所以我可以更好地理解。 –

+0

這是由Servlet URL映射規則定義的。下面的文章有詳細的解釋http://javapapers.com/servlet/what-is-servlet-mapping/ –

相關問題