SSH2整合实例详细教程

合集下载

SSH2详细(框架搭建)

SSH2详细(框架搭建)

applicationContext.xml常用配置:
sessionFactory配置:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactor yBean">
<filter-name>struts</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
第五页,编辑于星期三:六点 八分。
struts2相关配置
struts.xml文件配置 在项目src目录下添加struts.xml配置文件。其基本配置如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
一个属性被映射为主键 . 置于 getXxxx() 前 .
第十七页,编辑于星期三:六点 八分。
JPA相关注解
@GeneratedValue(strategy=GenerationType,generator="")
可选
strategy: 表示主键生成策略 , 有 AUTO,INDENTITY,SEQUENCE 和 TABLE 4 种 , 分别表示让 ORM 框架自动选择 ,

SSH2框架整合学习指南word资料11页

SSH2框架整合学习指南word资料11页

SSH2框架整合详细步骤内部资料2019年7月目的:通过一个简单的注册登录来学ssh框架的整合1 准备工作1.1工具准备Mysql5.5 , JDK 1.6, Myeclipse 6.5,tomcat6.0等辅助工具1.2整合类库集Struts-2.3.1.2, Hibernate 3.2,Spring 2.5(后两类库可以在myelcipse中有自带)2开始搭建平台1.启动myeclipse,建一个Web工程,如图所示:图中的需要输入项目名称即可,其余可以没必要选择,除非有需2.导入Struts2开发的必备类库说明:(此版本的myeclipse没有需要的struts2类库,所以选择手工导入)需要导入的类库常见8个:导入之后,还别忘了导入一个和spring整合需要的类文件这些工作之后还需配置web.xml文件,为它配置过滤器,配置文件详细如下:<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_9" version="2.4"xmlns="http://java.sun/xml/ns/j2ee"xmlns:xsi="/2019/XMLSchema-instance"xsi:schemaLocation="http://java.sun/xml/ns/j2eehttp://java.sun/xml/ns/j2ee/web-app_2_4.xsd"><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecute Filter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>配置好该处后,还需要在src下面建立一个struts.xml文件,关于该配置文件可以到你下载的struts2文件中,找个项目中,有这样的模版可以拷贝过来一个,这样配置strust2暂时解决了3.导入Hibernate类库文件,选择myeclipse进行导入单击你选择的项目,点击右键,按如图所示选择hibernate的支持选中点击之后得到如下界面,只需改JAR Library Installation如图所示点击next,得到如下,不需改动,继续点击next即可之后到该界面,因为后续来配置,此处就不选,不勾上,点击next接下来也是把勾去掉,不选择,点击finish即可就这样hibernate的支持也完成了3。

ssh2实例(带截图)

ssh2实例(带截图)

Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解(一)在JavaEE企业级开发中,以SSH2框架为核心的应用非常广,大象根据项目实践经验,通过一个实例,详细的为大家讲解如何实现全注解式的开发。

开发环境JDK1.6.0_18Eclipse3.2.1MyEclipse5.1.0Tomcat6.0.10MySQL5.0.27Navicat Lite for MySQL 8.1.20每个人的开发环境可能会有差异,但有一点我需要说明的是,JDK的版本不得低于1.5,因为用到了很多1.5版才支持的新特性。

Tomcat和MySQL请不要低于我所用的版本,因为我没在其它的版本上进行测试。

Navicat则是MySQL数据库的图形化操作工具。

我在这里假定各位目前已经设置好了开发环境,下面就开始详细的说明。

由于要阐述的内容比较多,大象决定将它们划分成个几章节来讲,这一章就主要来说说jar包的选择。

第一部分:选择必须的jar包新建一个web项目,然后将必要的jar包COPY到lib里面。

根据本文实例demo,大象给出下图中的最少jar包配置。

我对这些jar包进行一下说明,方便大家理解。

解压Struts2.1.6的lib文件夹,从中选出上面7个jar包添加到我们的工程库中。

commons-logging、freemarker、ognl、struts2-core、xwork这5个还是struts2的核心包。

但在Struts2.1.6这个版本中,还需要加上commons-fileupload包。

如果没有,则启动就会报错,不过不需要像网上传言的那样还得加上commons-io的jar包,这些大象都亲自做过测试。

在本实例中,我将对struts2也采取注解的方式,所以用到了struts2-convention-plugin-2.1.6.jar这个插件。

因为要与spring整合,所以struts2-spring-plugin-2.1.6.jar也必不可少。

ssh2整合步骤

ssh2整合步骤

1、创建Web Project2、web工程与struts2整合(1)添加struts2类库struts2-core-2.1.8.1.jarxwork-core-2.1.6.jarcommons-fileupload-1.2.1.jarcommons-io-1.3.2.jarognl-2.7.3.jarfreemarker-2.3.15.jar(2) 在web.xml文件中添加struts2集成<filter><filter-name>struts</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPre pareAndExecuteFilter</filter-class><init-param><param-name>config</param-name><!--修改struts2默认配置文件,必须把struts-default.xml,struts-plugin.xml一起添加必须:按顺序添加--><param-value>struts-default.xml,struts-plugin.xml,config/strut s/struts.xml</param-value></init-param></filter><filter-mapping><filter-name>struts</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--struts2 *.action struts2 *.do-->(3)创建struts2配置文件struts.xml配置(4)完成页面跳转3、测试struts2工程4、struts2与spring集成(1)添加spring类库与struts支持spring插件struts2-spring-plugin-2.1.8.1.jarcglib-nodep-2.1_3.jarcommons-logging.jarlog4j-1.2.15.jarspring.jardom4j-1.6.1.jar(2)在web.xml中完成spring集成<listener><listener-class>org.springframework.web.context.ContextLoaderList ener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:config/spring/applicationContext.xml<!--classpath:config/spring/applicationContext*.x ml--></param-value></context-param>(3)创建spring配置文件applicationContext.xml(4)在struts2配置文件中添加spring 集成常量<!-- 设置集成spring框架 --><constant name="struts.objectFactory"value="spring"/>(5)spring管理struts2中Action(1)在spring 配置文件中加入bean管理<bean id="userAction"class="erAction" > </bean>(2)修改struts-user.xml配置<action class="userAction" ></action>5 测试struts+spring集成6 spring+hibernate集成(1)添加hibernate类库slf4j-nop-1.5.8.jarslf4j-api-1.5.8.jarjta-1.1.jarjavassist-3.9.0.GA.jarhibernate3.jarcommons-collections-3.1.jarantlr-2.7.6.jar(2)添加MySQL驱动类库mysql-connector-java-5.1.16-bin.jar(3)创建实体类(4)编写User.hbm.xml映射文件(5)反向生成表结构(6)spring管理hibernate在spring applicationContext.xml配置文件中添加spring对hibernate管理(A) 添加DBCP连接池a、添加类库commons-dbcp.jarcommons-pool.jarb、applicationContext.xml在配置连接池<bean id="dataSource"class="mons.dbcp.BasicDataSource"> <property name="driverClassName"value="com.mysql.jdbc.Driver"/><property name="url"value="jdbc:mysql://127.0.0.1:3306/mydb"/><property name="username" value="root"/><property name="password" value="1234"/><property name="initialSize" value="2"/><property name="maxActive" value="8"/><property name="maxIdle" value="5"/><property name="minIdle" value="3"/><property name="maxWait" value="3000"/><property name="removeAbandonedTimeout"value="60000"/><property name="removeAbandoned" value="true"/> </bean>连接池参数如下:initialSize连接池启动时创建的初始化连接数量(默认值initialSize :连接池启动时创建的初始化连接数量(默认值为0)maxActive连接池中可同时连接的最大的连接数(默认值为8 ,调整为20,高峰单机器在20并发左右,自己根据应用场景定)maxIdle连接池中最大的空闲的连接数,超过的空闲连接将被释放,如果设置为负数表示不限制(默认为8个)minIdle连接池中最小的空闲的连接数,低于这个数量会被创建新的连接(默认为0,调整为5,该参数越接近maxIdle,性能越好,因为连接的创建和销毁,都是需要消耗资源的,但是不能太大,因为在机器很空闲的时候,也会创建低于minidle个数的连接)maxWait最大等待时间,当没有可用连接时,连接池等待连接释放的最大时间,超过该时间限制会抛出异常,如果设置-1表示无限等待(默认为无限,调整为60000ms,避免因线程池不够用,而导致请求被无限制挂起)removeAbandonedTimeout :超过时间限制,回收没有用(废弃)的连接(默认为 300秒,调整为180)removeAbandoned :超过 removeAbandonedTimeout时间后,是否进行没用连接(废弃)的回收(默认为 false,调整为true)(B)spring管理hibernate实体映射文件:<bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSe ssionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><prop key="hibernate.show_sql">true</prop><prop key="hibernate.format_sql">true</prop></props></property><property name="mappingLocations"><list><value>classpath:config/hibernate/hbm/User.hbm.xml </value></list></property></bean>(C)spring读写属性(properties)文件a、创建属性文件 db.propertiesb、在applicationContext.xml配置<bean id="propertyPlaceholderConfigurer"class="org.springframework.beans.factory.config.P ropertyPlaceholderConfigurer"><property name="locations"><list><value>classpath:config/props/db.properties</valu e></list></property></bean>c:引用: ${username}(8)spring分文件管理<!-- 引入其他spring 配置文件 -->applicationContext.xml引入下列文件<import resource="applicationContext-web.xml"/> <import resource="applicationContext-biz.xml"/> <import resource="applicationContext-dao.xml"/>7、开发数据访问层使用spring提供hibernate 模板类HibernateDaoSupportUserDaoImpl extends HibernateDaoSupport 在UserDaoImpl注入到spring 配置文件applicationContext-dao.xml<bean id="userDaoImpl"class="erDaoImpl"><!--HibernateDaoSupport中的sessionFactory--><property name="sessionFactory"ref="sessionFactory" /></bean>8、添加spring声明事务管理(AOP)声明式事务管理:添加spring 类库aspectjrt.jaraspectjweaver.jar了解事务的几种传播特性(1)PROPAGATION_REQUIRED:如果存在一个事务,则支持当前事务,如果没有事务则开启。

s2sh整合案例

s2sh整合案例

知识点列表编号名称描述级别1 SSH整合_方案01 通过案例练习掌握SSH的整合**2 事务处理通过案例掌握Spring管理事务的步骤及配置**3 SSH整合_方案02 通过案例练习掌握SSH的整合** 注:"*"理解级别"**"掌握级别"***"应用级别目录1. SSH整合_方案01 ** (3)【案例1】SSH整合_方案1 ** (5)2. 事务处理** (31)【案例2】SSH整合_事务处理** (31)3. SSH整合_方案02 (40)【案例3】SSH整合_方案2 ** (41)1.SSH整合_方案01 **整合方案01这部分是Struts2框架这是Spring框架在Spring框架中整合了Hibernate(或JDBC亦可)一些业务组件(Service组件)也可以放入Spring框架中进行管理(上节课的例子)如图所示1.请求(request)发出后,该请求要调用某个Action进行处理2.拦截器(FilterDistatcher)照web.xml中的定义,将拦截请求(request),并将转给struts2去处理。

此时,如果拦截器(FilterDispatcher)发现项目中已经引入了struts2-spring-plugin.jar整合插件,将进入步骤3.3.拦截器就将请求(request)交给Struts2-spring-plugin.jar整合插件来创建Action组件对象。

4.在插件struts2-spring-plugin.jar中有个非常重要的类:对象工厂StrutsSpringObjectFactory。

5.对象工厂StrutsSpringObjectFactory可以创建Action组件并且到Spring框架中将Service组件或DAO组件取出,注入到Action中去6.当然,在Spring框架内部,就各种使用IoC或者AOP,就和我们之前在spring中看到的一样。

SSH2整合问题

SSH2整合问题

又一个问题1、当在几种框架集成的时候,在调用HibernateDaoSupport中的某个方法时会出现:ng.NoSuchMethodError: antlr.collections.AST.getLine()I 的错误。

这是因为在struts2自带的antlr-2.7.2.jar包的版本较低。

需要换成antlr-2.7.6.jar。

其实在项目中已经存在了antlr-2.7.6.jar这个包,现在唯一需要做的就是删除antlr-2.7.2.jar包。

选择windows---preferences---在文本框中搜索struts 2(中间有空格)---选择stru ts 2---选择antlr-2.7.2.jar---Remove---OK。

又一个问题2使用Spring中的AOP技术代理了Service(实现声明式事务管理),然后将Servic e通过IoC注入给Action.未加入Struts时一切正常,但是加入Struts后出错,提示信息大意为无法将被代理的Service对象注入给Action,异常为ClassCastEx ception.【分析原因】ClassCastException表明这是一个类型不匹配错误,再看详细的出错信息:"Ca n't convert $Proxy1 to com.xaccp.XxxService"(大体是这个意思,原文记不清了),说明在Action中需要的类型为com.xaccp.XxxService,而实际传入的是$Pr oxy1。

接下来应该想到Service对象是被Spring代理的,Spring中有两种实现代理的方法:JDK提供的动态代理和CGLIB。

CGLIB的实现原理是动态生成目标类(Target)的子类,如果一个类采用CGLI B代理的,生成的子类类名一般为com.xaccp.XxxService$$EnhanceByCGLIB $xxxx的格式,并且根据父子类转换的规则,在要求目标类的地方,如果传入生成的代理类不会发生ClassCastException异常。

ssh2整合文档

ssh2整合文档

SSH2整合Struts2.1.8+spring2.5+hibernate3.3 1.创建工程2.创建包3.将package文件夹下的包导入工程的lib目录中4.将ssh2配置文件加入到工程的src目录下5.struts.xml和applicationContext.xml文件中对action处理action标签中的class 配置成bean标签的teaAction6.web.xml文件配置<!-- 将OpenSessionInViewFilter放在struts2过滤器之上--><filter><filter-name>hibernateFilter</filter-name><filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> </filter><filter-mapping><filter-name>hibernateFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-c </filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:applicationContext.xml</param-value> </context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener </listener><filter><filter-name>Spring character encoding filter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter <init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>Spring character encoding filter</filter-name><url-pattern>/*</url-pattern></filter-mapping>。

SSH2教程

SSH2教程

SSH2 环境配置教程及实际登陆例子所需工具:使用Struts2. 1+Hibernate3.3+Spring3.0版本,JDK是1.6, MyEclipse8.6, 数据库MySQL5.5(MyEclipse及MySQL的版本可根据自己的情况适当改变,不会有大的影响)。

步骤:第一部分:数据库的准备工作1、创建数据库CREATE SCHEMA `contact` DEFAULT CHARACTER SET utf8登录嘛!当然有个用户的数据表咯!创建表userCREATE TABLE `contact`.`user` (`id` INT NOT NULL AUTO_INCREMENT ,`username` VARCHAR(45) NOT NULL ,`password` VARCHAR(45) NOT NULL ,PRIMARY KEY (`id`) ,UNIQUE INDEX `id_UNIQUE` (`id` ASC) ,UNIQUE INDEX `username_UNIQUE` (`username` ASC) );创建的表格user有3个字段,id,username,password.2、数据库创建完毕,在MyEclipse右上角找到MyEclipse Hibernate perspective的试图界面吧!创建一个MySQL的连接,如图所示:Driver Jar 根据自己包存放的位置选择点击Finish 。

数据库的准备工作结束。

第二部分:SSH2搭建1、创建Web Project项目2、Struts2的搭建添加Struts的配置,点击你的项目,在上面的MyEclipse菜单中找到Capabilities的addStruts Capabilities。

然后点击Next吧!由于引包容易出现冲突等问题,在引包界面取消选择MyEclipse Libraries ,如图:(所有需要的包(包括hibernate 及 spring 所需的包)均打包在lib.rar,请解压后复制到lib文件下)Finish之后, src目录下就多了一个struts.xml的配置文件,这时你的web.xml里面也多了一段:<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5"xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_5.xsd"><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><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></web-app>这时Struts已搭建好。

SSH整合2

SSH整合2
<!-- ===================配置事务管理的AOP -->
<aop:config>
<aop:pointcut id="transPointcut" expression="execution(* com.test.service.impl.DeptServiceImpl.*(..))"/>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3,配置Spring的配置文件:
1,配置数据源,将Hibernate的数据源配置交给Spring来管理
5,所需数据库JDBC的驱动包:
1,Oracle的驱动包为classes12.jar
6,struts整合spring所需的插件包:struts2-spring-plugin-2.1.8.1.jar
7,spring整合struts所需的插件包:spring-webmvc-struts.jar
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>

ssh整合全过程(完整版本)

ssh整合全过程(完整版本)

3.选中后点下一步
a.在Folder中选择WebRoot/WEB-INF表示把配置文件放到项目中的WEB-INF目录下
b.在File中写配置文件名为;applicationContext_common.xml
4.完成
4.加载hibernate
注意事项;
1.加载所有的包
<load-on-startup>1</load-on-startup>
</servlet>
6.在struts-config.xml
1.把<message-resources parameter="ApplicationResources" />替换成:
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor" nocache="true"/>
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
8.删除asm-2.2.3包,防止冲突。
9.编写前台和后台action代码启动服务器,测试。
10.SSH整合结束。
<message-resources parameter="ApplicationResources" />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">

SSH2配置完整案例

SSH2配置完整案例

SSH2配置完整案例一新建WEB项目SSH2二在dbbrowser中新建数据连接sql五添加hibernate容器这里应当是webroot/web-inf/applicationContext.xml完成后结构图如下:六配置各文件1 配置struts.xml<?xml version="1.0"encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration2.1//EN""/dtds/struts-2 .1.dtd"><struts><!-- 开发模式 --><constant name="struts.devMode"value="true"/><!-- 告诉struts2,action的创建交给spring --> <constant name="struts.ObjectFactory"value="s pring"></constant><package name="struts2"extends="struts-defaul t"><action name="list"class="com.my.action.ListA dmin"><result name="success">listAdmin.jsp</result> </action></package></struts>2 配置web.xml<listener><listener-class>org.springframework.web.cont ext.ContextLoaderListener</listener-class> </listener><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.Stru tsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>7 代码1 逆向工程admin表生成后的结构2 ListAdmin.java action类package com.my.action;import java.util.List;import com.my.orm.Admin;import com.my.orm.AdminDAO;import com.opensymphony.xwork2.ActionSupport;ActionSupport{ AdminDAO adminDAO;List<Admin>list;@Overridepublic String execute() throws Exception { list=adminDAO.findAll();return"success";}public AdminDAO getAdminDAO() {return adminDAO;}publicvoid setAdminDAO(AdminDAO adminDAO) { this.adminDAO = adminDAO;}public List<Admin> getList() {return list;}publicvoid setList(List<Admin> list) { this.list = list;}}3 listAdmin.jsp<%@page language="java"import="java.util.*"pageE ncoding="utf-8"%><%@taglib prefix="s"uri="/struts-tags"%><%@taglib prefix="c"uri="/jsp /jstl/core"%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><body><table border="1"><tr><td>APass</td><td>AHeader</td><td>APhone</td><td>AEmail</td><c:forEach items="${list}"var="x"><tr><td>${x.AName }</td><td>${x.AHeader }</td><td>${x.APhone }</td><td>${x.AEmail }</td></td></c:forEach></table></body></html>4 strut.xml配置<package name="struts2"extends="struts-default"><action name="list"class="com.my.action.ListA dmin"><result name="success">listAdmin.jsp</result> </action></package>5 applicationContext.xml中自动生成的id=”AdminDAO”修改成 id=”adminDao”(也就是AdminDao第一个字母小写,使之与ListAdmin.java中属性adminDAO相匹配)<bean id="adminDAO"class="com.my.orm.AdminDAO"> <property name="sessionFactory"><ref bean="sessionFactory"/></property></bean>最后部署并运行。

ssh框架整合最新版本

ssh框架整合最新版本

Struts2+Spring+Hibernate整合在SSH2框架中,Spring充当了一个JavaBean容器的作用,Spring使用IOC(依赖注入)和AOP(面向切面编程)技术接管了Hibernate的DAO、事务和Struts的action对象及service 业务层。

MVC分别使用:(1)M层,Spring;(2)V层,JSP;(3)C层,Struts;(4)持久层,Hibernate 我用的是myeclipse8.6,tomcat6.0.30,jdk6.0,和sqlServer2000版本的。

在开发工程中所用到的jar包如下图所示:我是直接先引进去的。

来做一个示例讲解三者的整合:一个登录的结构1.新建数据库stuInfo其中数据库中有一个表userInfo,字段如下图所示:Id是唯一标识符,自动增长,userName和passWord是用户名和密码2.开始准备整合工作新建一个webProject项目导入所需要的jar包,前面截图已经给出来了。

3.添加stucts2的支持选择stucts2的目录放在src下,然后打开并增加下列代码进去<package name="stucts2"extends="stucts-default"></package>对于web.xml的修改我们放在最后三个框架全部整合好后进行修改4.添加数据连接如图所示:这里我用的是jtds下面我们在src下建立一个包,命名为com.hubu.entity,存放实体类添加hibernate的支持其中我们在最后一步是否选择create sessionFactory的时候取消点击完成即可然后我们将下列代码加进去<property n ame="hibernate.show_sql">true</property><property name="format_sql">true</property>这样我们执行程序的时候会再控制台显示相应的hql查询如下所示:5.添加spring的支持点击完成即可这样就添加了Spring的支持从上述代码中可以看到,Spring封装了Hibernate的操作,用Spring的方式接管了Hibernate 的Session创建及销毁,创建SessionFactory的周边信息。

SSH整合流程

SSH整合流程

第一步:创建web工程注意:对勾要选上,创建web.xml第二步:创建项目资源包创建完的web 工程第三步:创建datasour ce打开DBBrowse r视图新建datasour ce连接选择数据库:选中下面第三项,点add按钮,选择需要的数据库。

然后finish。

第四步:添加Spring框架。

web工程上点右键,myeclips e->project facets[c apabilit ies]->install spring facetfinish然后删除spring配置文件applicat ionConte xt.xml 重新创建spring配置文件applicat ionConte xt.xmlsrc上点右键new->Other…找到myeclips e->spring->spring bean definiti on然后点nextaop,选择版本beans,选择版本选中p,然后finish第五步:添加hibernat e框架选择3.1的版本,很重要,一定要注意!!!!第六步:hibernat e反向工程生成实体类,mapping ,dao层。

打开DBBrowse r视图,然后找到数据库里的表。

选中所有表,右键hibernat e reverse engineer ing点击brower按钮,选中要生成到的包。

finish然后把所有的dao 层的类,拖到dao 的包里。

第七步:添加struts框架选struts2的jar包要注意:先选中下面红框的对勾,再把核心包的第一个antlr-2.7.2.ja r的对勾去掉finish第八步:整合struts2到spring 。

修改struts.x ml,加入常量定义:<constan tname="st ruts.obj ectFacto ry" value="s pring">< /constan t>OK,恭喜,SSH 框架整合完毕!!!追加配置:applicationContext.xml<beanid="dataSource"class="org.apachmons.dbcp.BasicData<propertyname="driverClassName"value="com.mysql.jdbc.Driver"></property><propertyname="url"value="jdbc:mysql://localhost:3306/houserent"></property><propertyname="username"value="root"></property><propertyname="password"value="root"></property> </bean>。

ssh2最少包最简单配置整合

ssh2最少包最简单配置整合

ssh2最少包最简单配置整合1 开发环境ØMyEclipse5.5ØJDK 1.6ØJava EE 5.0ØTomcat6.0ØStruts2.1.6ØSpring2.5.6ØHibernate3.3.12 为ssh做好准备2.1下载包ØStruts2.1.6包下载:/download.cgi#struts216Full Distribution:struts-2.1.6-all.zip (110mb) [PGP] [MD5]ØHibernate3.3包下载:https:///6.htmlØSpring2.5下载:/download2.2搭建开发环境打开MyEclipse,新建一个web project,注意:J2ee版本设为java ee 5.0点击Finish完成.如果你的myeclipse还没有配置一个web服务器,那就进行下面的步骤,这里以tomcat6为例:打开MyEclipseàPreferences窗口,展开目录树,设置好你的tomcat6的路径即可,前提你要先安装好tomcat哦。

还有需要注意的一点是,看到目录树tomcat6.x下面的JDK了吗?点击它,也要把tomcat的JDK设为jdk1.6才行,以与myeclipse一致。

好了,工程已经建好了,下面就开始配置struts吧。

配置之前先把struts的包下载下来哦,下载地址上面已经给出了。

3 配置Struts2.0.1 基础配置1)引入Struts必需的五个jar包。

下载struts-2.1.6-all.zip解压后,struts-2.1.6\lib目录下是struts所有的相关jar包。

这么多jar包并不是struts必须得,使用struts只需要把下面6个引入即可,以后用到什么jar包,再引入。

²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²commons-fileupload-1.2.1.jar2)修改WEB-INF下的web.xml文件,增加struts2的配置。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本次教程是SSH2的环境搭建,主要用到的技术是struts2.0+hibernate3.2+spring2.0,这种架构在现在很流行的,也是很多高校学生做毕业设计的架构,今天我们就用这种架构做一个简单的实例,详细的步骤,在于抛砖引玉,给大家一点启发。

一、创建数据库
的时候会创建出联合主键<Composite-id>。

二、项目创建
1、打开MyEclipse,点击File,指向New,点击Web Project。

2、输入工程名SSH,J2EE Specification Level为Java EE 5.0,点Finish即可创建完项目。

三、添加hibernate环境
1、右击刚建立的SSH项目,指向MyEclipse,点击Add Hibernate Capabilities。

2、出现如下对话框之后,选择要用到的Hibernate3.2,以及所用到的包,选择Copy checked Library Jars to project folder and add to build-path,点击Next。

3、到了这一步,按默认设置,点击Next。

4、取消Specify database connection details的选择,再点击Next。

5、取消Create SessionFactory class选择,最后点击Finish。

这样一些有关hibernate的jar包点导进来了,以及建了一个hibernate.cfg.xml文件。

导入前:
导入后:
四、添加spring环境
1、和添加hibernate环境的方法大致相同,右击SSH项目,指向MyEclipse,点击Add spring Capabilities。

2、选择要用到的Spring 2.0,勾选用到的库,注意还要勾选Spring 2.0 Web Libraries的库,一共是勾选了5个库的。

再选择Copy checked Library contents to project folder(TLDs always copied),点击Next。

3、看到这个对话框后,取消选择Enable AOP Builder,因为我们这个项目没有用到面向切面的技术,再点Browse,如图选择放置applicationContext.xml的文件夹,最后就点Next,下一步。

4、这一步,保持默认即可,点Finsh。

与添加hibernate环境相同的是,添加完毕之后,会导入Spring相关的jar包,并且创建了applicationContext.xml文件和相关的tld文件,如图。

五、hibernate逆向工程
1、添加MyEclipse Database Explorer的工具视图,方法是在MyEclipse的右上角点有+号的图案,点Other。

2、出现如下对话框后,选择MyEclipse Database Explorer,点击OK。

3、这样整个MyEclipse就跳到MyEclipse Database Explorer的工具视图,这个工具视图就相当于我们平时用的数据库连接工具一样(如DbVisualizer那样),接着我们就要创建个数据库连接,在DB Browser窗口的空白处右击,点New添加一个数据库连接。

4、在弹出的对话框中,输入相关的数据库连接信息,并点击Add JARs,将DB2用到的驱动类导进来,最后点击Finish。

5、选中刚刚建立的db2连接,再点右上角的连接符号,这样数据库就连接上了。

6、展开这个数据库连接,找到我们要用的USERS表。

7、右击USERS表,点击Hibernate Reverse Engineering,这样就开始hibernate的逆向工程。

8、这个对话框主要设置的我们要创建的pojo类在哪个目录,是否建立映射文件,如图设置,点击Next到下一步。

9、这一步,是设置主键的方式,设置Id Generator为native,点击Next。

10、这一步,保持默认即可,最后点Finish。

11、当看到这个提示之后,点Yes,整个逆向工程点结束了。

12、点MyEclipse的右上角的箭头,返回一开始的MyEclipse Java Enterprise的工具视图,这时就可以看到pojo类和映射文件就乖乖地建立好了。

六、添加struts2环境
由于本教程用的是MyEclipse6.5开发环境,没有集成struts2的环境,所以这一步我们直接手工建立struts2的环境,如果读者使用的是更高版本的MyEclipse可尝试用导向建立struts2环境,方法与建立hibernate和spring的大致相同。

1、导入struts2用到的包,直接将这5个包复制到WebRoot/WEB-INF/lib下
2、配置web.xml文件
需要添加的配置有:(1)struts2的常规配置;(2)在web应用启动是自动形成一个spring 容量。

七、编写DAO层代码
DAO层的作用主要是用来对表做基本的增删改查。

1、添加DAO接口,右击src目录,指向New,点击Interface。

输入包名和接口名,点Finish。

输入实现类的类名,并且引入HibernateDaoSupport父类和刚才建立的UserDAO接口,点Finish。

八、编写Service层代码
Service层就是一些业务逻辑,可以认为是对DAO层的加工,本实例的业务逻辑相对简单,只要直接调用DAO层的方法即可,但如果在以后项目中用到更复杂的逻辑,Service层就会显得很重要了。

九、编写action层代码
action就是对前台页面转来的数据进行处理,按处理的情况进行页面转发,这个层主要是用struts来实现的。

1、添加一个SaveUserAction类,引入ActionSupport父类,点Finish。

2、编写SaveUserAction类的代码。

同样地,用到的User和UserService变量需要为其创建get和set方法。

3、添加struts.xml文件,将xml的名称设为struts,点Finish。

4、编写struts.xml 代码,将<action>指向刚才建立的SaveUserAction,当返回“SUCCESS”
十、编写jsp页面
1、添加一个jsp页面,右击WebRoot目录,指向New,点击JSP。

输入JSP页面名称为save.jsp。

2、编写save.jsp代码。

导入struts的标签<%@ taglib prefix="s" uri="/struts-tags" %>,再在
如果在保存的时候出现如下的警告,即将save.jsp第一行的<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>改为<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
十一、修改application.xml
由于我们用到spring里的控制反转特性,因此我们要将之前写的类在这里进行一下配置。

1、添加dataSource,在application.xml的空白地方右击,指向spring,点击New DataSource。

2、在弹出的对话框里,将Bean Id设为dataSource,DB Driver选为db2,其它项目即可以自己生成,再点击Finish。

十二、删除asm-2.2.3.jar
因为我们用的是MyEclipse导向来建立环境的,spring中的asm-2.2.3.jar和hibernate中的asm.jar相互冲突引起的,所以我们删除asm-2.2.3.jar。

十三、部署运行
整个项目的目录架构如下图:
1、部署到MyEclipse的tomcat上,点击按钮。

2、选择我们做的SSH项目,点击Finish。

3、启动Tomcat服务器。

4、在浏览器下输入地址http://localhost:8080/SSH/save.jsp,运行save.jsp页面。

输入一
些信息,点Submit按钮。

之后页面就会跳转到index.jsp页面上。

来到这里,我们的项目就完成了,做IT的很苦,希望这简单的教程能为各位读者带来一点点的帮助,这就是我最大的乐趣!由于本教程编写仓促,有错漏之处,请各位读者指出。

相关文档
最新文档