代码审计-JAVA项目框架类漏洞分析报告
过滤器和拦截器的区别
- Filter 是基于函数回调的,而 Interceptor 则是基于 Java 反射的。
- Filter 依赖于 Servlet 容器,而 Interceptor 不依赖于 Servlet 容器。
- Filter 对几乎所有的请求起作用,而 Interceptor 只能对 action 请求起作用。
- Interceptor 可以访问 Action 的上下文,值栈里的对象,而 Filter 不能。
- 最重要的要记住他们的执行顺序: 先 filter 后 interceptor,另外在不同框架中有的是自带(编码)有的是需要自写(安全防护规则),具体可以查看开发资料。
- HttpServeletRequest:请求信息。
- ActionContextCleanUP,Other filters:不重要,貌似现在已经没用了。
- Filter Dispatcher:过滤器,这个应该是最底层的过滤器。
- ActionMapper:主要检测请求信息是否需要 Struts2 处理。
- ActionProxy:一个中间层,就是可以调用其他类什么的。
- ConfigurationManager:负责将 struts.xml 文件中配置文件映射到内存中
- Struts.xml:Struts 配置文件需要程序员填写。
- ActionInvocation:包含四个属性分别获取前端传递的值,action,struts.xml 信息,其他一些数据。
- Interceptor:拦截器不是太理解应该是获取前端传递的属性值,然后封装到 action 的属性域中。
- Tag Subsystem:Struts2 自带标签库没用
- Templete:Struts2 的前端模版,没用吧,不清楚。
- HttpServletResponse:响应信息
最后一次更新于2022-04-21 16:19
0 条评论