spring mvc工做原理

Spring MVC工做原理

  • 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文件名和位置?

  • 移動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>

spring-mvc註解方式開發(spring3.2.2)

  • 新建web project

    • 要保證項目編碼爲UTF-8,不然中文亂碼

  • 引入jar包

  • web.xml中配置分發器servlet DispatchServlet

  • 建立spring配置文件(進行包掃描,和視圖解析器) action-servlet.xml 視圖解析器訪問路徑:prefix + logicName + suffix

  • 建立控制器

  • 建立jsp文件

  • 發佈、測試


springMVC是什麼時候加載的?

  • 它不是隨着web容器啓動而加載,而是在第一次訪問時才加載


IOC(控制反轉)

  • 將一個類放到spring容器(bean)裏面,spring容器來建立對象

  • 例: 正常狀況你要吃飯,須要先到食堂,而後買飯吃飯

  • 忽然有一天你不想出去了,定了一份外賣,剩了去食堂的過程,只須要吃飯就能夠了

  • 將買飯的任務交給送餐的,對應的就是將對象的建立交給spring,過程不用你管

  • 把一個類放到spring容器中, 類叫bean,換句話說,一個bean描述一個類

  • beans 存放了不少的類

  • id是標識符

  • class是類的全名

spring有不少容器的

圖片描述

  • spring關心的是集中管理在java企業應用和web應用中涉及的數據持久化,事務處理,消息中間件,分佈式計算等抽象資源,並在此基礎上,爲應用提供了基於pojo的開發環境。

面試要點:Struts一、Struts2和springmvc比較

  • 都是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%零配置了。

相關文章
相關標籤/搜索