1.简述Struts2的配置文件包括哪些元素1、package元素
package用来管理action:使用了面向对象的思想
属性:
name:用来定义包名,注意:同一个配置文件中包名是唯一的 。
extends:指定所继承的包,一般情况下需要继承struts-default包
truts-default.xml中定义着struts-default这个包 。
truts-default.xml是在我们的struts.xml加载之前加载 。
abstract:指定包是抽象的,只能被继承,含有action的包不能是抽象的,默认值是false 。
namespace:名称空间
名称空间 + 动作名称 = 访问路径
<package name="p1" extends="struts-default" namespace="/a/b"></package>
1
struts2查找动作的方法:
1:先按照用户输入的路径查找路径: /a/b/c/d/action1.action
如果没有找到再向上一层路径找:/a/b/c 找到了(不会再继续向上找)该路径则执行第二步
再向上一层路径找:/a/b 找到了(不会再继续向上找)该路径则执行第二步,找不到继续向上一级找
再向上一层路径找:/a 没找到 找到了(不会再继续向上找)该路径则执行第二步
再找/ 也没有的话去默认命名空间下找 。
都没找到直接报错
2:找action: 先在当前的命名空间下找 ,如果没有找到则取默认的命名空间(没有写namespace属性的)下找 ,如果还找不到报错
一般只要我们有默认命名空间的pakege标签时,第一步是不会报错的 。
2.请帮我详细解释Struts2的配置文件<constant name="struts.configuration.xml.reload" value="http://www.xuexi88.com/zhishi/true"></constant>;//是说,当你的配置文件改变是,struts自动读取,不需要你重启服务 。
<constant name="struts.objectFactory" value="http://www.xuexi88.com/zhishi/spring"></constant>;//与spring框架结合使用,你的action对象由spring帮助生成了 。
<package name="" extends="struts-default" namespace="/">;//这个struts的包名,继承struts-default,就是这个写,你也不需要多想,name写什么都行
//UsersAction这个类实现了action接口,给这个action起来个名字叫usersAction_*,*的意思是说,usersAction_后面可以跟要执行的方法名,这与method="{1}"相呼应,*的名字,就是{1}的方法名
<action name="usersAction_*" class="UsersAction" method="{1}">
<result name="success">/result.jsp</result>//return “SUCCESS”时的转向路径,注意我的大小写
<result name="input">/login.jsp</result>>//return “INPUT”时的转向路径,注意我的大小写
<result name="list">/list.jsp</result>>//return “list”时的转向路径,注意我的大小写
</action>
</package>
3.struts2 的struts.xml文件怎么配置struts2中组件化的方式 可以将每个功能模块独立到一个xml配置文件中 然后用include节点引用 -->