SpringMVC

Struts2 和 SpringMvc 的区别

入口不同:
Struts2:filter 过滤器
SpringMvc:一个 Servlet 即前端控制器
开发方式不同:
Struts2:基于类开发,传递参数通过类的属性,只能设置为多例
SpringMvc:基于方法开发(一个 url 对应一个方法),请求参数传递到方法形参,可以为单
例也可以为多例(建议单例)
请求方式不同:
Struts2:值栈存储请求和响应的数据,通过 OGNL 存取数据
SpringMvc:通过参数解析器将 request 请求内容解析,给方法形参赋值,将数据和视图
封装成 ModelAndView 对象,最后又将 ModelAndView 中的模型数据通过 request 域传
输到页面,jsp 视图解析器默认使用的是 jstl。

Spring MVC 处理流程及应用优势

1、客户端发出一个 http 请求给 web 服务器,web 服务器对 http 请求进 行 解析,如
果匹配前端控制器(或分发器/DispatcherServlet)的请求映射路径, web 容器将请求
转交给 DispatcherServlet.
2、DipatcherServlet 接收到这个请求之后将根据请求的信息以及处理器映射 器
(HandlerMapping)的配置找到处理请求的处理器(Handler)。
3、由具体的处理器适配器(HandlerAdapter)对 Handler 进行具体的调用。
4 、 Handler 对 数 据 处 理 完 成 以 后 将 返 回 一 个 ModelAndView() 对 象 给
DispatcherServlet。
5、DispatcherSevlet 通过视图解析器(ViewResolver)将 ModelAndView()转 化
为真正的视图 View。
6、Dispatcher 通过 model 解析出 ModelAndView()中的参数进行解析最终展 现出完
整的 view 并返回给客户端。

Spring MVC 的主要组件

(1)前端控制器 DispatcherServlet(不需要程序员开发)
作用:接收请求、响应结果,相当于转发器,有了 DispatcherServlet 就减少了其它组件
之间的耦合度。
(2)处理器映射器 HandlerMapping(不需要程序员开发)
作用:根据请求的 URL 来查找 Handler
(3)处理器适配器 HandlerAdapter
注意:在编写 Handler 的时候要按照 HandlerAdapter 要求的规则去编写,这样适配器
HandlerAdapter 才可以正确的去执行 Handler。
(4)处理器 Handler需要程序员开发
(5)视图解析器 ViewResolver(不需要程序员开发)
作用:进行视图的解析,根据视图逻辑名解析成真正的视图(view)
(6)视图 View需要程序员开发 jsp
View 是一个接口, 它的实现类支持不同的视图类型(jsp,freemarker,pdf 等等)

对 SpringMVC 的理解

  1. 是一个基于 MVC 的 web 框架
  2. SpringMVC 是 Spring 的一个模块,是 Spring 的子容器,子容器可以拿父容器的东西,
    但是父容器不能拿子容器的东西
    3. SpringMVC 的前端控制器 DispatcherServlet,用于分发请求,使开发变得简单
  3. SpringMVC 流程(重点). SpringMVC 三大组件
    1)HandlerMapping:处理器映射器
    用户请求路径到 Controller 方法的映射
    2)HandlerAdapter:处理器适配器
    根据 handler(controlelr 类)的开发方式(注解开发/其他开发) 方
    式的不同去寻找不同的处理器适配器
    3)ViewResolver:视图解析器
    可以解析 JSP/freemarkerr/pdf 等

SpringMvc 怎么和 AJAX 相互调用的

通过 Jackson 框架就可以把 Java 里面的对象直接转化成 Js 可以识别的 Json 对象。具体步
骤如下 :
(1)加入 Jackson.jar
(2)在配置文件中配置 json 的映射
(3)在接受 Ajax 方法里面可以直接返回 Object,List 等,但方法前面要加上

pringMVC 请求一个控制层资源时,可以在对应方法中直接使用参数变量接收参数数据,但参数变量的类型要为对象类型

SpringMVC是Spring的子级容器

SpringMVC中可以注入Spring容器的对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值