💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## 概述 当浏览器访问action的时候,会被前端拦截器拦截.拦截之后再执行action之前,会首先调用一组默认的拦截器(defaultStack).这组默认的拦截器会帮助我们把共性的内容给直接了(封装数据,文件上传等).处理完毕之后才会去处理action. ## 拦截器和过滤器的区别 1. 过滤器属于web端技术:拦截所有资源(html,图片,JSP,servlet),全部都拦截. 2. 拦截器属于struts2技术:只拦截action.html,图片,JSP全部放行. 3. 拦截器和过滤器除了内部结构不同,西乡是一致的. ## 拦截器的作用位置 在action之前以及action之后都会去拦截. ## 拦截器完整流程 当浏览器访问action的时候,会被前端拦截器拦截住执行dofilter方法,如果dofilter方法中会判断访问是否是action,如果不是,放行.如果是,会往Struts2核心程序里走.在核心程序中,会创建action代理对象,但是这个代理对象并不是真正干活的对象,因为它里面又调用看一个别的对象方法(invocation.invoke()),这个方法会获取所有默认拦截器,一个一个的递归判断执行,执行完毕所有的默认 拦截器,会直接自己的action方.action执行完毕会返回一个逻辑视图名给配置文件.配置文件接收到指定的逻辑视图名会走指定的页面.