[转载]Struts2.1.6+Spring2.5.6+Hibernate3.3.
开发环境
JDK
1.6.0_18
Eclipse3.2.1
MyEclipse5.1.0
Tomcat6.0.10
MySQL5.0.27
Navicat 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也必不可少。

大象在这里偷个懒,直接将spring的完整jar包加了进来,如果各位想精简类库的话,就选取它的分类jar包吧。比如本例使用struts2作为MVC框架,所以spring的webmvc就不可能用到了。有想改的朋友请自己动手改下。另外有点我想说下,如果采取完整spring的jar包,还需要Spring2.5.6libconcurrent文件夹中的backport-util-concurrent.jar,如果不加这个,spring会报错。但是采取spring分类jar包的形式,这个可以不用加,至于具体使用什么需要依赖这个包,大象还没去测试过,这个有待验证。还有libslf4j下的日志包,目前很多都开始采用基于slf4j接口的日志器,它的好处就是日志器是根据slf4j的接口来进行实现,可以在不改变代码的情况下更换日志器。最后Spring的源代码中使用的是commons-logging记录日志,因此这个包不能少,不过因为struts2也用到了,所以这里就省了。

Hibernate从3.3版开始,对jar包结构做了一次大的调整,我们只需要加入librequired文件夹下面的6个jar包。请注意这6个jar包都是使用Hibernate所必须的。另外再加上hibernate核心包。这里我将slf4j-api-1.5.2.jar换成了1.5.0,这是因为slf4j是一个通用日志接口,不提供任何实现,我在demo里面使用的是log4j,而hibernate包里面没有log4j的slf4j实现。而且如果版本不一致,会有异常,因此我就采用Spring2.5.6libslf4j里面提供的配套版本。另外我将commons-collections-3.1.jar换成了Struts2.1.6里面的3.2版。

例子中使用Hibernate JPA来完成实体对象映射,所以上面这些包都必不可少。使用注解的方式,可以不用写繁琐的配置文件,降低了出错机率。而且现在很多人都喜欢这种方式。大家可以去sourceforge下载。
下载地址:http://sourceforge.net/projects/hibernate/files/

本例使用DBCP连接池来管理数据源。

MySQL数据库的连接驱动。

这个包的作用是创建动态代理对象。比如在使用AOP方式管理spring事务时,如果我们的目标对象没有实现接口,而又要使用AOP来处理事务,这时就需要用到这个jar包。可以在Spring2.5.6libcglib里面找到。

JSTL标签库,很经典的东东,如果需要可以将它们加入lib中。
大象在这里建议大家做开发的时候,不要过多的依赖MyEclipse提供的那些功能,多用手动的方式来做。那样方便是方便了,但不利于学习。比如加入上面这些开发所用的类库,这样可以更清楚的了解每个jar包的作用,增加知识的积累,方便以后调试。Ok,关于这部分的内容到这里就说完了,那么,我们下次继续。
本文为菠萝大象原创,如要转载请注明出处。
[转载]Struts2.1.6+Spring2.5.6+Hibernate3.3.的更多相关文章
- Eclipse建筑物SSH(struts-2.2.3 + spring-2.5.6 + hibernate-3.6.8)相框-随着源代码
一直想自己搭建一个ssh框架,这次因为编写demo的须要,就亲手搭建了一下,并逐步測试!以下进入正题: 创建Struts项目 整合步骤: 1,在Eclipse中创建一个DynamicWeb Proje ...
- struts2.1.8 spring2.5.6 hibernate3.3G 依赖jar包
----struts2.1.8---- struts2-core-2.1.8.1.jar struts2核心包 struts2-json-plugin-"} struts2-spring-p ...
- spring2.5与hibernate3升级后的bug
手头有一个项目,使用的是struts2 hibernate3 spring2.5 是之前的老项目了,spring与hibernate的版本都比较低 自己看了最新的spring4与hibernate4, ...
- spring2.5整合hibernate3.0整合Struts
首先:这是spring framework+hibernate+struts集成,spring主要用于aop和ioc,hibernate主要是用于持久层,struts主要是用于mvc. 同时关于spr ...
- spring2.5整合hibernate3.0
第一步:配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http ...
- 转载——Struts2中的constant详解
http://bhw1015.iteye.com/blog/1258441 通过对这些属性的配置,可以改变Struts 2 框架的一些默认行为,这些配置可以在struts.xml文件中完成,也可以在s ...
- 整合spring2 + struts1.2 + hibernate3.2 .
1 可恶的myeclipse 为了开发方便,我选择了myeclipse,因为它集成了很多框架,而不致于自己去倒入很多lib.但就是因为这一点,成了我这次组合的致命伤.SSH因为其是开源框架,自 ...
- 转载:Struts2支持断点续传下载实现
转自:http://blog.sina.com.cn/s/blog_667ac0360102eckm.html package com.ipan.core.controller.web.result; ...
- 转载 - Struts2 拦截器详细配置过程
出处:http://www.blogjava.net/zzzlyr/archive/2009/10/12/297998.html Struts2 拦截器详细配置过程 1:所有拦截器的超级接口Inter ...
随机推荐
- haml入门
1.什么是Haml Haml是HTML abstraction markup language,遵循的原则是标记应该是美的.Haml能够加速和简化模版,长处是简洁.可读.高效. 2.erbm模板和ha ...
- poj1742
Coins Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 33998 Accepted: 11554 Descripti ...
- UI auto程序结构组织方式
UI Auto分三个layer: 1. Object finding – 单独一个类,寻找到控件.因为UI auto最容易改动的就是UI界面,这样全部放到一起就便于统一修改. 2. Task - 对控 ...
- JS HTML DOM 事件对象(onclick、onmouseenter)
HTML DOM 事件允许Javascript在HTML文档元素中注册不同事件处理程序. 事件通常与函数结合使用,函数不会在事件发生前被执行! (如用户点击按钮). HTML DOM 事件 DOM: ...
- asp.net mvc4连接mysql
环境:vs2013+mysql5.6+mysql connector for .net 6.8.3+MySQL for Visual Studio 1.1.3 参考:http://dev.mysql. ...
- <2013 12 28> AOI PCB设计
主要设计指标: “3.多块拼板最大尺寸:60*50(CM)4. 检测速度:(230-250)片/小时 5.检测通过率:98%6.最窄线宽:设两种精度 A.最窄线宽:0.2mm, 识别精度 0.1mm ...
- ssm框架整合-过程总结(第三次周总结)
本周主要是完成前端界面和后端的整合. 犹豫前后端的工作完成程度不一致,只实现了部分整合. 登录界面. 可能自己最近没有把重心放在短学期的项目上,导致我们工作的总体进度都要比别慢. 虽然我们只是三个人的 ...
- SPDY
转载SPDY 是什么 SPDY 是 Google 开发的基于传输控制协议 (TCP) 的应用层协议 ,开发组正在推动 SPDY 成为正式标准(现为互联网草案).SPDY 协议旨在通过压缩.多路复用和优 ...
- c# HttpClient获取网页源码
#region 获取网页源码 public static string HttpClientGetHtmls(string url) { try { var client = new HttpClie ...
- 笔画宽度变化(C++和matlab算法)
最近一直在看工作方面的书籍,把论文的事情搁置了,之前承诺的贴代码的事一直拖.现在把代码整理发上来,只有核心部分的,都不是我写的,我是网上整理下载的,matlab代码的效果比较差. 全部文件网盘下载地址 ...