您的位置:首页 > 编程语言 > Java开发

【Struts2配置文件的配置】

2013-10-07 15:36 381 查看
1、配置web.xml文件。

  在Struts2中,struts框架式通过Filter启动的。Filter在web.xml中的配置如下:

  <filter>

  <filter-name>struts2</filter-name>

  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

  </filter>

  <!-- 让Struts2的核心Filter拦截所有请求 -->

  <filter-mapping>

  <filter-name>struts2</filter-name>

  <url-pattern>/*</url-pattern>

  </filter-mapping>

  在StrutsPrepareAndExecuteFilter的init()方法中将会读取类路径下默认的配置文件struts.xml完成初始化操作。

  注意:struts2督导struts.xml的内容后,以javabean形式存放在内存中,以后struts2对用户的每次请求处理将使用内存中的数据,而不是每次都读取struts.xml文件。

  2、配置struts.xml文件。

  <struts>

  <constant name="struts.devMode" value="true" />

  <package name="wbb" namespace="/" extends="struts-default">

  <action name="login" class="ruixin.net.wbb.LoginAction" method="execute">

  <result name="input">/login.jsp</result>

  <result name="success">/page/success.jsp</result>

  <result name="error">/error.jsp</result>

  </action>

  </package>

  </struts>

  struts2中用包package来管理Action,其中name属性相当于id是唯一的,方便其他包引用。namespace属性可以减少重复的代码。

  3、Action名称的搜索顺序

  1)获得请求路径的URI,

  2)首先寻找namespace为path1/path2/path3的package,如果不存在这个package则执行步骤三;如果存在这个package,则在这个package中寻找名字为test的action,挡在该package下寻找不到action时,就会直接跑到默认namespace的package里面去寻找action(默认的命名空间为空字符串""),如果在默认namespace的package里面还寻找不到改action,页面提示找不到action;

  3)寻找namespace为/path1/path2的package,如果不存在这个package,则转至步骤4……

  4)寻找namespace为/path1的package,如果不存在这个package,则执行步骤五……

  5)寻找namespace为/的package,……

  4、Action配置中的各项默认值

  1)如果没有为action指定class,默认是ActionSupport.

  2)如果没有为action指定method,默认执行action中的execute()方法。

  3)如果没有指定result的属性,默认值为success.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: