SSH整合详细免费下载.docx
- 文档编号:9278951
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:32
- 大小:805.13KB
SSH整合详细免费下载.docx
《SSH整合详细免费下载.docx》由会员分享,可在线阅读,更多相关《SSH整合详细免费下载.docx(32页珍藏版)》请在冰豆网上搜索。
SSH整合详细免费下载
开源项目
终于,终于将SSH整合成功了,弄了几个小时,可以休息了(有的朋友弄了半个月,甚至重装了系统也没弄好,哎,庆幸啊)。
碰到问题千万不要放弃,要相信没有解决不了的问题!
项目结构图:
jsp部分为:
index.jsp;success.jsp;fail.jsp
UserDAO.java,User.hbm.xml自动生成,HibernateSessionFactory是多余的。
相关的配置文件、类文件详细信息,请参看Struts+Spring+Hibernate/SSH整合开发详细二
以前是整过这三个框架的,可是工作期间都不曾用过,不知不觉之中,学的东西全忘了。
这次又要开始找工作了,看着招聘启事上都写着:
要求熟练掌握Struts,Hibernate或Spring框架……,没得办法,重新学呗。
SpringinAction中文版下载地址(ftp协议) ftp:
//222.214.218.61/book5/20080228/cf8b35cc-5bcd-4973-b6b7-37ae3ec78391.rar如果无法下载,可以在里重新搜索
首先开始搭建项目环境,步骤如下:
使用平台:
MyEclipse6.0
框架版本:
Struts1.2Hibernate3.0Spring2.0
1> 添加过程:
<1>新建项目。
PackageExplorer视图下,右键单击New->WebProject;
<2>添加Struts框架。
菜单栏MyEclipse->Capabilities,或者右键单击新建的项目名,选择快捷菜单中的"MyEclipse"下的二级菜单;设置相关的包名后,请写一个Struts的小例子,用来测试Struts是否可用;
<3>添加Spring。
步骤同2所述,只不过这次是加入SpringCapabilities。
详细添加步骤如下图所示;
<4>配置数据源。
打开数据库视图,Windows->OpenPerspective->MyEclipseDataBaseExplorer。
新建数据源,在DBBrowser下,右键单击New,配置信息类似下图,
点击Next,选择"Displayallschemas","Finish"完工。
<5>点击MyEclipse右上角>>按钮,返回到MyEclipseJavaEnterprise视图。
按类似于2的步骤,添加Hibernate框架,详细步骤如图所示
请选择Hibernate3.0的版本
<6>通过MyEclipse生成操作数据库的Dao类(UserDao),并自动生成映射表的配置文件(在本示例中包含在applicationContext.xml中),将视图切换到MyEclipseDatabaseExplorer,打开我们在前面配置的数据链接,选择我们操作的表User,右键单击,选择:
HibernateReverseEngineering。
详细步骤如下图所示:
<7>至此,项目环境己经搭建完成。
需要指出的是,为了使用日志管理的功能,你只须拷贝log4j.properties即可,将其放入到src根目录下。
log4j.properties配置内容如下(对具体配置不太了解的朋友可以在这之后学一下,此处,你只须修改日志文件存储路径即可):
log4j.rootLogger=info,A1
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.Append=true
#log文件存储路径,请转换为相应的目录
log4j.appender.A1.File=E:
/workspace/ssh2/logs/log4j.log
log4j.appender.A1.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%-5p]%d{yyyy-MM-ddHH:
mm:
ss}Method:
%l%n%m%n。
#无详细类名、方法名信息
#log4j.appender.A1.layout.ConversionPattern=[%-5p]%d{yyyy-MM-ddHH:
mm:
ss}%m%n
#-X号:
X信息输出时左对齐;
#%p:
日志信息级别
#%d{}:
日志信息产生时间
#%c:
日志信息所在地(类名)
#%m:
产生的日志具体信息
#%n:
输出日志信息换行
Spring,Hibernate已经整合在一起了,现在需要将Struts与Spring进行整合。
Spring与Struts整合实现方式
第一,在struts-config.xml中加入
--配置一个插件去集成spring-->
className="org.springframework.web.struts.ContextLoaderPlugIn">
第二,修改struts-config.xml中action节点的配置信息,将原来定义的
type="com.wuwei.struts.action.ValidateUserAction"name="userForm"> 中的type改为: type="org.springframework.web.struts.DelegatingActionProxy">或者你也可以不改,而在 --加上controller就不用再配置action的type属性了/或者说type属性不用改为 type="org.springframework.web.struts.DelegatingActionProxy"--> processorClass="org.springframework.web.struts.DelegatingRequestProcessor"> 第三,在applicationContext.xml中为ValidateUserAction添加定义,将userDao的实例化加给Spring,这也是Spring中的依赖注入 --Struts--> class="com.wuwei.struts.action.ValidateUserAction"> 当然,这里ref(引用)的BeanuserDao也是在applicationContext.xml中己定义好的 --通过HibernateDaoSupport来操作数据库,需要植入sessionFactory UserDao继承自HibernateDaoSupport --> 相关的配置文件、类文件详细信息,请参看Struts+Spring+Hibernate/SSH整合开发详细二 如此这般,现在可以运行你的程序了。 为了测试三个框架是否整合成功,你可以在action里什么都不做,只是写一条输入语句即可。 因为搭建SSH项目时,最容易碰到的错误就是: Servletactionisnotavailable。 如果连action都访问不了,后面的就不需要谈了(文章Bactionisnotavailable? 这个时候log4j.log就起到关键作用了,你可以看下里面出现了什么异常。 我在调试时碰到了: 1.java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor 和 2.net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null Causedby: java.lang.reflect.InvocationTargetException Causedby: java.lang.SecurityException: class"com.wuwei.struts.bean.User$$EnhancerByCGLIB$$1016ffbf"'ssignerinformationdoesnotmatchsignerinformationofotherclassesinthesamepackage 的错误。 1的解决办法是: 在使用Spring的AOP编程时,会用到这几个lib: (版本不一样,文件名也不一样) asm-2.2.3.jar asm-commons-2.2.3.jar asm-util-2.2.3.jar Hibernate使用如下lib: asm.jar asm-attrs.jar 其中asm-2.2.3.jar与asm.jar存在类上的冲突! ! ! 使用其中之一或两者都使用,可能会出现如下错误: java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit。 。 。 。 。 。 解决办法是: 1.去掉类路径上的关于Hibernate的3个lib asm.jar asm-attrs.jar cglib-2.1.3.jar 2.加入Spring中的以下4个lib asm-2.2.3.jar asm-commons-2.2.3.jar asm-util-2.2.3.jar cglib-nodep-2.1_3.jar 2的解决办法是: 在….hbm.xml文件中,将class标签的lazy属性改为false(默认为true) 如果有schema="dbo"catalog="test"配置信息,请将其删除 再次运行,打印语句成功"I'minaAction"搭建成功! 补充: 我用的是SQLServer数据库,测试表是User表,调试时出现了 java.sql.SQLException: 在关键字'user'附近有语法错误。 这是因为MSSQL中的User表是系统表,不能直接查询selectusernamefromuser,需要将user用中括号包围[user],同样,为了保证hibernate能正常工作,需将user.hbm.xml中class元素的table改为 table="[user]" SSH相关配置文件以及UserDao(系MyEclipse自动生成)整合示例请您阅读Struts+Spring+Hibernate/SSH整合开发详细一 /****************************************************struts-config.xml****************************************************/ xmlversion="1.0"encoding="UTF-8"? > DOCTYPEstruts-configPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration1.2//EN""http: //struts.apache.org/dtds/struts-config_1_2.dtd"> --Struts配置文件中的元素配置时是有一定顺序的--> type="com.wuwei.struts.form.UserForm"> type="com.wuwei.struts.action.ValidateUserAction"name="userForm"> --加上controller就不用再配置action的type属性了/或者说type属性不用改为 type="org.springframework.web.struts.DelegatingActionProxy"--> processorClass="org.springframework.web.struts.DelegatingRequestProcessor"> parameter="com.wuwei.struts.ApplicationResources"/> className="org.springframework.web.struts.ContextLoaderPlugIn"> value="/WEB-INF/classes/applicationContext.xml"/> --如下配置的话,就可以不在Action中配置type属性了--> -- value="org.springframework.web.struts.DelegatingRequestProcessor"/> --> --配置一个插件去集成spring--> -- className="org.springframework.web.struts.ContextLoaderPlugIn"> value="/WEB-INF/applicationContext.xml"/> /*********************************************….hbm.xml************************************************/ xmlversion="1.0"encoding="utf-8"? > DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN" " -- MappingfileautogeneratedbyMyEclipsePersistenceTools --> -- /*******************************************************applicationConfig.xml**********************************************************/ xmlversion="1.0"encoding="UTF-8"? > //www.springframework.org/schema/beans" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation="http: //www.springframework.org/schema/beanshttp: //www.springframework.org/schema/beans/spring-beans-2.0.xsd"> --数据源部分--> class="mons.dbcp.BasicDataSource"> value="net.sourceforge.jtds.jdbc.Driver"> value="jdbc: jtds: sqlserver: //localhost: 1433/test"> --将Hibernate交由Spring管理(Hibernate相关配置信息),创建SessionFactory--> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> org.hibernate.dialect.SQLServerDialect
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SSH 整合 详细 免费 下载
![提示](https://static.bdocx.com/images/bang_tan.gif)