Struts2 学习之路(二):2.4 Struts2(2.5.14.1版本)中的通配符匹配问题

struts.xml 配置文件中通配符的匹配
  • 可以匹配action节点中的class属性,method属性,result子节点的name属性,甚至是result子节点的路径内容
  • 因为2.5.x版本和以前的版本都不一样,所以需要特殊配置
<struts>
    <!-- 配置struts2 可以受理请求的扩展名:以.action,.do结尾或者什么都不写均可 -->
    <constant name="struts.action.extension" value="action,do,"></constant>
    <!-- 通配符的配置方法一:需要设置这个常量为true,然后再在action中单独设置 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true"/>

    <package name="actionContext" extends="struts-default" >
        <!-- 通配符的配置方法二:直接就在package里面添加允许通过通配符的方法 -->
        <!--  <global-allowed-methods>login</global-allowed-methods> -->
        <action name="userAction-*" class="cn.zc.cris.Wildcards.UserAction" method="{1}">
            <result name="{1}-success">/success.jsp</result>
            <!-- 通配符的使用方法一:上面设置完常量后,还要在action中设置允许使用通配符的方法,
                execute,input,back,cancel,browse,save,delete,list,index这些方法不需配置,即可使用  
            -->
            <allowed-methods>add,update,query</allowed-methods>
        </action>
    </package>
</struts>

前台页面:
    <a href="userAction-query">user query</a>
    <br><br>
    <a href="userAction-delete">user delete</a>
    <br><br>
    <a href="userAction-add">user add</a>
    <br><br>
    <a href="userAction-update">user update</a>

后台action:

public class UserAction {

    public String update() {
        System.out.println("update");
        return "update-success";
    }
    public String add() {
        System.out.println("add");
        return "add-success";
    }
    public String delete() {
        System.out.println("delete1");
        return "delete-success";
    }
    public String query() {
        System.out.println("query");
        return "query-success";
    }
}
获取源代码请点击我
首先、我想说7分的确有点多、但是你下载的东西绝对物超所值、 SSH 为 struts2.4+spring3.1+hibernate4.1的一个集成框架,是目前较流行的一种Web应用程序开源框架。   集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,利用Hibernate框架对持久层提供支持,业务层用Spring支持。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring完成业务逻辑。   系统的基本业务流程是: 在表示层,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。   采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值