SpringMVC框架
阿新 • • 發佈:2017-08-23
pro 1.0 ans 分享 nbsp fill avi oge 訪問
一.SpringMVC 是一個MVC流程框架 ,同樣適用於在我們的表層到action模塊中,是 MVC架構模式中真正的Controller. SpringMVC在流程處理方面更加靈活,可以更容易的進行的擴展,可以和Spring 框架進行無縫集成, 但是 SpringMVC 有入侵性,action 需要繼承框架指定的類,或者實現指定的接口。 二,看一個它實現的原理圖吧:
和 Struts2相似 ,有一個核心的過濾器 Dispatcher ,和核心配置文件 springMVC-servlet.xml文件 ,通過過濾做一些固定的任務,到達指定的action 三,初步使用: 1,由於SpringMVC是繼Spring後續開發的,它利用了Spring的jar包,這裏看一下需要導入的jar包: commons-logging.jar(日誌輸出) spring-webmvc.jar(SpringMVC核心包) spring.jar (Spring核心包) 2.編寫springMVC-servlet.xml文件,存放到/WEB-INF目錄下 [html] view plain copy print? <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> <beans> <!-- VIEW DEFINITIONS ,視圖解析器,框架提供了好多解析器,這裏舉例其中的一種--> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/spring/"/> <property name="suffix" value=".jsp"/> </bean> <!-- DEFINITIONS OF PUBLIC CONTROLLERS ,映射解析器--> <bean id="defaultHandlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> </beans> <!-- 控制器類,name表示訪問的URI路徑,class表示對應的action類 --> <bean name="/hello.html" class="com.ljh.springmvc.controller.HelloWorldController"></bean> 3,在web.xml中增加對springMVC框架的支持,其實就是增加SpringMVC框架核心過濾器的servlet的配置: <!-- SpringMVC的核心控制器(前端控制器) --> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <!-- 指定配置文件的全名,如果不指定,則為這裏的servlet-name的屬性SpringMVC+"-servlet.xml" --> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/springMVC-servlet.xml</param-value> </init-param> <!-- 啟動服務器時創建此serlvet核心對象 --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> 4,此種對應的action是有侵入性的,需要實現Contronller接口,當然也可以繼承實現此接口的父類,後邊介紹到: public class HelloWorldController implements Controller { /** * 類似於Servlet的doGet(),doPost()方法 */ public ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response) throws Exception { //接收數據,這裏有request,response等,對於數據處理方便了很多 //調用服務層。 //判斷返回結果 //ModelAndView用於表示視圖:給予視圖層文件的名稱。(根據框架的視圖解析器,增加前綴,和後綴,查找配置資源。) //ModelAndView也可以表示模型對象,將數據傳遞給視圖層。(默認情況下是采用轉發方式進行跳轉。) return new ModelAndView("success","username","zhangsan"); // /WEB-INF/jsp/spring/ + success + .jsp } }
SpringMVC框架