专栏: SpringMVC学习(比较全 )
Spring MVC静态资源处理 :
http://www.cnblogs.com/fangqi/archive/2012/10/28/2743108.html
Servlet的
过滤器和
Spring的
拦截器相似之处:都是AOP编程思想的体现,都能实现权限检查,日志记录等.
区别
:
①使用范围不同:Filter依赖于Servlet容器,只能用于Web程序中.而拦截器即可用于Web程序,也可以用于Application,Swing程序中.
②
规范不同:Filter是在Servlet规范中定义的,是Servlet容器支持的,而拦截器是在Spring容器内的,是Spring框架支持的
。
③拦截器是一个Spring的组件,能使用Spring里的任何资源,对象,例如Service对象,数据源,事务管理等,通过IOC注入到拦截器即可; 而Filter则不能.
④
在action的生命周期中,拦截器可以
多次被调用
,使用有更大弹性; 而过滤器只能在Servlet容器初始化时被调用一次。
1.过滤器:所谓过滤器顾名思义是用来过滤的,在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的action进行业务逻辑,比如过滤掉非法url(不是
login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者struts的action前统一设置字符集,或者去除掉一些非法字符(聊天室经常用到的,一些骂人的话)。filter 流程是线性的, url传来之后,检查之后,可保持原来的流程继续向下执行,被下一个filter, servlet接收等.
2.监听器:这个东西在c/s模式里面经常用到,他会对特定的事件产生产生一个处理。监听在很多模式下用到。比如说观察者模式,就是一个监听来的。又比如struts可以用监听来启动。Servlet监听器用于监听一些重要事件的发生,监听器对象可以在事情发生前、发生后可以做一些必要的处理。
3.java的拦截器 主要是用在插件上,扩展件上比如 hibernate spring struts2等 有点类似面向切片的技术,在用之前先要在配置文件即xml文件里声明一段的那个东西。
SpringMVC与前端的json数据交互 :
http://blog.csdn.net/eson_15/article/details/51742864
1. 两种交互形式
springmvc和前台交互主要有两种形式,如下图所示:
可以看出,前台传过来的方式有两种,一种是传json格式的数据过来,另一种就是在url的末尾传普通的key/value串过来,针对这两种方式,在controller中会有不同的解析,但是在controller中返回的json格式的数据都是一样的。下面来具体分析一下springmvc是如何与前台进行json数据的交互的。