我们在搭建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. HDOJ1874最短路【spfa】

    //不知道切过这道题目几次了,这次又wa了...双向路啊....这波简直无奈了,今晚又是浪成狗!!!! #include<cstdio> #include<vector> #i ...

  2. Unity3D教程:无缝地形场景切换的解决方法

    http://www.unitymanual.com/6718.html 当我们开发一个大型项目的时候-会遇到这样的问题(地形场景的切换)这个只是字面意思-并不是重场景1的100  100 100坐标 ...

  3. ios代码大全

    http://blog.csdn.net/kepoon/article/details/7763106

  4. 用vector实现普通平衡树 By cellur925

    其实我真的很想学习手写平衡树的==.但是感觉联赛前真没有时间了(太菜了.),于是先学一个STL代用苟,如果还能继续在\(tsoi\)苟,回来一定先学平衡树=w=. 然后因为窝对STL用的不是特别好,有 ...

  5. java模拟进程调度之模拟抢占试多级轮转调度(附带可视化解决方案)

    1.简介一下多级轮转调度 多级轮转调度是一种提高调度效率的解决方案,简单讲就是讲要执行的程分成几个优先级的列队即例如三个,第一个列队分10个时间片,第二个列队分配1000个时间片,第三个列队表示100 ...

  6. Windows个人常用软件推荐

    一.必装软件 浏览器:Google chrome Google Chrome是一款可让您更快速.轻松且安全地使用网络的浏览器,它的设计超级简洁,使用起来更加方便,支持多标签浏览,同时也支持扩展插件.下 ...

  7. vue文件的data中引入图片路径方式

    data () { return { src:require('../assets/c.png') } }, mounted () { obj.src = require('../assets/'+ ...

  8. Gym - 101810F ACM International Collegiate Programming Contest (2018)

    bryce1010模板 http://codeforces.com/gym/101810 #include<bits/stdc++.h> using namespace std; #def ...

  9. ZJOI2017 day2 T2 线段树 想法题

    考完D2发现自己简直zz了...花式扔基本分 首先这道题有个显然的套路:树上一些点到一个定点的距离和=这些点深度和+点数*定点深度和-2*lca深度和 ——上一次见这个套路是LNOI2014,上次做的 ...

  10. 洛谷 P4362 [NOI2002]贪吃的九头龙

    https://www.luogu.org/problemnew/show/P4362 首先有个很显然的dp:ans[i][j][k]表示i节点用j号头,i节点为根的子树中共有k个点用大头时i节点为根 ...