我们在搭建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包是做什么用的)。

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

  1. SSH中的jar包讲解

    我们在搭建SSH框架的时候,需要引入各自的一些jar包 首先,先来看一下我们使用的SSH的各自版本及引入的jar包.   struts2.3.1.2: struts2-core-2.3.1.jar j ...

  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. salesforce 零基础学习(三十六)通过Process Builder以及Apex代码实现锁定记录( Lock Record)

    上一篇内容是通过Process Builder和Approval Processes实现锁定记录的功能,有的时候,往往锁定一条记录需要很多的限制条件,如果通过Approval Processes的条件 ...

  2. hibernate(九) 二级缓存和事务级别详讲

    序言 这算是hibernate的最后一篇文章了,下一系列会讲解Struts2的东西,然后说完Struts2,在到Spring,然后在写一个SSH如何整合的案例.之后就会在去讲SSM,在之后我自己的个人 ...

  3. Reporting Service 没有权限登陆

    在配置好Reporting Service之后,登陆Report Mananger( http://localhost/Reports/Pages/Folder.aspx)出现一个异常,本地用户没有权 ...

  4. javascript类型系统——Math对象

    × 目录 [1]常量 [2]函数 前面的话 javascript使用算术运算符实现基本的算术运算,如果要实现更加复杂的算术运算,需要通过Math对象定义的常量和函数来实现.和其他对象不同,Math只是 ...

  5. vc++用ADO方式连接oracle问题

    今天装了个oracle客户端,准备写个访问远程oracle的程序.用的是vs2010,采用ADO的连接方法连接oracle,结果运行的时候总是报下面的错: 从提示可以看出是没有找到OraOLEDBup ...

  6. Java多线程系列--“基础篇”04之 synchronized关键字

    概要 本章,会对synchronized关键字进行介绍.涉及到的内容包括:1. synchronized原理2. synchronized基本规则3. synchronized方法 和 synchro ...

  7. 这10道javascript笔试题你都会么

    1.考察this var length = 10; function fn() { console.log(this.length); } var obj = {   length: 5, metho ...

  8. 【原创】Django-ORM基础

    概述 1.什么是ORM? ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不 ...

  9. 实现iOS图片等资源文件的热更新化(四): 一个最小化的补丁更新逻辑

    简介 以前写过一个补丁更新的文章,此处会做一个更精简的最小化实现,以便于集成.为了使逻辑具有通用性,将剥离对AFNetworking和ReativeCocoa的依赖.原来的文章,可以先看这里: htt ...

  10. 用js解析经json序列化后的C#的DateTime类型数据

    格式化日期(网上到处是),把下面的代码添加到jQuery.js文件中 //格式化日期 Date.prototype.format = function(format) { /* * eg:format ...