SpringMVC和Struts2

SpringMVC原理:

1.发起前端请求到前端控制器(DispatcherServlet),前端请求,请求HandlerMapping查找Handler,可以通过xml配置/注解进行查找。

2.处理器映射器HandlerMapping向前端控制器(DispatcherServlet)返回Handler。

3.前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行Handler.

4.Handler执行完成返回ModelAndView, 处理器适配器(HandlerAdapter)前端控制器(DispatcherServlet)返回ModelAndView.

5. 前端控制器(DispatcherServlet)请求视图解析器(View resolver)进行视图解析,根据逻辑视图名解析成真正的视图(Jsp)

6. 视图解析器(View resolver)前端控制器(DispatcherServlet)返回View

7. 前端控制器(DispatcherServlet)进行视图渲染,视图渲染将模型数据(ModelAndView对象)填充到request域

8.前端控制器(DispatcherServlet)向用户响应结果

Struts2原理:

1. 发起一个http请求,会首先进入ActionContextCleanup(清空值栈等,但会留下自己的,比如session,Attribute等)

2. 进入过滤器filter,进入FilterDispatcher

3.进入ActionMapper,来判断此请求是否需要struts2处理,如果需要,那么由ActionProxy来接管,通过配置管理我们可以找到我们的struts.xml,然后进入真正做事的Action  Invocation

4.依次穿过拦截器,进入action,从而根据返回的result选择我们要的页面,在拦截器的前半部分去值栈中取值通过标签展示在页面上,最后生成response返回。

时间: 2024-11-15 00:12:54

SpringMVC和Struts2的相关文章

SpringMvc与Struts2的对比

目前企业中使用SpringMvc的比例已经远远超过Struts2,那么两者到底有什么区别,是很多初学者比较关注的问题,下面我们就来对SpringMvc和Struts2进行各方面的比较: 1.核心控制器(前端控制器.预处理控制器):对于使用过mvc框架的人来说这个词应该不会陌生,核心控制器的主要用途是处理所有的请求,然后对那些特殊的请求(控制器)统一的进行处理(字符编码.文件上传.参数接受.异常处理等等),spring mvc核心控制器是Servlet,而Struts2是Filter. 2.控制器

SpringMVC与struts2区别和第一个springMVC应用

首先先从网上找到一篇描述SpringMVC和Struts2的区别的文章 文章转载路径:http://blog.csdn.net/chenleixing/article/details/44570681 下面是原文: 1.Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费劲,

SpringMVC 和Struts2的区别

SpringMVC 和Struts2的区别 1. 机制: spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同. 2. 性能: spring会稍微比struts快.spring mvc是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样.spring3 mvc是方法级别的拦截,拦截到方法后根据参数上的注解,把r

终于有SpringMvc与Struts2的对比啦(转)

本文转自:http://www.itsource.cn/web/news/5/20150318/370.html 目前企业中使用SpringMvc的比例已经远远超过Struts2,那么两者到底有什么区别,是很多初学者比较关注的问题,下面我们就来对SpringMvc和Struts2进行各方面的比较: 1.核心控制器(前端控制器.预处理控制器):对于使用过mvc框架的人来说这个词应该不会陌生,核心控制器的主要用途是处理所有的请求,然后对那些特殊的请求(控制器)统一的进行处理(字符编码.文件上传.参数

Servlet、SpringMVC、Struts2对请求-响应模式实现

从整个B/S程序的运行结构来看,J2EE的表示层解决方案实际上是对"请求-响应"模式的一种实现.既然谓之"请求-响应"也就势必存在着两大沟通角色: 请求对象和响应对象.Servlet.SpringMVC.Struts2对请求-响应的实现是分别基于参数-参数模式.参数返回值.和POJO模式的,由于这两大角色的承载载体和编程语言实现基础都不同,因此三种模式的可谓风格迥异. 参数-参数模式 参数-返回值模式 POJO模式 请求方 方法参数 方法参数 属性变量 响应方 方法

spring 、springMVC、struts2、hibernate 、mybatis

spring是容器,springMVC跟struts2差不多的功能,它没有action而是Controller,Controller负责逻辑判断,页面跳转等功能,而且不需要配置像struts2的struts.xml文件 SSM SSH RESTFULE 事务 项目 设计 文档

终于有SpringMvc与Struts2的对比啦

目前企业中使用SpringMvc的比例已经远远超过Struts2,那么两者到底有什么区别,是很多初学者比较关注的问题,下面我们就来对SpringMvc和Struts2进行各方面的比较: 1.核 心控制器(前端控制器.预处理控制器):对于使用过mvc框架的人来说这个词应该不会陌生,核心控制器的主要用途是处理所有的请求,然后对那些特殊的请求 (控制器)统一的进行处理(字符编码.文件上传.参数接受.异常处理等等),spring mvc核心控制器是Servlet,而Struts2是Filter. 2.控

Java面试题之《SpringMVC和Struts2的区别》

SpringMVC和Struts2的区别 一.框架机制 1.Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC(DispatcherServlet)则采用Servlet实现. 2.Filter在容器启动之后即初始化:服务停止以后坠毁,晚于Servlet.Servlet在是在调用时初始化,先于Filter调用,服务停止后销毁. 这里就牵涉到servlet和filter的区别了. 二.拦截机制 1.Struts2 a.Struts2框

JAVAEE——SpringMVC第一天:介绍、入门程序、架构讲解、SpringMVC整合MyBatis、参数绑定、SpringMVC和Struts2的区别

1. 学习计划   第一天 1.SpringMVC介绍 2.入门程序 3.SpringMVC架构讲解 a) 框架结构 b) 组件说明 4.SpringMVC整合MyBatis 5.参数绑定 a) SpringMVC默认支持的类型 b) 简单数据类型 c) Pojo类型 d) Pojo包装类型 e) 自定义参数绑定 6.SpringMVC和Struts2的区别   第二天 1.高级参数绑定 a) 数组类型的参数绑定 b) List类型的绑定 2.@RequestMapping注解的使用 3.Con