Struts2学习-struts.xml文件配置

学习框架过程中,一直对框架中的配置文件比较难理解,特搜集资料简要记录一下struts.xml文件遇到的问题。

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE struts PUBLIC
 3     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
 4     "http://struts.apache.org/dtds/struts-2.0.dtd">
 5  
 6 <struts>
 7   <package name="basicstruts" extends="struts-default">
 8  
 9   <action name="showProduct" class="com.how2java.action.ProductAction" method="show">
10     <result name="show">show.jsp</result>
11   </action>   
12   <action name="addProduct" class="com.how2java.action.ProductAction" method="list">
13     <result name="list">list.jsp</result>
14   </action>   
15  
16 </package>
17  
18 </struts>

1.包(package)用于管理Action,一个包中可以有多个Action。

  name属性:包名,一个项目中不能有同名的包。

  extends属性:开发必须继承struts-default包。

  method属性:对应action类中的具体方法。

2. Action

2.1 action配置

  name:action名称,用来访问action路径

  class:类名

2.2 result配置

  name:每个action方法都要返回一个String类型的值,这个值必须与这个name相对应。

  type:跳转类型

       默认为dispatcher(转发),将跳转到result文本节点中指定的地址。

      转发又称服务器跳转,一次请求,一次响应,客户端向服务器端请求当前资源,这个资源将在服务器端内跳转到另一资源,由另一资源发回响应。

            还有一种为redirect(重定向),可以来重定向到Action

      重定向又称为客户端跳转,两次请求,两次响应,客户端向服务器端请求当前资源,服务器端响应回来一个其他地址,由客户端再一次根据发回来的地址来请求,                       由对应地址在最终发回来响应。

3. Struts通配符

  传统方法中,例如上述代码中的list,show之类的方法,需要分别配置,这样的话需要耗费大量的配置时间,所以引入通配符来解决这一问题。

<action name="*Product" class="com.how2java.action.ProductAction" method="{1}">
    <result name="show">show.jsp</result>
    <result name="list">list.jsp</result>
  </action>

*Product 表示所有以Product结尾的路径,都会匹配在这个Action上 
method={1}表示第一个通配符 
如果访问的是addProduct就会调用add方法 
如果访问的是listProduct就会调用list方法 
以此类推

初学者,如有错误还请指正!

原文地址:https://www.cnblogs.com/huqingfeng/p/12358732.html