Dispatcher Servlet分發器css
Handler Mapping 處理器映射java
Controller 控制器web
ModelAndView 模型和視圖對象面試
ViewResolver 視圖解析器spring
Spring MVC 分離了控制器、模型對象、分派器以及處理程序對象的角色,這種分離讓它們更容易進行定製。spring-mvc
Spring MVC屬於SpringFrameWork的後續產品,已經融合在Spring Web Flow裏面。Spring 框架提供了構建 Web 應用程序的全功能 MVC 模塊。安全
Spring框架是業務層框架,核心組件是容器mvc
它是管理bean的,廣義上講任何一個javaBean它都管理,實例化對象兩大概念:IOC、AOPapp
*.action 攔截全部訪問URL後綴爲action框架
/ 攔截全部的訪問的URL, 包括action, 靜態js, images, css
移動action-servlet.xml到src目錄下,更名爲spring-mvc.xml
修改web.xml,給DispatcherServlet增長初始參數
經過初始化參數,指定配置文件位置
<servlet> <servlet-name>action</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> </servlet>
新建web project
要保證項目編碼爲UTF-8,不然中文亂碼
引入jar包
web.xml中配置分發器servlet DispatchServlet
建立spring配置文件(進行包掃描,和視圖解析器) action-servlet.xml 視圖解析器訪問路徑:prefix + logicName + suffix
建立控制器
建立jsp文件
發佈、測試
它不是隨着web容器啓動而加載,而是在第一次訪問時才加載
將一個類放到spring容器(bean)裏面,spring容器來建立對象
例: 正常狀況你要吃飯,須要先到食堂,而後買飯吃飯
忽然有一天你不想出去了,定了一份外賣,剩了去食堂的過程,只須要吃飯就能夠了
將買飯的任務交給送餐的,對應的就是將對象的建立交給spring,過程不用你管
把一個類放到spring容器中, 類叫bean,換句話說,一個bean描述一個類
beans 存放了不少的類
id是標識符
class是類的全名
spring關心的是集中管理在java企業應用和web應用中涉及的數據持久化,事務處理,消息中間件,分佈式計算等抽象資源,並在此基礎上,爲應用提供了基於pojo的開發環境。
都是web層框架。
Struts1是基於servlet;Struts2是基於filter;springmvc是基於servlet 。
Struts1的action是單例模式,線程不安全的;Struts2 action是原型模式 prototype,每次訪問對象都會建立新的實例,保證線程安全性;springmvc controller是單例模式,整個程序只有一個對象實例。Spring的安全性是經過綁定threadlocal實現。
Struts1使用JSTL EL表達式,可是對集合和索引屬性的支持很弱。Struts2採用 OGNL。
struts2是類級別的攔截, 一個類對應一個request上下文,springmvc是方法級別的攔截,一個方法對應一個request上下文,而方法同時又跟一個url對應。
Strust1中一般以action訪問時.do,struts二、spring mvc 都是以.action作結尾。
spring3 mvc能夠認爲已經100%零配置了。