目录
目录
1.流程
- 在核心类中,加载了struts的过滤器。具体的加载配置在struts-default.xml中。
- 用户定于的struts.xml就是继承了这个文件
2.bean节点
bean节点定义了struts在创建时候的对象类型
3.package节点
result-type
在result-type中定义了跳转类型
- dispatcher:转发,不指定的情况下是默认
- redirect:重定向
- redirectAction:重定向到action
- stream:文件下载时候使用
拦截器
概念
- 总共定义了32个拦截器
- 为了使用方便,通过定义栈的方式来定义使用的拦截器:
<default-interceptor-ref name="defaultStack"/>——》指向<interceptor-stack name="defaultStack">——》指向需要的拦截器在interceptors下
- 在defaultStack下定义了18个默认拦截器
拦截器和过滤器的异同:
- 过滤器:所有资源都可以用,对于struts和servlet都可以用
- 拦截器:只能过滤action请求,struts的专用概念
问题:拦截器什么时候执行,action类和拦截器的执行顺序
先执行action类的创建->在执行拦截器->拦截器执行完成后->执行任务
4.常见问题
在xml中配置没有默认代码助手提示?
- 必须有引用头
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
其中的"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"和"http://struts.apache.org/dtds/struts-2.3.dtd"相当于键与值的关系。
- 离线方法:
- 不能提示是因为没有dtd文件。
- 在源码中找到struts-2.3.dtd文件拷贝到一个没有中文的目录下
- 在windows->preference->搜索xml catalog->配置
Location:配置dtd目录
Key:填写刚才的目录
*在线方法:
*连网会自动下载