SpringMVC的拦截器和上传组件

 

 

                                                                   拦截器

拦截器的介绍:SpringMVC的处理器拦截器,类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理

 

拦截器的使用场景:

        1.日志记录

                记录请求信息的日志,以便进行信息的监控、信息统计、计算PV(Page View)等等。

         2.权限检查

                如登陆检查,进入处理器检测是否登陆,如果没有登陆,直接返回登陆页面

         3.性能监控

                有时候系统在某段时间莫名其妙的慢,可以通过拦截器在进入处理器之前记录开始时间,在处理完后记录结束时间,从而得到该请求的处理时间

          4.通用行为:、

                读取cookie得到用户信息并将用户对象放入请求,从而更加方便后续流程的使用,还有如提取Locale、Theme信息等,只要是多个处理器都需要的即可使用拦截器实现

          5.OpenSessionView

                如Hibernate,在进入处理器之前打开Session、在完成后关闭Session。......本质也是AOP,也就是符合横切关注点的多有功能都可以放入拦截器实现

 

使用方法:

        实现拦截器接口

SpringMVC的拦截器和上传组件

       postHandle()方法可以用来定义一些公共的变量,然后再视图中就可以获取到了。

SpringMVC的拦截器和上传组件

        afterCompletion()方法使用的不是很多。

 

 检查是否登陆:

        1.新建一个包,并在该包下创建一个MyLoginInterceptor类并让该类实现HandlerInterceptor接口

SpringMVC的拦截器和上传组件

        2.在spring-mvc.xml文件中配置一下,你要拦截哪一个目录

SpringMVC的拦截器和上传组件       3.再自己写的拦截器中写上如下的代码,重启服务器即可完成拦截

SpringMVC的拦截器和上传组件

               

                                                                上传          

springMvc提供了一个上传的组件:

    1.需要在form表单中添加 enctype="multipart/form-data"属性。这是必须要的。

    2.在表单中使用<input type="file" name="file"/>  ,这里的type必须时file才行

          SpringMVC的拦截器和上传组件

    3.在spring-mvc.xml文件中进行配置

SpringMVC的拦截器和上传组件

    4.在controller类中的代码

SpringMVC的拦截器和上传组件

           

注意事项:

SpringMVC的拦截器和上传组件

 

然后就可以正常的上传文件了。

 

 

 

 

                                                         欢迎关注小编的微信公众号(java架构师资源分享)

 

    

SpringMVC的拦截器和上传组件