配置webxml文件
在Struts中struts框架式通过Filter启动的Filter在webxml中的配置如下
<filter>
<filtername>struts</filtername>
<filterclass>orgapachestrutsdispatcherngfilterStrutsPrepareAndExecuteFilter</filterclass>
</filter>
<! 让Struts的核心Filter拦截所有请求 >
<filtermapping>
<filtername>struts</filtername>
<urlpattern>/*</urlpattern>
</filtermapping>
在StrutsPrepareAndExecuteFilter的init()方法中将会读取类路径下默认的配置文件strutsxml完成初始化操作
注意struts督导strutsxml的内容后以javabean形式存放在内存中以后struts对用户的每次请求处理将使用内存中的数据而不是每次都读取strutsxml文件
配置strutsxml文件
<struts>
<constant name=strutsdevMode value=true />
<package name=wbb namespace=/ extends=strutsdefault>
<action name=login class=wbbLoginAction method=execute>
<result name=input>/loginjsp</result>
<result name=success>/page/successjsp</result>
<result name=error>/errorjsp</result>
</action>
</package>
</struts>
struts中用包package来管理Action其中name属性相当于id是唯一的方便其他包引用namespace属性可以减少重复的代码
Action名称的搜索顺序
)获得请求路径的URI
)首先寻找namespace为path/path/path的package如果不存在这个package则执行步骤三如果存在这个package则在这个package中寻找名字为test的action挡在该package下寻找不到action时就会直接跑到默认namespace的package里面去寻找action(默认的命名空间为空字符串)如果在默认namespace的package里面还寻找不到改action页面提示找不到action;
)寻找namespace为/path/path的package如果不存在这个package则转至步骤……
)寻找namespace为/path的package如果不存在这个package则执行步骤五……
)寻找namespace为/的package……
Action配置中的各项默认值
)如果没有为action指定class默认是ActionSupport
)如果没有为action指定method默认执行action中的execute()方法
)如果没有指定result的属性默认值为success