• 集成Struts2+Spring+Hibernate_两种方案


    集成Struts2+Spring+Hibernate


    第一种方案:让Spring创建Struts2的Action,不让Spring完全管理Struts2的Action
         Struts2 Action中的依赖对象,默认会根据名称自动装配


    1、创建web项目


    2、引入Struts2的依赖包,将依赖包拷贝到WEB-INF/lib下
    * commons-logging-1.0.4.jar
    * freemarker-2.3.15.jar
    * ognl-2.7.3.jar
    * struts2-core-2.1.8.1.jar
    * xwork-core-2.1.6.jar
    * commons-fileupload-1.2.1.jar

    3、引入Spring的依赖包,将依赖包拷贝到WEB-INF/lib下
    * spring.jar
    * lib/aspectj/*.jar

    4、引入hibernate相关依赖包,将依赖包拷贝到WEB-INF/lib下
    * hibernate3.jar
    * lib/*.jar

    5、数据库驱动
    * MySQl JDBC Driver

    6、将Struts2和Spring集成的依赖包拷贝到WEB-INF/lib下
    * struts2-spring-plugin-2.1.8.1.jar

    7、在web.xml文件中配置StrutsPrepareAndExecuteFilter
        <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        </filter>


        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
        
    8、提供struts.xml配置文件,提供必要属性的配置
    * struts.i18n.encoding=GB18030
    * struts.configuration.xml.reload=true
    * struts.devMode=true   

    9、提供Spring的配置文件
    * applicationContext-service.xml
    * applicationContext-dao.xml
    * applicationContext-common.xml

    10、提供hibernate.cfg.xml配置文件,提供log4j


    11、在web.xml文件中配置Spring的ContextLoaderListener,创建BeanFactory
        <context-param>
        <param-name>contextConfigLocation</param-name>
        <!-- 
        <param-value>classpath:applicationContext-*.xml</param-value>
        -->
        <param-value>classpath:applicationContext.xml</param-value> 
        </context-param>
        
        <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>、
        
    11、在web.xml文件中配置OpenSessionInViewFilter(需要放到Struts2的Filter前面)
    <filter>
    <filter-name>OpenSessionInViewFilter</filter-name>
    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
    </filter>

    <filter-mapping>
    <filter-name>OpenSessionInViewFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    12、提供用户添加表单和add_success.jsp


    13、建立User实体类,编写hibernate映射文件,将映射文件加入到hibernate.cfg.xml中


    14、建立UserDao和UserService,并进行实现


    15、建立Struts2的Action,并配置到Struts2的配置文件中


    16、在jsp中调用Action
        

    第二种方案(推荐):

    集成Struts2+Spring+Hibernate


    第一种方案:让Spring创建Struts2的Action,Spring完全管理Struts2的Action
          将Struts2的Action配置到Spring的配置文件中


    1、提供Spring配置文件,配置Struts2的Action
    * applicationContext-action.xml

    2、在Spring中必须注入Struts2中Action的的依赖对象
    <bean id="addUserAction" class="com.bjpowernode.usermgr.web.action.AddUserAction" scope="prototype">
    <property name="userService" ref="userService"/>
    </bean>
    !!!必须设置scope="prototype"


    3、struts.xml配置文件需要修改,<action>标签中的class属性值和IoC容器中本次请求对应的Action的id值相同
    <package name="user-package" extends="struts-default" namespace="/user">
    <action name="add" class="addUserAction">
    <result>/add_success.jsp</result>
    </action>
    </package>

      
          
  • 相关阅读:
    <Docker学习>5. docker数据管理
    <Docker学习>4. docker容器的使用
    <Docker学习>3. docker镜像命令使用
    <Docker学习>2.Centos7安装docker
    java注解
    基于django的个人博客网站建立(七)
    强大的django-debug-toolbar,django项目性能分析工具
    一个简单的WebServer,socket+threading
    基于django的个人博客网站建立(六)
    基于django的个人博客网站建立(五)
  • 原文地址:https://www.cnblogs.com/reblue520/p/6239920.html
Copyright © 2020-2023  润新知