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. JQuery实现的动态Table(转)

    这个例子做的不错,转载备份. 原文:http://www.cnblogs.com/linjiqin/archive/2013/06/21/3148181.html $("#mytable t ...

  2. Unix 哲学

    1.模块原则:使用简洁的接口拼接简单的部件 2.清晰原则:清晰胜于机巧 3.组合原则:设计时考虑拼接组合 4.分离原则:策略同机制分离,接口同引擎分离. 5.简洁原则:设计要简洁,复杂度能低则低 6. ...

  3. Cisco 防止SYN Flood 攻击原理

    DoS(Denial of Service拒绝服务)和DDoS(Distributed Denial of Service分布式拒绝服务)攻击是大型网站和网络服务器的安全威胁之一.2000年2月,Ya ...

  4. 安装Sass

    最近要开始用 Sass 做一些东西.先来记录一下安装过程. 1.确认本机的 Ruby 版本 2.访问网址下载 Sass 最新版本 https://rubygems.org/gems/sass 3.下载 ...

  5. 5.迪米特法则(Law Of Demeter)

    1.定义 狭义的迪米特法则定义:也叫最少知识原则(LKP,Least Knowledge Principle).如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用.如果其中的一个类需要 ...

  6. MHA高可用+VIP 集群故障转移(已测试成功)

       服务器部署说明192.168.158.201 mha管理,mysql主服192.168.158.202 mha节点,mysql从服192.168.158.203 mha节点,mysql从服Man ...

  7. nginx 配置虚拟主机(支持php)

    配置步骤: 1.在nginx安装目录下,找到nginx.conf所在文件夹,新建vhost文件夹 2.在nginx.conf http{} 末端加入 include vhost/*.conf; 3.进 ...

  8. MFC 学习 之 工具栏的添加(一)

    最终实现的效果图: 步骤一:接下来在资源视图中添加一个ToolBar工具栏(具体怎么添加在这儿就不详细讲解了!)添加后的ToolBar以及工具栏中每个按钮 所命名的ID如下:(可以自定义,只要不重名就 ...

  9. Linux系统编程——进程间通信:命名管道(FIFO)

    命名管道的概述 无名管道,因为没有名字,仅仅能用于亲缘关系的进程间通信(很多其它详情.请看<无名管道>).为了克服这个缺点.提出了命名管道(FIFO).也叫有名管道.FIFO 文件. 命名 ...

  10. 12个非常不错的免费HTML后台管理模板

    下面介绍的这些免费后端管理HTML模板,都非常不错.建议您收藏. 1.  Charisma Admin Template (示例) Charisma是一个响应式管理模板,基于Twitter Boots ...