SSH学习之Struts2中的配置文件

回忆

在SSH学习系列的SSH学习之Struts2的第一个Action中介绍了Struts2的第一个入门的action,如果是初学的可以不需要深究其中的某些概念,我会在接下来的内容介绍。

位置

Struts2的配置文件struts.xml文件的位置一般默认是在src目录下的,如果想要改变其存放的路径,就需要在web.xml中进行配置,否则就会报错。但是在配置的时候除了将改变后的路径。但是,必须要也要指定struts-default.xmlstruts-plugin.xml(struts-plugin.xml这是配插件的,如果没使用插件,这个也可以不配置)。
   <!-- 配置Struts2过滤器 -->
  <filter>
  	<filter-name>struts2</filter-name>
  	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  	<init-param>
  		<param-name>config</param-name>
  		<param-value>struts-default.xml,config/struts.xml,struts-plugin.xml</param-value>
  	</init-param>
  </filter>
  <filter-mapping>
  	<filter-name>struts2</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>


名称

Struts框架的配置文件名称必须是固定的,struts.xml。

package标签

  • name属性name值跟功能本身是没有相关联系的;在一个struts.xml配置文件中可以有多个package标签,但是name值必须不同。
  • extends属性extends属性值是固定的,其值为struts-default。只有写明了该属性,在package中的类才有action功能(也就是才有访问的功能)。值得注意的是如果有其他的package继承了另一个package,那么最顶级的那个package必须继承struts-default。
  • namespace属性默认值是/,可以不写明,但是推荐初学者写明。其值和action标签中的name值构成action的访问路径。

action标签

  • name属性name属性值就是访问action的路径,其值和namespace属性值构成访问路径。一个package标签中可以有多个action标签,但是name值是唯一的。
  • class属性class属性值就是action的全路径,包名+类名。
  • method属性默认值是execute,可以自定义一个值(值就是action里的方法名),指明action的执行方法。

result标签

result标签根据方法的返回值配置到不同的路径中去,包括页面跳转和action跳转等等。

  • name属性其值是方法的返回值,也就是method属性中指定的方法。
  • type属性其值表示如何到路径中去(重定向或重转发)。默认值是重转发。
    • 默认值是dispatcher,重转发(一次请求,地址栏不变),针对跳转页面的配置
    • redirect,重定向(两次请求,地址栏路径改变),针对跳转页面的配置
    • chain,转发action,一般不使用该值转发到其他action,因为存在缓存问题,针对跳转action的配置
    • redirectAction重定向action,针对跳转action的配置

constant标签

constant标签用来配置或修改Struts2框架里默认的常量的,Struts2中默认常量的配置是在struts-default.xml(struts2-core-xx.jar)文件中,
比如字符编码 等。以下是一些常用的常量设置。
  • struts.i18n.encoding,指明表单提交数据的编码格式(post和get都可以,这与servlet不同,post可以直接指定编码,get需要进行编码转换)。
  • struts.devMode,是否使用struts的开发模式。开发模式会有更多的调试信息。默认值为false(生产环境下使用),开发阶段最好打开。
  • struts.action.extension,指定被struts2处理的请求后缀类型。多个后缀名用逗号隔开。
在实际开发中可能还需要设置其他的一些常量,大家可以参看Struts2的API。

多余的话

 这是我的一些理解了,希望见谅奋斗





  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值