2009-12-29 54 views
2

我最近使用spring 3。 我想使用REST。 問題是,我想使用許多不同的path.like通知/ *,用戶/ *等。 我知道如何配置一個。如何在spring 3 mvc中配置很多DispatcherServlet?

<servlet> 
    <servlet-name>notice</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

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

因此,如果我想在web.xml中添加/ user/*,我應該怎麼做?如何配置? 感謝

回答

5

只需創建在web.xml中新servletservlet-mapping元素爲用戶的servlet:

<!-- notice servlet and servlet-mapping ... --> 

<servlet> 
    <servlet-name>user</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

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

然後創建所需的用戶servlet.xml的Spring配置文件,並把它放在相同的位置現有notice-servlet.xml,以便用戶DispatcherServlet可以加載其配置。

3

你真的想擁有幾個調度servlet嗎?我建議將調度程序映射到/

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

然後在您的控制器中映射到不同的「子網址」。例如@RequestMapping(value =「/ users」,method = RequestMethod.GET)來映射用戶。 reference manual在解釋如何映射網址方面做得很好。