struts2的根本配置
1.package标签下主要的点在namespace和name,extend上
extend 一般继承自struts-default.xml下,继承其拦截器及一些功能,这个已在本人的拦截器一文中有讲到
namespace,主要用于约束访问地址action前的路径,比如http://www.baidu.com/aaa/bbb/ccc.action
如果有/aaa/bbb的namespace,有则访问该package,
如果没有,则查看是否有/aaa/的namespace,有则访问该package,
如果都没找到,则404
name,主要用于标识该package,可以用于其他继承.
2.action,标签下主要有name,class
name,主要用于约束,访问路径最后一个路径单元,如上文的ccc.action,如有ccc为name的action,则交由改action的class处理
class所指向的类全名必须是继承自action接口,实现execute方法的类,一般继承ActionSupport,因为其在继承action接口的基础上
还扩展了更多功能,如果找不到对应的action,则执行默认actionSupport的execute,其返回success,但是可以在struts标签下定义
action-default-ref来定义默认的action .
3.访问路径后缀
我们看到访问路径的后缀是.action ,其实你可以不带,因为这是允许的,约束是在框架自带的default.properties中,有一个struts.action.extension=action,,
我们可以自定义一个struts.proeprties,来定义这个常量并覆盖其默认值已达到自定义的效果,这里就涉及到加载配置文件的顺序
struts-default.xml
struts-plugin.xml
struts.xml
struts.properties
web.xml
后面配置文件配置的信息会覆盖前面配置文件的相同的信息,这也是为什么可以通过struts.propertie来覆盖struts.xml中配置的常量