我们后台管理系统SSH框架解析

SSH框架:

spring

spring的配置文件位置在web.xml中,有个contextConfigLocation的参数,配置spring相关文件的位置。

按功能一般spring会配置分成下面几个资源文件

<import resource="app-action.xml" />
<import resource="app-service.xml" />
<import resource="app-dao.xml" />
<import resource="app-resource.xml" />
<import resource="app-transactionManager.xml" />

action配置struts的Action

service配置spring的service里面配置好注解方式使用,在action中就只需要用@Reservice就可以获取到相关的service了

dao配置了实现hibernate持久层的实现类,由于hibernate的方法都封装的很好,故只写了一个通用的实现类commonDao

resource文件配置类的映射文件,

transactionManager里面是配置spring管理hibernate的内容,特别注意事务控制:tx:advice里面的内容,只有这里面配置的propagation的值为REQUIRED才会提交事务,即以这些开头的才会提交事务,不然新增、修改等操作不会写入到数据库中,read-only的操作不会对数据库产生写入锁,可提高并发能力。

                        <tx:method name="save*" propagation="REQUIRED" />
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="find*" read-only="true" />
<tx:method name="get*" read-only="true" />
<tx:method name="*" />


struts

在struts文件中,主要内容包括拦截器、返回类型定义

拦截器定义在packge节点中

<interceptors>
<!-- 注册拦截器 -->
<interceptor name="systemInterceptor" class="systemInterceptor"></interceptor>


<interceptor-stack name="loginStack">
<!-- 暂不启动拦截器 -->
<interceptor-ref name="systemInterceptor"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
        </interceptors>

name为systemInterceptor的实现类在上面提到的app-action文件中配置

action返回result配置,使用通配符配置

<action name="*_*" class="{1}" method="{2}">

返回结果类型有很多,对应的type和一些基本属性不要写错,包括

jsp

json,可定义json返回值的root名称,我们项目中时dataMap

redirect,重定向

file,返回流数据类型,动态生成文件返回给用户的时候用得着,我们用过的案例有下载邀请码,是典型的导出数据到Excel。

hibernate

在hibernate.cfg.xml中,部分功能由spring管理,内容主要包括数据库连接信息,数据库连接池的信息



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值