怎样搭建一个简单的ssh框架

怎样搭建一个简单的ssh框架

在日常开发中我们可能会需要搭建一个SSH框架支持的项目,但是每次都搭建的步骤都太复杂,需要注意的地方太多,可能导致各种各样的错误,我最近就搭建了一个空白的SSH框架项目,并将步骤记录下来,分享给各位看官,并将空白的项目分享到github上:`https://github.com/firmboy/crm.git 为自己以后搭建的时候留下资料,也为各位提供一个模板,共同学习。下面是具体的步骤

一、Struts2的运行环境的测试

    1.导入struts的jar包
    2.导入配置文件,和日志配置文件
    3.编写测试的TestAction
    4.配置struts.xml,配置TestAction
    5.编写测试的jsp
    6.启动项目,测试struts2运行环境

二、测试Srping的运行环境

1.导入Spring的jar包
2.导入applicationContext.xml配置文件
3.创建TestServiceImpl和TestDaoImpl类及其接口,并编写一个测试类TestDemo
4.测试Spring的IOC功能
5.编写一个Aop类,测试Spring的AOP功能

三、Spring整合Struts2框架

    1.将Action对象交给Spring框架创建
        注意:1.Action在Spring的配置文件配置时,一定要配置成多例
            2.在Struts2的配置文件中,Action的配置的class改为在applicationContext中的id值
            3.在使用Spring的IOC的注解方式时,一定要在applicationContext中开启注解扫描<context:component-scan base-package="com.itcast.test" />
    2.在web.xml文件中加入Spring的一个监听器,监听ServletContext的创建,这样在项目启动时,Spring会创建
    一个xmlWebApplicationContext类作为IOC容器来读取我们配置的applicationContext.xml文件并将IOC
    容器放到ServletContext中

四.Hibernate框架环境测试

    1.导入heibernate的jar包
    2.导入hibernate的核心配置文件
    3.编写一个持久类(javaBean+映射文件)
    4.在TestDemo中编写一个测试hibernate的测试方法,创建一个user对象,调用service的方法保存对象

五、Spring整合hibernate框架

    1.将sessionFactory交给Spring框架创建
        1.将hibernate文件中的c3p0连接池交给Spring框架创建
        2.创建LocalSessionFactoryBean来创建sessiongFactory这个对象
    2.将事务交给Spring管理
        1.创建事务管理器
        2.开启事务注解扫描,在service层添加事务注解
    3.注意事项:
        1.在dao层要利用HibernateTemplate来和数据库交互,所以要获取到HibernateTemplate
        我们为了操作方便,需要dao层继承HibernateDaoSupport,这样我们在创建dao对象时,直接向它
        注入sessionFactory即可

六、注意:

    1.导入UI界面后会报错,是因为缺少jstl标签的jar包
        1.导入jstl标签的jar包
    2.做一个添加客户界面跳转的测试
    3.做添加一个客户的测试
    4.关于懒加载问题的解决
        1.no session问题出现的原因
            我们的session是在service层创建的,并且事务提交实在service层提交的,当事务调教后,session就已经
            关闭,如果我们使用的是懒加载,那么我们在web层获取对象的其他属性时,才会去数据库查询,这时session已经
            关闭了,不能查询了。
        2.解决思路:
            将session的创建和事务提交提前到web层,这样在web层使用懒加载的时候,session就可以获取到。
        3.步骤:在web.xml文件中配置一个过滤器就可以了,注意
            过滤器一定要配置在Struts2的核心过滤器之前
            <filter>
                <filter-name>OpenSessionInViewFilter</filter-name>
                <filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class>
            </filter>
            <filter-mapping>
                <filter-name>OpenSessionInViewFilter</filter-name>
                <url-pattern>/*</url-pattern>
            </filter-mapping>
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值