初始Spring MVC,初始springmvc
1.
1.Spring MVC簡介
Spring MVC屬於SpringFrameWork的後續產品,已經融合在Spring Web Flow裡面。Spring 架構提供了構建 Web 應用程式的全功能 MVC 模組。使用 Spring 可插入的 MVC 架構,從而在使用Spring進行WEB開發時,可以選擇使用Spring的SpringMVC架構或整合其他MVC開發架構,如Struts1,Struts2等。
架構編輯通過策略介面,Spring 架構是高度可配置的,而且包含多種視圖技術,例如 JavaServer Pages(JSP)技術、Velocity、Tiles、iText和POI。Spring MVC 架構並不知道使用的視圖,所以不會強迫您只使用 JSP 技術。Spring MVC 分離了控制器、模型對象、過濾器以及處理常式對象的角色,這種分離讓它們更容易進行定製。優點編輯Lifecycle for overriding binding, validation, etc,易於同其它View架構(Tiles等)無縫整合,採用IOC便於測試。它是一個典型的教科書式的mvc構架,而不像struts等都是變種或者不是完全基於mvc系統的架構,對於初學者或者想瞭解mvc的人來說我覺得 spring是最好的,它的實現就是教科書!第二它和tapestry一樣是一個純正的servlet系統,這也是它和tapestry相比 struts所具有的優勢。而且架構本身有代碼,看起來容易理解。
Spring MVC架構是有一個MVC架構,通過實現Model-View-Controller模式來很好地將資料、業務與展現進行分離。從這樣一個角度來說,Spring MVC和Struts、Struts2非常類似。Spring MVC的設計是圍繞DispatcherServlet展開的,DispatcherServlet負責將請求派發到特定的handler。通過可配置的handler mappings、view resolution、locale以及theme resolution來處理請求並且轉到對應的視圖。Spring MVC請求處理的整體流程
2.單元測試
1、搭建測試Web環境
<!-- 註冊中央處理器 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <!-- 設定內容相關的參數名稱--> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </init-param> <!-- 標記容器是否在啟動的時候執行個體化 --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
View Code
2、定義一個控制器類HelloController:
import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.Controller;public class MyController implements Controller { public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv=new ModelAndView(); mv.setViewName("WEB-INF/jsp/index.jsp"); return mv; }}View Code
3、SpringMVC.xml配置
<bean id="/happy.do" class="cn.happy.controller.MyController"></bean>
View Code
4、效果 這裡的happy.do是XML裡面指定的id