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

相关文章
相关标签/搜索