程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> SpringMVC(一)——流程框架總體介紹

SpringMVC(一)——流程框架總體介紹

編輯:關於C語言

SpringMVC屬於SpringFrameWork的後續產品,已經融合在Spring Web Flow裡面。Spring 框架提供了構建 Web 應用程序的全功能MVC 模塊,其功能和Strtus2,Struts1是類似的,只不過是實現的原理不同而已。其中Struts2是通過過濾器來實現路勁和action的映射等控制流轉功能,而Struts1和SpringMVC則是通過最傳統的servlet來實現對其代碼封裝的。但是都是非常相似的MVC流程框架。簡單看一下SpringMVC框架中的知識點,這裡是從數據的流轉前後順序進行分的:

\


一,SpringMVC是一個MVC的流程框架,同樣適用在我們的表現層到action模塊中,是MVC架構模式中真正的Controller。SpringMVC在流程處理方面更加靈活,可以很容易的進行擴展,可以和Spring框架進行無縫集成,畢竟是一家公司生產的,就是為了解決web開發問題,增加競爭性。但是SpringMVC有侵入性,action需要繼承框架指定的類,或者實現指定的接口。

二,看一個它實現的原理圖吧:

\


和Struts2還是很相似的,有一個核心過濾器Dispatcher,和核心配置文件springMVC-servlet.xml,通過過濾做一些固定的任務,到達指定的action進行相關業務的操作。看網上一篇文章吧,寫的挺詳細的:spring MVC原理

三,初步使用:

1,由於SpringMVC是繼Spring後續開發的,它利用了Spring的jar包,這裡看一下需要導入的jar包:

commons-logging.jar(日志輸出)

spring-webmvc.jar(SpringMVC核心包)

spring.jar (Spring核心包)

2,編寫springMVC-servlet.xml文件,存放到/WEB-INF/目錄下,基本編寫如下:


			
				
				
				
					
					
						
						
					
				
					
					
				
				
				

3,在web.xml中增加對springMVC框架的支持,其實就是增加SpringMVC框架核心過濾器的servlet的配置:


		
		
			springMVC
			org.springframework.web.servlet.DispatcherServlet
			
			
				contextConfigLocation
				/WEB-INF/springMVC-servlet.xml
					
			
			1
		
		
			springMVC
			*.html
		

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的總體認識就是這些,後邊會總結其中的一些知識點,這裡不再贅述!通過和Struts2對比著學習,來尋找一些異同,通過實踐來使自己理解的更加深刻。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved