Struts和SpringMVC的区别

妖狐艹你老母 2022-04-23 14:42 338阅读 0赞

1.Struts是类级别的拦截,SpringMVC是方法级别的拦截

先来看Struts的ApplicationContext.xml

20190317161229427.png

再看看UserAction.java

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDY0NTU0Ng_size_16_color_FFFFFF_t_70

最后看看login.jsp

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDY0NTU0Ng_size_16_color_FFFFFF_t_70 1

我们可以看出只要来了请求,就会通过get和set注入request的数据,一个Action对象就对应一个上下文

然后我们来看看SpringMVC的springmvc.xml

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDY0NTU0Ng_size_16_color_FFFFFF_t_70 2

然后UserController.java

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDY0NTU0Ng_size_16_color_FFFFFF_t_70 3

通过login.jsp的地址映射到@RequestMapping(value = “/user/login”)

20190317161229795.png

SpringMVC是将请求的与映射相对的方法,一个方法对应一个上下文

2.SpringMVC更适合更容易实现REST风格

那么什么是REST?如下图

20190317161229688.png

由于Struts是类级别的拦截,而SpringMVC是方法级别的拦截,这样后者就跟容易实现REST风格

3.SpringMVC的方法之间基本上独立的,独享request和response数据,请求数据通过参数获取,处理结果通过ModelMap交回给框架,方法之间不共享变量。而Struts2虽然方法之间也是独立的,但其所有Action变量是共享的,这不会影响程序运行,却给我们编码读程序时带来麻烦。

发表评论

表情:
评论列表 (有 0 条评论,338人围观)

还没有评论,来说两句吧...

相关阅读