2012-12-28 55 views
1

我在web.xml中進行以下配置:春天的url-pattern和@RequestMapping的主頁

<servlet-mapping> 
    <servlet-name>orchard</servlet-name> 
    <url-pattern>/orchard/*</url-pattern> 
    <url-pattern>/orchard</url-pattern> 
</servlet-mapping> 

而下面的@RequestMapping

@RequestMapping(value={"", "/","/home"}, method=RequestMethod.GET) 
public String homePage(Model model, Principal principal, HttpSession session) 

但訪問主頁,我需要要不要去:

http://host:8080/app/orchard/ or http://host:8080/app/orchard/home 

如果我省略了斜線,如:

http://host:8080/app/orchard 

我得到了404.我在配置中做了什麼錯誤嗎?

乾杯, NFV

回答

0

試試這個請求映射,我認爲這應該適合你:

@RequestMapping(value={"/*", "/home"}, method=RequestMethod.GET) 

這將是一個萬能的,但如果沒有找到其他映射,它將默認爲這個。

0

我想你應該的webapps目錄下創建index.jsp頁面,並從那裏,你應該轉發到home.html的,用jsp:forward標籤

+0

的映射是一個Spring控制器,而不是一個JSP。 – nfvindaloo

+0

Dude我正在談論一個歡迎頁面。你可以定義一個歡迎頁面,然後你可以轉發到你的主頁。使用 您的控制器映射應該可以正常使用這種歡迎頁面。 –

0

貌似@RequestMapping的空間不工作,試試這個

<servlet-mapping> 
    <servlet-name>orchard</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

變化,則控制器:

@RequestMapping(value={"/orchard","/orchard/home"}, method=RequestMethod.GET) 
    public String homePage(Model model, Principal principal, HttpSession session)