• struts2+spring3+hibernate3框架搭建


    2011年写过java项目,使用的框架是struts1.2+spring2+hibernate3。这么多年过去架构已经升级了很多版本。今天特地尝试了下搭建新版本框架struts2.1+spring3.0+hibernate3.3。

    下面就来介绍下框架搭建的步骤,以及需要注意的点:

    一、新建工程SSHNew

      jdk:需要1.6以上版本

      库:使用javaEE5.0,对比j2EE1.4多了jstl库

    二、导入框架

      1、Add Struts Capabilities,选择Struts2.1版本

      2、Add Spring Capabilities,选择Spring3.0版本

        注意spring库的选择,有些不必要的可不选

      3、打开MyEclipse DB Browser,新建数据库链接,提前把数据建好。

        注意:这里需要引用对应数据库的jar包,从相关网站上下载好放到WebRoot/WEB-INF/lib下

      4、Add Hibernate Capabilities,选择Hibernate3.3版本,设置的时候需要选择连接的数据库,sessionFactory等

          详细步骤可参考:http://jingyan.baidu.com/article/f25ef2544dfc81482d1b8279.html

    三、框架之间配置的引用

      1、web.xml配置:struts和spring会自动注入部分配置到web.xml中。光这些还不够的。

        (1)需要设置struts的<filter-mapping>,设置<url-pattern>*.action</url-pattern>,拦截jsp请求,struts2默认拦截/*,*.action,也可以配置*.do。

        (2)需要设置spring的<context-param>,如下图:

            <context-param>
              <param-name>contextConfigLocation</param-name>
              <param-value>/WEB-INF/applicationContext*.xml</param-value>
            </context-param>

           其中applicationContext*.xml是指所有spring的配置文件

      2、applicationContext.xml配置:在设置hibernate的时候,也会自动把数据库驱动,sessionFactory配置进去。

        依赖注入相关的配置都是在这里,也可以用applicationContext开头,自定义命名写配置。web.xml已经修改过相关设置。

        这里有个小技巧,在配置完依赖注入的相关引用后,我们可以写一个带main方法的test程序,测试配置是否准确:  

        public static void main(String [] arg){
          ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        }

       3、重点:struts和spring之间是如何引用的呢?

        要下载struts2-spring-plugin-2.2.3.1.jar,把jar包放到WebRoot/WEB-INF/lib下

        struts.xml中,在前面添加<constant name="struts.objectFactory" value="spring" />

        用来表示:struts的action,使用spring初始化,以及配置相关引用。

    四、编写代码逻辑

      在这里我做了一个学生登陆,然后显示学生列表的demo

      1、建立common包,这里放通用类,结构如下图:

      

        DAO:接口,定义部分常用数据库操作。

        DAOAdapter:Dao层适配器,继承了HibernateDaoSupport,继承DAO,调用hibernate操作数据库

        BaseAction:Action基类,继承了ActionSupport,处理action相关逻辑

        BaseForm:封装了数据结构体

        BaseService:封装dao类的调用

        EncodingFilter:字符格式转换过滤器,需要配置在web.xml中使用

      2、建立具体业务操作模块:

        模块结构如下图:

      

        (1)从MyEclipse DB Browser中,把数据库相关结构体导出到bean包

        (2)写Service逻辑,Dao逻辑

        (3)在Action类中,编写checkLogin逻辑、showAll逻辑。属性:stuService,classService,list,stuInfo

        (4)建立index.jsp,showAll.jsp,success.jsp,error.jsp

    五、配置spring,struts

      1、spring配置,如下图:

      

      注意下:Dao的配置中sessionFactory,action配置中StuAction的配置。

      

      2、配置struts.xml,如下图:

      

      注意:class的值和applicationContext中Action配置的name名,保持一致,用来表示:struts的action,使用spring初始化,以及配置相关引用。

     六、运行

      1、登陆界面,代码和显示:

     

      2、学生列表

      

      

    今天在搭建过程中碰到了不少问题,最终都还算圆满解决。主要是因为这些步骤在网上有很多分享,出现的问题百度都能准确的定位,这些也比较基础。

    框架搭建只是最基础部分,后期还要继续拓展功能,初步规划:

    1、前端显示通过html5+css3美化

    2、业功能在继续细化:增删改查,订单,支付等

    3、tomcat服务器集群,dobbo框架,JMS测试

    4、数据库:CURD,存储过程,事务

    5、缓存数据库redis memcached的使用

    路漫漫,任重而道远,继续前行吧。

  • 相关阅读:
    IIS服务器禁止某个IP或IP地址范围访问网站的方法
    删除IIS日志
    Win10关闭自动播放
    风云 我的闪存
    必买:一至五千价位段 4K高分辨率显示器购买推荐
    燃油车中新势力!荣威全新第三代RX5开启预售:12万起
    牙膏厂12代U的参数表
    该怎么选轻薄本看这篇就够了!2022年上半年9款最值得购买的轻薄本推荐
    wpf 透明 UIElement.Opacity Property
    SQL Server 2012 copy database without data
  • 原文地址:https://www.cnblogs.com/kisswind/p/6507136.html
Copyright © 2020-2023  润新知