首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

对比Sturts2和SpringMVC

常见web框架中Struts2和SpringMVC独占鳌头,SpringMVC和Struts有什么不同?

我们可以从各个方面进行对比:

一:框架的思想设计上

SpringMVC控制器是基于方法上拦截,是单例的.Struts2控制器是基于类上拦截,是多例的,多例会带来一定内存消耗.

二:配置文件上执行流程

Struts2是通过前端过滤器StrurtPrepareAndExecutionFilter接受到请求后在过滤器中完成一部分的代码.而SpringMVC的前端过滤器DispatcherServlt接收到客户端请求后接着将请求映射处理器HandlerMapping,映射处理器会根据xml配置,注解进行查找handler,接着映射处理器HandlerMapping将找到的Handler返回给前端控制器DispatcherServlet,接着前端控制器调用处理适配器对Handler进行执行,Handler执行完给处理适配器HandlerAdapt返回ModelAndView,处理适配器接着将ModelAndView返回给前端过滤器,前端过滤器请求视图解析器进行视图解析,解析成真正的视图(jsp)然后返回View给前端过滤器,前端过滤器进行视图渲染.将模型数据填充到request域中,最后向客户响应结果.

三:核心组件上

Struts2的核心组件是StrurtPrepareAndExecutionFilter中的拦截器和Action.

而SpringMVC的核心组件有过滤器DispatcherServlt,映射处理器HandlerMapping,,处理适配器HandlerAdapt,处理器Handler,视图解析器ModleAndVIew.

四:参数传递上

SpringMVC通过方法入参传递参数,Struts2通过类的成员变量来传递参数.

ps图:

欢迎阅读和留言,路过的大神请多指教!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180202G15ANU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券