怎么搭建框架(ssh:Hibernate3.6+Spring2.5+Struts2.1.8)

*1. 导包
        >1. Hibernate3.6
            *1. 核心包:hibernate3.jar
            *2. 必须要的包:在required文件夹下
                >1. 语言识别的其他工具,解析hql语句用的:antlr-2.7.6.jar
                >2. 通用的操作集合的包,这个是Apache组织的:commons-collections-3.1.jar
                >3. 操作xml文件的包:dom4j-1.6.1.jar
                >4. 操作字节码的包:javassist-3.12.0.GA.jar
                >5. 用到事务时要使用的包:jta-1.1.jar
                >6. 做日志用的包,这里用Spring开发包中提供的slf4j做日志:
                    *slf4j-api-1.5.0.jar
                    *slf4j-log4j12-1.5.0.jar
            *3. 支持jpa(Java持久化规范的包),在jpa文件夹下:hibernate-jpa-2.0-api-1.0.0.Final.jar

            *4. 组合连接池:c3p0-0.9.1.jar
        >2. Spring2.5:在开发文档的lib目录下
            *1. dist文件夹下的,Spring核心包:spring.jar
            *2. aspectj文件夹下的:AOP(面向切面编程)要用的:
                 >aspectjrt.jar
                 >aspectjweaver.jar
            *3. cglib文件夹下的,动态代理包:cglib-nodep-2.1_3.jar
            *4. jakarta-commons文件夹下的,日志包:commons-logging.jar
            *5. jakarta-commons文件夹下的,通用工具jar包,在:
                 >commons-codec.jar:做md5加密用的
                 >commons-lang.jar:包含了一些数据类型工具类
                 >commons-fileupload.jar:文件上传
                 >commons-io.jar: 输入输出数据流的读写功能
        >3. Struts2.1.8:
            注:
            *导这个框架包最简单了,就是可以在struts2-blank-2.1.8.1.war中解压之后就可以找到
             lib库中的包导入即可.
            *再导入和Spring框架整合的包:struts2-spring-plugin-2.1.8.1.jar

           >4. 数据库的驱动包:例如如果是MySQL的话:mysql-connector-java-5.1.7-bin.jar
           注:
              *导包切忌包的版本冲突或者是漏掉某些包没有导入。
          *要用到json数据时要导入到包:struts2-json-plugin-2.3.4.1.jar

    *2. 配置
        >1. hibernate配置:配置文件hibernate.cfg.xml
            <?xml version="1.0" encoding="utf-8"?>
            <!DOCTYPE ...>
            <hibernate-configuration>
                <session-factory>

                    <!--数据库配置信息-->
                    <property name="connection.url" value=""/>
                    <property name="connection.driver_class" value=""/>
                    <property name="connection.username" value=""/>
                    <property name="connection.password" value=""/>
                    <property name="connection.Dialect" value=""/>

                    <!--数据库连接池配置-->
                    <property name="c3p0.initialPoolSize" value=""/>
                    <property name="c3p0.minPoolSize" value=""/>
                    <property name="c3p0.maxPoolSize" value=""/>
                    <property name="c3p0.CheckoutTimeout" value=""/>
                    ...

                    <!--一般的属性,比如是否显示sql语句,是否可以从hibernate映射文件到数据库表的关联-->
                    <property name="show_sql" >true</property>
                    <property name="hbm2ddl.auto" >update</property>

                    <!--导入hibernate映射文件-->
                    <mapping resource="" />

                    <!--二级缓存的配置,可选-->
                    <property name="hibernate.cache.use_second_level_cache" >true</property>
                    <property name="hibernate.cache.provider_class" ></property>
                    <class-cache usage="" class=""/>
                    <class-cache usage="" class=""/>
                </session-factory>
            </hibernate-configuration>
        >2. Spring配置
            <?xml version="1.0" encoding="utf-8" ?>
            <!--这里的头文件要注意别导错了,用到的就需要导入,建议应开发工具导入或者是直接从
                开发包中导入文件头,包括beans(JavaBean对象),tx(事务),context,aop头文件
            -->
            <beans ...>

                <!--使用注解扫描-->
                <context:component-scan base-package=""></context:component-scan>

                <!--配置SessionFactory
                    实现类为:LocalSessionFactoryBean
                -->
                <bean id="" class="">
                    <property name="" value=""/>
                </bean>

                <!--配置事务管理器TransactionManager
                    实现类为:HiberanteTransactionManager
                -->
                <bean id="" class="">
                    <property name="" ref=""/>
                </bean>

                <!--配置事务注解驱动-->
                <tx:annotation-driven transaction-manager=""/>
            </beans>
        >3. Struts配置:
            <?xml version="1.0" encoding="utf-8" ?>
            <!DOCTYPE...>
            <struts>
                <!--配置为开发模式-->
                <constant name="" value="" />
                <!--配置页面的显示主题-->
                <constant name="" value="" />
                <!--配置行为的扩展名,也可以不配置,默认为.action-->
                <constant name="" value="" />

                <!--配置装载行为或者是拦截器的包
                    其中名字属性name就是用来继承的
                -->
                <package name="" namespace="/" extends="struts-default">

                    <!--配置拦截器-->
                    <interceptors>
                        <!--声明一个拦截器-->
                        <interceptor name="" class=""></interceptor>

                        <!--配置自定义默认拦截器栈-->
                        <interceptor-stack name="defaultStack">
                            <interceptor-ref name="" ></interceptor-ref>
                            <interceptor-ref name="" ></interceptor-ref>
                        </interceptor-stack>
                    </interceptors>

                    <!--配置行为-->
                    <action name="" class="" method="">
                        <result name=""></result>
                    </action>
                </package>
            </struts>
            注:对于到底是使用单标签,还是双标签??

    *3. 使用(测试)

        >1. Spring测试
            //测试类:SpringTest
            public class SpringTest{
                //1. 依赖应用程序环境:ApplicationContext,来获取Spring工厂中的对象bean
                //2. 测试会话工厂SessionFactory
                //3. 测试事务Transaction
            }
        >2. Struts测试
            //测试类:ActionTest
            public class ActionTest extends ActionSupport{

                //依赖Spring对象工厂中的测试service,类:ServiceTest

                //测试执行中转数据的方法,默认的方法为execute
                @Override
                public String execute(){
                    //依赖ServiceTest操作数据
                }
            }
        >3. 操作数据要依赖的Service,测试类:ServiceTest
        public class ServiceTest{
            //依赖会话工厂SessionFactory

            //操作数据的方法,例如:saveUsers
            public void saveUsers(){

            }
        }

    注:
        *这三个框架的整合,其实Spring框架就是其他两个框架的粘合剂,在Spring对象工厂中管理着Hibernate
         框架的会话工厂和事务管理器的创建,以及管理着Struts框架中的行为Action的创建。
        *至于是否使用注解还是用xml配置文件,注解简单是趋势,但是有的地方还是要用到xml配置文件的。所以
         这两个要配合着使用。
时间: 2024-11-05 12:33:35

怎么搭建框架(ssh:Hibernate3.6+Spring2.5+Struts2.1.8)的相关文章

struts2+hibernate3.2+spring2.0整合篇(一)

本系列文章将通过一个添加用户的实例,讲解struts2+hibernate3.2+spring2.0的整合过程. 步骤一:用MyEclipse8.5搭建SSH开发环境 (1)搭建Hibernate3.2开发环境 新建Web Project,右键选中项目-->MyEclipse-->Project Capabilities-->Add Hibernate Capabilities--> (2)搭建Spring2.0开发环境 右键选中项目-->MyEclipse-->Pro

初学springMVC搭建框架过程及碰到的问题

刚刚开始学spring框架,因为接了一个网站的项目,想用spring+springMVC+hibernate整合来实现它,现在写下搭建框架的过程及碰到的问题.希望给自己看到也能让大家看到不要踏坑. 一.创建Maven项目 我选用的IDE是Intellij idea2016.2 Ultimate,使用的Maven来创建web项目,这样可以省去很多我自己找依赖包下载的时间,因为Maven有中央仓库统一管理可以通过配置pom.xml文件到Maven仓库上去获取需要的包,点击File->New proj

一个简单的NetCore项目:1 - 搭建框架,生成数据库

1- 启动项目 安装.NETCORE SDK,教程在网上可以搜索的到,这里就不讲述了.简单粗暴的方式就是安装最新的VS2015. 2-搭建框架 2.1 打开VS新建一个项目,在弹出的新建项目对话框中,选中NET CORE选项,右边出现的选项就是.NET CORE的所有可建项目了.然后和创建传统.NET项目一样的创建项目就行了. PS:不理解的可以参考 园子里面翻译小组的文章 2.2 开始编写领域实体对象.这里是先实现一个简单的权限管理.所以现在GR.Core 类库中创建一个domain文件夹,然

Drupal8系列(四):主题制作之搭建框架-Ubuntu 14.04 LTS

Drupal8的主题制作准备工作已经完成了,那么我们接下来就开始正式制作主题了! 一.生成主题的Compass框架 首先我们先进入到Druapl8的主题目录: cd /var/www/druapl8/themes 然后利用Compass生成主题框架: compass create firehare --css-dir=css --images-dir=img --javascripts-dir=js -r bootstrap-sass --using bootstrap 在上述命令中fireha

[转]JAVA三大框架SSH和MVC理解

Java—SSH(MVC) JAVA三大框架的各自作用 hibernate是底层基于jdbc的orm(对象关系映射)持久化框架,即:表与类的映射,字段与属性的映射,记录与对象的映射 数据库模型 也就是Model; struts提供的丰富标签是用于显示层View;同时struts也充当了实现Control的功能(不管是Struts1,还是Struts2),接收参数,视图分发. Spring是用于降低层与层间耦合度的,就是所有的类都可以由spring统一创建,用时只需注入即可(IOC) 从功能上来说

java开发中经典的三大框架SSH

首先我们要明白什么是框架为什么用?相信一开始学习编程的时候都会听到什么.什么框架之类的:首先框架是一个软件半成品,都会预先实现一些通用功能,使用框架直接应用这些通用功能而不用重新实现,所以大多数企业都用框架都是提高开发效率,节约开发成本. 绝大多数框架都遵循着一种mvc设计模式思想,MVC是Model-View-Controler的简称.即模型-视图-控制器.MVC是一种设计模式,它强制性的把应用程序的输入.处理和输出分开.MVC中的模型.视图.控制器它们分别担负着不同的任务. 视图: 视图是用

Windows 7下 搭建 基于 ssh 的sftp 服务器

Windows  xp 下 搭建 基于  ssh 的sftp 服务器,服务器端可以用 freesshd,F-secure server等,filezilla server不可用,之前傻乎乎的用filezilla 来做服务器,找不到任何有关sftp的配置选项,推荐用freesshd,免费.简单,直观,客户端可以用一般的支持sftp的都可以,filezilla,f-secure client 等,我用freesshd和filezillazilla 搭建sftp 服务,我在内网搭建的,如果在外网发布,

搭建框架-ECS.ECommerce

最近在搭建公司新版的商城框架,先列举一下会使用到的技术, orm-entityframeworkvalidation-fluentvalidationconvertEntitiy-emitMapper or automapioc-autofac+import or unityjs-jquery+angular.jspresentation-asp.net mvc+bootstrapdesign-DDDtest-xunitcode generate-T4middleware service-wcf

struts2+hibernate3.2+spring2.0整合篇(三)

在上篇文章中,我们已经将各层之间相关的类创建完毕,这篇我们主要讲解如何通过spring管理类之间的依赖关系. 步骤八:通过spring管理类之间的依赖关系. applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="