我们在搭建SSH框架的时候,需要引入各自的一些jar包

首先,先来看一下我们使用的SSH的各自版本及引入的jar包。

  struts2.3.1.2:

struts2-core-2.3.1.jar

javassist-3.11.0.GA.jar

commons-io-2.0.1.jar

commons-lang-2.5.jar

commons-fileupload-1.2.2.jar

xwork-core-2.3.1.2.jar

freemarker-2.3.18.jar

ognl-3.0.4.jar

struts2-spring-plugin-2.3.1.2.jar

 Spring2.5.6

spring.jar

commons-logging-1.1.1.jar

common-annotations.jar

aspectjrt.jar

aspectjweaver.jar

cglib-nodep-2.1_3.jar

如果用BasicDataSource来配置数据库连接,还要加入2个包:

commons-pool.jar

commons-dbcp.jar

  Hibernate3.6.8

hibernate3.jar

hibernate-jpa-2.0-api-1.0.1.jar

antlr-2.7.6.jar

commons-collection-3.1.jar

dom4j-1.6.1.jar

javassist-3.12.0.GA.jar

jta-1.1.jar

slf4j-api-1.6.1.jar

slf4j-nop-1.6.4.jar

展示完这一堆我们陌生又熟悉的jar包后,现在就开始逐个讲解:

1)Struts中的jar包 

jar包名称

作用

struts2-core-2.x.x.jar

struts2的核心jar包

javassist-3.x.x.GA.jar

一个开源的分析、编辑和创建Java字节码的类库(hibernate中也需要,引入其中一个即可)

commons-io-2.x.x.jar

commons项目(commons项目就是java中一些常用的公共的组件)的io子项目,是处理异常的

commons-lang-2.x.jar

commons项目中的lang包

commons-fileupload-1.x.x.jar

commons项目中的关于文件上传的包, struts2.1.6版本后必须加入此文件

xwork-core-2.x.x.jar

xwork的核心jar包,由于struts2是webwork的升级版本,所以必定对其有所依赖(struts2在其基础上构建)

freemarker-2.x.x.jar

支持freemarker(struts2的UI标签的模板使用FreeMarker编写)的,在webwork中也有

ognl-3.x.x.jar

支持ognl语言(对象图导航语言(Object Graph Navigation  Language))的,struts2框架通过其读写对象的属性,webwork也支持ognl语言

struts2-spring-plugin-2.x.x.jar

struts2与spring集成时使用的,引入该jar包后需要在struts.xml中指定struts的ObjectFactory(可以是struts也可以是spring),不然程序会报错

其中每一个jar包的版本不是根据struts来定的,而是根据各自的出处的版本更新的,所以你可以看到一个struts版本中的各个jar包的版本各不相同。(下面讲解的spring和hibernate也一样)

2)Spring中的jar包

jar包名称

作用

spring.jar

spring的核心jar包

commons-logging-1.x.x.jar

ASF出品的日志包,struts2 2、spring、hibernate框架使用这个日志包来支持Log4J和JDK 1.4+的日志记录

common-annotations.jar

支持注解的包

aspectjrt.jar

aspectjweaver.jar

支持AOP的包

cglib-nodep-2.x_x.jar

支持cglib动态代理的包

commons-pool.jar

commons-dbcp.jar

支持BasicDataSource来配置数据库连接(如果不用BasicDataSource配置数据库则不需要引入)

3)Hibernate中的jar包

jar包名称

作用

hibernate3.jar

hibernate的核心jar包

hibernate-jpa-2.x-api-x.x.x.jar

对JPA(Java持久化API)规范的支持

antlr-2.x.x.jar

语言转换工具,hibernate利用它实现HQL到SQL的转换

commons-collection-3.x.jar

commons项目中的子项目,是对collection集合的封装

dom4j-1.x.x.jar

对dom4j的封装,是解析xml文件的

javassist-3.x.x.GA.jar

一个开源的分析、编辑和创建Java字节码的类库

jta-x.x.jar

hibernate对事务的处理

slf4j-api-x.x.x.jar

一个日志系统的服务的api,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统

slf4j-nop-x.x.x.jar

对slf4j-api-x.x.x.jar的一个实现,这个jar包要去slf4j官网下载slf4j-1.6.4集成包

SSH中的jar包讲解的更多相关文章

  1. SSH中的jar包讲解(1)

    我们在搭建SSH框架的时候,需要引入各自的一些jar包,相信很多初学者跟我一样,搜个资料,照搬过来(当然版本还得对应),至于为什么要引入这些个jar包,引入它们的作用是啥子,一头雾水,今天我就来跟这些 ...

  2. SSH框架应用中常用Jar包用途介绍

    struts2需要的几个jar包:1)xwork-core-2.1.62)struts2-core-2.1.83)ognl-2.7.34)freemarker-2.3.155)commons-io-1 ...

  3. Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图(转载)

    Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图 2017年04月05日 10:53:13 李学凯 阅读数:104997更多 所属专栏: Intellij Idea   ...

  4. 如何在maven中添加jar包

    Maven 中央仓库地址: 1. http://www.sonatype.org/nexus/ 2. http://mvnrepository.com/ (本人推荐仓库) 3. http://repo ...

  5. 解决eclipse中maven web工程打包成war(发布到tomcar)时lib中没有jar包的解决方法

    可能有两个原因:1.maven中某些jar包下载不下来 从其他地方下载jar文件放到相应maven本地库的.m2里2..classpath文件中缺少(下面代码的作用是制定maven的jar发布路径)& ...

  6. [解决]UserLibrary中的jar包不会自动发布Tomcat的lib目录下(基于MyEclipse2014)

    1.在工程名称上单击[右键] —— 单击[Properties]选项,点击后会弹出属性窗口: 2.选择[Properties]后在左侧树中找到[MyEclipse] —— [Deployment As ...

  7. 从Maven仓库中导出jar包

    从Maven仓库中导出jar包:进入工程pom.xml 所在的目录下,输入以下命令:mvn dependency:copy-dependencies -DoutputDirectory=lib更简单的 ...

  8. 如何制作Jar包并在android中调用jar包

    android制作jar包: 新建android工程,然后右击,点击导出,选择导出类型为Java下的JAR file,在java file specification 中不要选择androidmani ...

  9. 在java工程中导入jar包的注意事项

    在java工程中导入jar包后一定要bulid path,不然jar包不可以用.而在java web工程中导入jar包后可以不builld path,但最好builld path.

随机推荐

  1. 三星Gear VR与Oculus Rift DK2全方位比拼

    网易数码1月6日消息,Oculus Rift DK2并不是面向消费者的产品,而三星Gear VR则进入了大众市场.虽然二者有点不同,但还是值得对比一番,看看Gear VR相比当下虚拟现实领域佼佼者Oc ...

  2. [Xcode 实际操作]一、博主领进门-(5)检测运行中的模拟器在各个方向上的切换

    目录:[Swift]Xcode实际操作 本文将演示Xcode的设备模拟器在各个方向上的切换和检测. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 检测运行中的模拟 ...

  3. pgsql_sql查询效率优化

    在pgsql中执行一个 5表 关联查询,效率比较差,问题定位 环境说明5张外表,其中with 中的临时表总记录数比较大,共有 2 亿条记录,通过时间序模型提高查询速度另外4张表 左表的记录非常小,最大 ...

  4. bzoj3196:Tyvj1730二逼平衡树

    传送门 暴力啊,直接树套树上啊 线段树套splay,卡卡常就直接A了 代码: #include<cstdio> #include<iostream> #include<a ...

  5. EM算法(徐亦达)笔记

  6. POJ-1258-Agri Ned

    链接:https://vjudge.net/problem/POJ-1258#author=fuxianda 题意: 有n个农场,已知这n个农场都互相相通,有一定的距离,现在每个农场需要装光纤,问怎么 ...

  7. centOS6.5 usr/src/kernels下为空

    用uname -r查看内核版本为 2.6.32-431.el6.x86_64 usr/src/kernels下为空 需要执行两个安装 yum install kernel-headers yum in ...

  8. 为什么static方法中不可以调用非static方法

    Java是面向对象的语言,所有的变量,方法都是针对对象而言的.一般来说,要调用一个方法,你需要new 这个方法的对象. 什么时候用static? 如果你想要: 对于一个类的所有对象共享一个变量或者是方 ...

  9. yii2 操作数据库

    1.查询 User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子): User::find()- ...

  10. nodejs 不是单线程

    nodejs 不是单线程 在我机器上,nodejs 起了近 20 个线程. 对,你没有看错,20个线程.