SpringMVC与Struts2的主要区别

1

struts2 的前端过滤器 叫 strutsprepareandexcutefilter
strutsprepareandexcutefilter 负责根据web.xml的路径(1对1,写一个action 写一个映射)吧请求映射到具体的action中
<action name="login" class="LoginAction" method="execute" >
通过loginaction的属性传参。然后映射到loginaction的execute方法
dispatchservlet 的叫前端控制器
dispatchservlet 负责吧请求通过Handlermapping 映射到具体的controller ,交给具体的方法处理(直接映射到方法)
不用再配置文件中写很多遍映射。通过方法参数传参 灵活多样。
action 每次来一个新请求 都会new一个新的。但是controller默认为单例的。 通过反射调用不同的方发 spring会预先加载(懒加载。启动很慢。如果单例多了的话。) new的时候是懒加载。

 

2
springmvc 是spring的一部分 spring aop spring orm 等 是一样的
struts 需要配置的更多。
 
3

一次请求中共享数据structs2中 ValueStack 实例都放到valuestatck中 通过ognl操作 共享数据。

给一次请求中共享数据的功能 valuestack是一个arralist
springmvc数据封装到 modelandview中(modelandvidew 是一个map)。共享。
 
springmvc配置文件少。更好的融入spring 胜利
1请求效率 每次都new 2融入度。更和spring融合。 不需要写很朵个映射关系3共享数据的方式 ognl方式获取。ognl.get() springmvc是通过modelandvideo
posted @ 2018-12-21 16:34  saveworld_niub  阅读(269)  评论(0编辑  收藏  举报