spring-framework-reference中文版摘錄。
spring3.1
1.簡單介紹一下Spring Web MVC框架
Spring Web MVC藉助DispatcherServlet將requests轉發給handlers,可以配置handler mappings、視圖、本地化等,甚至支持文件上傳。
默認的handler 基於@Controller 和 @RequestMapping註解。通過@Controller和@PathVariable等其他註解還可以構建RESTful的WEB應用。
在Spring Web MVC中可以使用普通的類,而不必實現特定的接口。
Spring的數據綁定和視圖實現非常的靈活,model採用Map格式。
2.DispatcherServlet
跟其他的web MVC框架一樣,Spring Web MVC也是基於request驅動的(跟JSF區別),屬於前端控制型。
DispatcherServlet 其實是Servlet(HttpServlet的子類),需要在web.xml聲明,並配置要其轉發的requests。示例如下:
<web-app> <servlet> <servlet-name>example</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>example</servlet-name> <url-pattern>/example/*</url-pattern> </servlet-mapping> </web-app>
/example/的請求將會被DispatcherServlet轉發。這僅僅是使用Spring Web MVC的第一步。
DispatcherServlet需要定義自己的WebApplicationContext,以[servlet-name]-servlet.xml命名置於WEB-INF目錄下。文件的命名必須和web.xml配置的servlet-name一致。如上的配置,就應命名爲/WEB-INF/example-servlet.xml。
如上配置就應命名爲/WEB-INF/golfing-servlet.xml。
Spring DispatcherServlet利用一些特定的bean來轉發請求和渲染視圖,這些bean都在WebApplicationContext中配置。