默认情况下, 访问每个Action ,defaultStack 都会执行 ! 每个拦截器都会被调用, 一些重复功能,由拦截器去实现的 !!!
问题: 是否是 struts2 开发 每一次请求 都会执行拦截器? 拦截器并不是每次都执行!! 看访问资源的!
1: 访问资源目标是一个Action 组件 必然会调用拦截器 然后执行action ' 2: 如果访问是jsp/html 静态资源 前端控制器不会调用默认拦截器栈的!
拦截器只针对Action 有效!
3.1. 配置struts.xml DTD提示
struts.xml 引入DTD约束 (限制如何配置这个文件 )
? 如果电脑可以联网,自动从网上下载 DTD,缓存提供提示 ? 如果电脑没有联网,在本地配置DTD文件位置,提供本地提示 struts-2.3.15.3\\src\\core\\src\\main\\resources
文件struts.xml关闭 重新打开 有自动提示标签!
4. struts2 常用配置文件
了解前端控制器在容器启动的时候 执行哪些配置文件的加载! 配置文件源码分析流程: 分析 StrutsPreparedAndExecuteFilter
先加载 *.properties 然后再加载 *.xml 配置文件
properties:
配置框架启动一些基本配置信息 : 比如: 请求虚拟路径配置 乱码配置 ..... default.properties : 框架加载的默认配置信息
其次加载 xml 文件: 三个
struts-default.xml : 核心包下
struts-plugin.xml : struts 和第三方插件整合的时候 加载插件配置文件 举例: struts-json-plugin.jar