個人認爲Spring其核心是其IOC和AOP方面,對其SpirngMVC框架並不關注,我看好的是JSF,簡單易懂。但最近由於工作上需要,所以有需要對SpringMVC做個瞭解學習,因此,本次對SpirngMVC的相遇純屬偶遇....下面對其做見識性瞭解說明:
SpingMVC的架構其實也很簡單,它通過一個共通的入門DispatcherServlet來接收所有的request,接下來根據request要求的頁面通過handler轉送給Controller處理,處理結果返回View給用戶,因此對SpringMVC來說,其核心爲DispatcherServlet。
DispatcherServlet作爲一扇門,我們要使用這個門,首先得安裝上這個門,安裝在哪呢?沒錯,就安裝在web.xml這個大屋子,象其他servlet一樣,描述servlet的名字和類,再給他一個mapping描述對應映射的網頁。在下例中,我們給DispatcherServlet的起名爲SpringMVCDemo,並讓container知道所有.do結尾的request都丟給dispatcher。
< servlet-name > SpringMVCDemo </ servlet-name >
< servlet-class >
org.springframework.web.servlet.DispatcherServlet
</ servlet-class >
< load-on-startup > 1 </ load-on-startup >
</ servlet >
< servlet-mapping >
< servlet-name > SpringMVCDemo </ servlet-name >
< url-pattern > *.do </ url-pattern >
</ servlet-mapping >
門安裝好了之後,我們需要定義門能打開的範圍,在哪定義呢?就在門的上面貼上一張“入門指導”,介紹從哪方面(hello.do)進門需要使用何種交通方式(springmvcController)進去,並定義該交通方式。
class ="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping" >
< property name ="mappings" >
< props >
< prop key ="/hello.do" > springmvcController </ prop >
</ props >
</ property >
</ bean >
<!-- SpringmvcController -->
< bean id ="springmvcController"
class ="org.improviser.webapp.controller.SpringmvcController" >
</ bean >
接下來該渲染一下頁面了,下面爲渲染所有以 WEB-INF/pages/ 開頭,並以.jsp結尾的頁面。
< bean id ="viewResolver"
class ="org.springframework.web.servlet.view.InternalResourceViewResolver" >
< property name ="viewClass" >
< value > org.springframework.web.servlet.view.JstlView </ value >
</ property >
< property name ="prefix" >
< value > /WEB-INF/pages/ </ value >
</ property >
< property name ="suffix" >
< value > .jsp </ value >
</ property >
</ bean >
/** Logger for this class and subclasses */
protected final Log logger = LogFactory.getLog(getClass());
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
Map model = new HashMap();
String str = "即興詩人";
logger.info("returning hello view with " + currTime);
model.put("coldice", str);
return new ModelAndView("hello", "message", model);
}
<head>
<title>Spring Application</title>
</head>
<body>
<h1>
<br />
Hello
<c:out value="${message.coldice}" /></br>
Spring MVC 測試成功!
</h1>
</body>
</html>
現在對以上內容作個總結,正如上面所敘述,SpringMVC框架的處理過程機制如下圖所示,接收請求頁面,通過DispatcherServlet映射到相應規則處理,並找到相應的控制器,結果控制器處理後返回相應的頁面最後返回給用戶。
轉自http://www.blogjava.net/improviser/archive/2007/11/04/158025.html