SSH框架是最常用的框架之一,在搭建SSH框架的时候总有人遇到这样,那样的问题。下面我介绍一下SSH框架搭建的全过程。
第一步:准备工作。
下载好eclipse,Struts2,Spring,Hibernate。
1.eclipse:eclipse下载的时候建议下载JavaEE版的eclipse。

当然你也可以下载eclipse-SDK。(下载eclipse-SDK需要下载Web,Tomcat等plugins)

2.Struts2:http://struts.apache.org/download

1)引入Struts的jar包。下载 struts-*-all.zip 解压后,struts/lib目录下是struts所有的相关jar包。
其中有5个是必须的:
Commons-logging-1.0.4.jar,Freemarker-2.3.13.jar,
Ognl-2.6.11.jar,Struts2-core-2.1.6.jar,Xwork-2.1.2.jar
其余jar包并不是struts必须的。还有3个包也要注意导入。不导入运行Tomcat时候可能会出现异常。
commons-io-1.3.2.jar,commons-fileupload-1.2.1.jar,javassist-3.7.ga.jar
注意:javassist-3.7.ga.jar包是在struts2-blank-2.2.1.war示例工程中的web-inf/lib下的。

3.Spring:http://www.springsource.com/download/community
还可以在eclipse下安装下载。具体步骤是这样的:
1)打开eclipse-help-Software Updates.
2) 在打开的对话框中选择上面的第二项(Available Software)。
3)点击Add Site按钮,弹出URL对话框。
4)在对话框里输入:http://springide.org/updatesite/点击OK。
5)选择sping IDE点击安装(Install)。

4.Hibernate:http://sourceforge.net/projects/hibernate/files/hibernate3/

5.Jdk的src.zip包导入。(当然不导入也可以。。。)

第二步:
1.创建一个 Web Progect,自己起一个喜欢的名字。
2.修改WEB-INF下的web.xml文件,增加struts2的配置。

Xml代码
<?xml version="1.0" encoding="UTF-8"?>  
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
        xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
        id="WebApp_ID" version="2.5">  
        <display-name>SSHTest</display-name>  
        <!-- struts Framework -->  
        <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>  
        <!-- welcome file -->  
        <welcome-file-list>  
            <welcome-file>index.jsp</welcome-file>  
        </welcome-file-list>  
    </web-app>

3.在WEB-INF/classes目录下添加struts.xml配置文件:
Xml代码
<?xml version="1.0" encoding="UTF-8"?>  
    <!DOCTYPE struts PUBLIC     
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"     
        "http://struts.apache.org/dtds/struts-2.0.dtd">    
    <struts>  
        <package namespace="/" name="struts2" extends="struts-default">  
            <action name="login" method="execute" class="loginAction">  
                <result name="success">/WEB-INF/jsp/login.jsp</result>  
                <result name="input">/WEB-INF/index.jsp</result>  
            </action>  
        </package>  
    </struts>

4.配置Spring

1)导入spring包。spring-framework-**.zip解压后,将spring-framework-**文件夹的dist目录下的jar包导入工程中。

2)配置web.xml文件。
Xml代码

<!-- Spring Framework -->  
    <listener>  
        <listener-class>  
          org.springframework.web.context.ContextLoaderListener  
        </listener-class>  
    </listener>  
    <context-param>  
        <param-name>contextConfigLocation</param-name>  
        <param-value>  
            classpath:/applicationContext*.xml  
        </param-value>  
    </context-param>

3)添加applicationContext.xml文件。
Xml代码

<?xml version="1.0" encoding="UTF-8"?>  
    <beans xmlns="http://www.springframework.org/schema/beans"  
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
        xmlns:aop="http://www.springframework.org/schema/aop"  
        xmlns:tx="http://www.springframework.org/schema/tx"  
        xsi:schemaLocation="  
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd  
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">  
        <!-- Action -->  
        <bean id="loginAction" scope="prototype" class="action.LoginAction"></bean>  
    </beans>

4)整合Spring与Struts。在Struts的lib目录中找到struts2-spring-plugin-*.jar,引入到工程中。

5.配置Hibernate

1)解压缩hibernate-distribution-*.zip。导入hibernate-distribution-*GA/lib/required目录中的jar包。

hibernate3.jar                         核心类库
                antlr-2.7.6.jar                          代码扫描器,用来翻译HQL语句
                commons-collections-3.1.jar    Apache Commons包中的一个,包含了一些Apache开发的集合类,

功能比java.util.*强大
                dom4j-1.6.1.jar                        一个Java的XML API,类似于jdom,用来读写XML文件的
                javassist-3.4.GA.jar                 Javassist 字节码解释器
                jta-1.1.jar                                标准的JTA API。
                slf4j-api-1.5.2.jar
                slf4j-nop-1.5.2.jar

2)创建Hibernate配置文件。在WEB-INF/calsses目录下建立链接数据库的配置文件hibernate.cfg.xml。
            (本人比较懒,公司电脑中只有Access,也懒得下载别的DBMS。所以例子是连接Access的大家将就看吧。
            *注意:需要导入Access_JDBC30.jar。
   hibernate.cfg.xml:
Xml代码

<?xml version="1.0" encoding="UTF-8"?>  
    <!DOCTYPE hibernate-configuration PUBLIC     
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"     
              "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
    <hibernate-configuration>  
        <session-factory>  
            <property name="connection.driver_class">  
                com.hxtt.sql.access.AccessDriver     
            </property>  
            <property name="connection.url">  
                jdbc:access:///D:/workspace/SSHTest/TestDatabase.accdb  
            </property>  
            <!--  数据库连接设置 -->  
            <property name="eclipse.connection.profile">access</property>  
            <property name="connection.username"></property>  
            <property name="connection.password"></property>  
            <property name="dialect">com.hxtt.support.hibernate.HxttAccessDialect</property>  
            <!-- show_sql 生成SQL语句 -->  
            <property name="show_sql">true</property>  
            <!-- SQL dialect 方言 -->  
            <property name="hibernate.dialect">  
                com.hxtt.support.hibernate.HxttAccessDialect     
            </property>  
            <!-- 添加实体类的映射文件-->  
            <mapping resource="Login.hbm.xml" />  
                
            <!-- Annotation方式配置  
            <mapping class="entity.Login"/>  
             -->  
        </session-factory>  
    </hibernate-configuration>

注意:单独使用Hibernate需要创建Session工厂类HibernateSessionFactory.java
                     (如果用Spring整合就不需要了。Spring会在applicationContext.xml中创建。)
                      Hibernat 对数据库的操作是通过Session来实现的,这里的session不同于页面间传递参数的session,
                      而是类似于JDBC中的 Connection。Session是Hibernate运作的中心,
                      对象的生命周期、事务的管理、数据库的存取都与session息息相关。
                      而Session是由HibernateSessionFactory创建的,是线程安全的,
                      可以让多个执行线程同时存取HibernateSessionFactory而不会有数据共享的问题,
                      但不能让多个线程共享一个Session。

3)Login.hbm.xml文件
Xml代码

<?xml version="1.0" encoding="UTF-8"?>  
    <!DOCTYPE hibernate-mapping PUBLIC  
              "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
              "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >  
    <hibernate-mapping package="包名">  
        <class name="类名" table="表名">  
            <id name="主键在java类中的字段名" column="对应表中字段" type="类型 ">  
                <generator class="主键生成策略"/>  
            </id>  
        </class>  
    </hibernate-mapping>

6.Spring整合Hibernate。Spring对hibernate的Session的创建、提交、关闭的整个生命周期进行管理。
        1)  配置sessionFactory,让spring来创建Session。在applicationContext.xml中增加如下代码:
Xml代码

<!-- sessionFactory -->  
        <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
           <property name="configLocation">  
               <value>classpath:/hibernate.cfg.xml</value>  
           </property>  
        </bean>

[JavaEE] SSH框架笔记_eclipse搭建SSH框架详解的更多相关文章

  1. 【山外笔记-工具框架】iperf3网络性能测试工具详解教程

    [山外笔记-工具框架]iperf3网络性能测试工具详解教程   本文下载链接 [学习笔记]iperf3网络性能测试工具.pdf 网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性 ...

  2. linux ssh使用深度解析(key登录详解)

    linux ssh使用深度解析(key登录详解) SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task ...

  3. Farseer.net轻量级开源框架 入门篇:添加数据详解

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 分类逻辑层 下一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 ...

  4. Farseer.net轻量级开源框架 入门篇:修改数据详解

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 添加数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 ...

  5. Farseer.net轻量级开源框架 入门篇:删除数据详解

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 查询数据详解 ...

  6. Farseer.net轻量级开源框架 入门篇:查询数据详解

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 下一篇:Farseer.net轻量级开源框架 中级篇: Where条 ...

  7. 《手把手教你》系列基础篇(八十三)-java+ selenium自动化测试-框架设计基础-TestNG测试报告-下篇(详解教程)

    1.简介 其实前边好像简单的提到过测试报告,宏哥觉得这部分比较重要,就着重讲解和介绍一下.报告是任何测试执行中最重要的部分,因为它可以帮助用户了解测试执行的结果.失败点和失败原因.另一方面,日志记录对 ...

  8. 【转】jumpserver 堡垒机环境搭建(图文详解)

    jumpserver 堡垒机环境搭建(图文详解)   摘要: Jumpserver 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装ag ...

  9. Ubuntu下Git从搭建到使用详解

    Ubuntu下Git从搭建到使用详解 一.git的搭建 (1).sudo apt-get update (2).sudo apt-get -y install git 符:安装最新版本方法: add- ...

随机推荐

  1. C++11常量表达式

    [C++11之常量表达式] 关键字:constexpr: 中文学名:常量表达式. constexpr用于把运行期计算放置在编译期. 使用constexpr有3个限制: 1.函数中只能有一个return ...

  2. pyqt中QDateTimeEdit/QDateEdit相关使用方法

    QDateTimeEdit/QDateEdit clear (self)QDate date (self)QDateTime dateTime (self)setDate (self, QDate d ...

  3. UI进阶 地图

    一.地图的简介 在移动互联网时代,移动app能解决用户的很多生活琐事,比如    导航:去任意陌生的地方    周边:找餐馆.找酒店.找银行.找电影院    手机软件:微信摇一摇.QQ附近的人.微博. ...

  4. 6 种CSS设置居中的方法

    原文 Demos of each of the methods below by clicking here. Horizontal centering with css is rather easy ...

  5. 15 Examples To Master Linux Command Line History

    When you are using Linux command line frequently, using the history effectively can be a major produ ...

  6. 用一个I/O口控制1个三色指示灯, 2个单色指示灯

    http://www.baiheee.com/Documents/081207/081207184434.htm http://www.baiheee.com/Documents/081207/081 ...

  7. registerClassAlias()函数和getClassByAlias()函数

    flash.net 包中包含包级函数,可用于打开新的浏览器窗口,向服务器发送 URL 请求以及处理类别名. registerClassAlias()函数 public function registe ...

  8. IOS 7 Study - UISegmentedControl

    You would like to present a few options to your users from which they can pick anoption, through a U ...

  9. Codeforces Round #311 (Div. 2) A. Ilya and Diplomas 水题

    A. Ilya and Diplomas Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/557/ ...

  10. Android 百度地图定位(手动+自动) 安卓开发教程

    近由于项目需要,研究了下百度地图定位,他们提供的实例基本都是用监听器实现自动定位的.我想实现一种效果:当用户进入UI时,不定位,用户需要定位的时候,自己手动点击按钮,再去定位当前位置.  经过2天研究 ...