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 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>
<?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 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>
<?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文件。
- <!-- 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>
<!-- 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 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>
<?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 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>
<?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 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>
<?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中增加如下代码:
- <!-- sessionFactory -->
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
- <property name="configLocation">
- <value>classpath:/hibernate.cfg.xml</value>
- </property>
- </bean>
相关推荐
提供的两个文档名称“最新版Hibernate-struts-spring框架整合.doc”和“eclipse搭建SSH框架详解.docx”暗示了文档内容可能包含了最新的SSH框架整合方法,以及使用Eclipse IDE的具体步骤。这些文档可能会详细介绍每个...
本教程将详细讲解如何在Eclipse环境中搭建SSH2框架,这对于初学者来说是非常有帮助的。 首先,我们来了解Struts2框架。Struts2是一个基于MVC设计模式的Web应用框架,它提供了处理HTTP请求和响应的能力,以及强大的...
《使用Maven构建SSH框架详解》 在Java Web开发领域,SSH(Struts2、Spring、Hibernate)框架的组合是常见的应用架构,它为开发者提供了强大的功能和灵活的控制。本教程将详细介绍如何使用Maven这个强大的构建工具来...
本文将详细介绍如何使用Eclipse IDE搭建SSH框架(Struts2.5.10 + Spring4.3.7 + Hibernate5.2.9),包括各个组件的下载与配置过程。 #### 二、Struts2配置 1. **下载Struts2相关JAR包** - 访问[Struts官方下载页面...
### 搭建SSH框架步骤详解 #### 一、概览 SSH框架是Spring、Struts和Hibernate三种技术的组合,常用于企业级应用开发。本文档详细介绍了如何从零开始搭建一个完整的SSH框架环境,包括数据库搭建、Web工程创建、框架...
### SSH框架的搭建详解 SSH框架,即Struts、Spring和Hibernate三个开源框架的组合,是Java Web开发中的一种流行架构。它集成了MVC设计模式、依赖注入、面向切面编程以及对象关系映射技术,能够有效提高开发效率,...
《SSH框架搭建详解》 SSH框架,即Struts、Spring和Hibernate三大开源框架的组合,是Java Web开发中常用的一种架构模式。它提供了强大的MVC(Model-View-Controller)功能,以及对业务逻辑和持久层的良好管理。下面...
### SSH框架知识总结 #### 一、框架概念与特性 **框架**是一种预先设计好的软件架构,用于构建特定类型的软件应用程序。它定义了一组规则,这些规则指导着应用程序的结构和组件之间的交互方式。框架通常包含一系列...
《HRMS人力资源管理系统:SSH框架与JS集成应用详解》 在现代企业中,人力资源管理扮演着至关重要的角色,有效的管理不仅能够提升工作效率,还能优化资源配置。HRMS(Human Resource Management System)便是这样的...
### SSH框架搭建全解 SSH框架,即Struts+Spring+Hibernate框架的组合,是Java Web开发中的一个经典且流行的组合。本文将详细介绍如何搭建这一框架,并通过具体步骤和示例代码来帮助初学者理解整个过程。 #### 一、...
### SSH框架搭建详解 #### 一、引言 在Java Web开发领域,SSH框架(Struts + Spring + Hibernate)是一种非常流行的开发模式。它结合了Struts2的MVC架构、Spring的IoC容器和Hibernate的对象关系映射技术,使得Java...
通过上述步骤,可以在MyEclipse中成功搭建Flex SSH框架整合项目。这种整合不仅充分利用了Flex在构建富客户端方面的优势,同时也发挥了SSH框架在Java EE领域的强大能力,为开发者提供了高效、灵活的应用程序开发解决...