SSH中的jar包讲解(1)
我们在搭建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)的更多相关文章
- SSH中的jar包讲解
我们在搭建SSH框架的时候,需要引入各自的一些jar包 首先,先来看一下我们使用的SSH的各自版本及引入的jar包. struts2.3.1.2: struts2-core-2.3.1.jar j ...
- 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 ...
- Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图(转载)
Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图 2017年04月05日 10:53:13 李学凯 阅读数:104997更多 所属专栏: Intellij Idea ...
- 如何在maven中添加jar包
Maven 中央仓库地址: 1. http://www.sonatype.org/nexus/ 2. http://mvnrepository.com/ (本人推荐仓库) 3. http://repo ...
- 解决eclipse中maven web工程打包成war(发布到tomcar)时lib中没有jar包的解决方法
可能有两个原因:1.maven中某些jar包下载不下来 从其他地方下载jar文件放到相应maven本地库的.m2里2..classpath文件中缺少(下面代码的作用是制定maven的jar发布路径)& ...
- [解决]UserLibrary中的jar包不会自动发布Tomcat的lib目录下(基于MyEclipse2014)
1.在工程名称上单击[右键] —— 单击[Properties]选项,点击后会弹出属性窗口: 2.选择[Properties]后在左侧树中找到[MyEclipse] —— [Deployment As ...
- 从Maven仓库中导出jar包
从Maven仓库中导出jar包:进入工程pom.xml 所在的目录下,输入以下命令:mvn dependency:copy-dependencies -DoutputDirectory=lib更简单的 ...
- 如何制作Jar包并在android中调用jar包
android制作jar包: 新建android工程,然后右击,点击导出,选择导出类型为Java下的JAR file,在java file specification 中不要选择androidmani ...
- 在java工程中导入jar包的注意事项
在java工程中导入jar包后一定要bulid path,不然jar包不可以用.而在java web工程中导入jar包后可以不builld path,但最好builld path.
随机推荐
- CI Weekly #2 | 如何优化开发流程,实现项目持续集成?
原文首发于 flow.ci Blog >> 链接,转载请联系:) CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试 ...
- Hadoop学习笔记【Hadoop家族成员概述】
Hadoop家族成员概述 一.Hadoop简介 1.1 什么是Hadoop? Hadoop是一个分布式系统基础架构,由Apache基金会所开发,目前Yahoo!是其最重要的贡献者. Hadoop实现了 ...
- JAVA设计模式《一》
设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于 ...
- 构建自己的PHP框架--抽象框架的内容
上一篇博客中,我们搭建了一个最简单的框架,从单一入口的public/index.php进入,解析出相应的Controller和Action,去执行,渲染出相应的页面或者输出相应的数据. 但是我们可以看 ...
- Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化
模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易.一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则 ...
- Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .机器学习概念 1.1 机器学习的定义 在维基百科上对机器学习提出以下几种定义: l“机器学 ...
- Linux rsync实现断点续传
Linux 主机之间即时传送文件,scp命令大家都很熟悉但当要传送的文件较大,过程中如果网络中断了,就比较悲剧了.这时候可以考虑使用rsync命令替代scp,实现断点续传文件. 试验:rsync使用 ...
- 帮助你实现漂亮界面的14套免费的 HTML/CSS 源码
在网络上能找很多免费的 PSD 格式素材,但是很少有 HTML/CSS 界面组件下载.在这篇文章中,收集了14套免费的 HTML/CSS 界面源码分享给前端设计师和开发者们.这些组件包括按钮.滑块.表 ...
- Elasticsearch增删改查 之 —— mget多文档查询
之前说过了针对单一文档的增删改查,基本也算是达到了一个基本数据库的功能.本篇主要描述的是多文档的查询,通过这个查询语法,可以根据多个文档的查询条件,返回多个文档集合. 更多内容可以参考我整理的ELK文 ...
- Java魔法堂:类加载机制入了个门
一.前言 当在CMD/SHELL中输入 $ java Main<CR><LF> 后,Main程序就开始运行了,但在运行之前总得先把Main.class及其所依赖的类加载到JVM ...