咱們在搭建SSH框架的時候,須要引入各自的一些jar包,相信不少初學者跟我同樣,搜個資料,照搬過來(固然版本還得對應),至於爲何要引入這些個jar包,引入它們的做用是啥子,一頭霧水,今天我就來跟這些SSH的初學者一塊兒來探究一下SSH中的jar包。java
首先,先來看一下咱們使用的SSH的各自版本及引入的jar包。node
struts2.3.1.2:web
struts2-core-2.3.1.jarspring
javassist-3.11.0.GA.jar數據庫
commons-io-2.0.1.jarapi
commons-lang-2.5.jar框架
commons-fileupload-1.2.2.jardom
xwork-core-2.3.1.2.jar工具
freemarker-2.3.18.jarspa
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 二、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包是作什麼用的)。