我们在搭建SSH框架的时候,需要引入各自的一些jar包,相信很多初学者跟我一样,搜个资料,照搬过来(当然版本还得对应),至于为什么要引入这些个jar包,引入它们的作用是啥子,一头雾水,今天我就来跟这些SSH的初学者一起来探究一下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包,在这里我就不一一介绍了。
但是我们需要知道,对于jar包我们先从名字入手,知道了名字基本上就知道了它的功能,如果一看名字就懵的话就需要查一下了,对于常用的jar包我们需要知道他们的常用用法(比如jar包中都有些什么功能,用的时候知道从这里找就可以了),而对于不熟悉的jar包我们需要知道他们的大概功能即可(就像上面讲解的,这个jar包是做什么用的)。