2015-09-14 40 views
2

我試圖用spring mvc設計一個多模塊項目。如何爲2組/控制器模塊定義多個servlet映射

我不想涉及OSGi或springource DM服務器。我只是想將控制器類分成幾個包。

com.myproject 
    ├─ moldule1 
    │ └─ controller 
    │  └─ controller classes for moldule1 ... 
    └─moldule2 
    └─ controller 
     └─ controller classes for moldule2 ... 

然後下模塊1的控制器可以通過... /模塊1 /控制器/ action.do和下模塊2的控制器可以通過... /模塊2 /控制器/ action.do訪問來訪問。

有人可以指點我一個這樣的結構的例子嗎?尤其是如何在web.xml中配置servlet-mapping。 在此先感謝!

回答

0

您可以在同一個項目中添加多個控制器,請啓用控制器自動掃描模式dispatcher-servlet.xml這樣,

<context:component-scan base-package="com.myproject" /> 

然後分離你的控制器,你想要的方式,

@Controller 
@RequestMapping("/module1/controller") 
public class Module1Controller { 

    // Define your specific HTTP RequestMapping 

    @RequestMapping(value = "/action.do", method = RequestMethod.GET) 
    public String foo(HttpSerlvetRequest request, Map<String, Object> map)){ 

     // define your method behaviour 
     return "sample"; 
    } 
} 

對於第二個Module2Controller將它添加到您項目中的相同包中,

@Controller 
    @RequestMapping("/module2/controller") 
    public class Module2Controller { 

     // Define your specific HTTP RequestMapping 
    } 
+1

I t ested你的解決方案,它工作得很好。 這真的是一個簡單的工具。但直到你指出,我從來沒有想過。 非常感謝,Vig。 – Daniel

+0

歡迎Daniel,Hope,現在一切都應該清楚。 –