SSH2 主要知識(shí)點(diǎn)+SSH2的jar包詳解
Posted on 2010-05-21 22:00 Gavin.lee 閱讀(3119) 評(píng)論(0) 編輯 收藏 所屬分類: SSH2 --Struts2以下為我下載的傳智播客視頻里SSH視頻的目錄,感覺總結(jié)的挺好,SSH2學(xué)習(xí)中一直由這套視頻伴隨著我
SSH2要點(diǎn):
Struts2.1.8 要點(diǎn):
01 struts2及struts2開發(fā)環(huán)境的搭建
02 第一個(gè)struts2應(yīng)用開發(fā)
03 解決struts2配置文件無(wú)提示問題
04 Action名稱的搜索順序
05 Action配置的各項(xiàng)默認(rèn)值
06 result配置的各種視圖轉(zhuǎn)發(fā)類型
07 為Action屬性注入值
08 指定Struts2處理的請(qǐng)求后綴、常量定義、常用常量
09 Struts2的處理流程與Action的管理方式
10 為應(yīng)用指定多個(gè)配置文件
11 動(dòng)態(tài)方法調(diào)用和使用通配符定義action
12 請(qǐng)求參數(shù)接收與采用復(fù)合類型接收請(qǐng)求參數(shù)及解決中文參數(shù)亂碼問題
13 自定義類型轉(zhuǎn)換器
14 全局類型轉(zhuǎn)換器
15 訪問或添加request、session、application屬性
16 文件上傳
17 多文件上傳
18 自定義攔截器
19 對(duì)Action中所有方法進(jìn)行輸入校驗(yàn)
20 對(duì)action指定方法進(jìn)行校驗(yàn)
21 輸入校驗(yàn)的流程
22 基于XML配置方式實(shí)現(xiàn)對(duì)action的所有方法進(jìn)行校驗(yàn)
23 基于XML配置方式實(shí)現(xiàn)對(duì)指定action方法校驗(yàn)與基于XML配置校驗(yàn)的一些特點(diǎn)
24 配置國(guó)際化全局資源文件、輸出國(guó)際化信息
25 輸出帶有占位符的國(guó)際化信息
26 配置包范圍國(guó)際化資源文件
27 配置Action范圍國(guó)際化資源文件
28 ognl表達(dá)式
29 struts2常用標(biāo)簽解說
30 防止表單重復(fù)提交
Spring2.5 要點(diǎn):
01 全面闡釋Spring及其各項(xiàng)功能
02 搭建與測(cè)試Spring的開發(fā)環(huán)境
03 編碼剖析Spring管理Bean的原理
04 Spring的三種實(shí)例化Bean的方式
05 配置Spring管理的bean的作用域
06 Spring管理的Bean的生命周期
07 編碼剖析Spring依賴注入的原理
08 編碼剖析Spring裝配基本屬性的原理
09 Spring如何裝配各種集合類型的屬性
10 使用構(gòu)造器裝配屬性
11 用@Resource注解完成屬性裝配
12 編碼剖析@Resource注解的實(shí)現(xiàn)原理
13 @Autowire注解與自動(dòng)裝配
14 讓Spring自動(dòng)掃描和管理Bean
15 使用JDK中的Proxy技術(shù)實(shí)現(xiàn)AOP功能
16 使用CGLIB實(shí)現(xiàn)AOP功能與AOP概念解釋
17 使用Spring的注解方式實(shí)現(xiàn)AOP入門
18 使用Spring的注解方式實(shí)現(xiàn)AOP的細(xì)節(jié)
19 使用Spring配置文件實(shí)現(xiàn)AOP
20 aspectj的切入點(diǎn)語(yǔ)法定義細(xì)節(jié)
21 搭建和配置Spring與jdbc整合的環(huán)境
22 Spring集成的jdbc編碼和事務(wù)管理
23 使用Spring注解方式管理事務(wù)與傳播行為詳解
24 使用Spring配置文件實(shí)現(xiàn)事務(wù)管理
25 搭建和配置Spring與Hibernate整合的環(huán)境
26 Spring集成的Hibernate編碼與測(cè)試
27 Struts與Spring集成方案1(Struts集成Spring)
28 Struts與Spring集成方案2(Spring集成Struts)
29 為Spring集成的Hibernate配置二級(jí)緩存
30 Spring提供的CharacterEncoding和OpenSessionInView功能
31 使用Spring集成JPA
32 Struts+Spring+JPA集成
33 使用Spring集成Struts2
Hibernate3.3要點(diǎn):
01 hibernate介紹與動(dòng)手入門體驗(yàn)
02 hibernate入門案例的細(xì)節(jié)分析
03 hibernate入門案例的代碼優(yōu)化
04 Session接口及get|load|persist方法
05 實(shí)體對(duì)象的三種狀態(tài)與saveOrUpdate方法
06 完善HibernateUtil類及hql查詢?nèi)腴T
07 實(shí)體類或?qū)傩悦c數(shù)據(jù)庫(kù)關(guān)鍵字沖突問題
08 hql的命名參數(shù)與Query接口的分頁(yè)查詢
09 Criteria查詢方式
10 使用Hibernate完成CRUD實(shí)驗(yàn)的步驟說明
11 完成CRUD實(shí)驗(yàn)并回顧和補(bǔ)充細(xì)節(jié)知識(shí)(上)
12 完成CRUD實(shí)驗(yàn)并回顧和補(bǔ)充細(xì)節(jié)知識(shí)(下)
13 總結(jié)分析第一天的講解內(nèi)容
14 多對(duì)一關(guān)聯(lián)關(guān)系的映射與原理分析
15 多對(duì)一關(guān)聯(lián)關(guān)系的檢索與原理分析
16 保存多對(duì)一關(guān)聯(lián)關(guān)系的更進(jìn)一步分析
17 一對(duì)多關(guān)聯(lián)關(guān)系的映射與原理分析
18 一對(duì)一主鍵關(guān)聯(lián)關(guān)系的映射與原理分析
19 一對(duì)一主鍵關(guān)聯(lián)關(guān)系的檢索
20 一對(duì)一外鍵關(guān)聯(lián)關(guān)系的映射與原理分析
21 多對(duì)多關(guān)聯(lián)關(guān)系的映射與原理分析
22 多對(duì)多關(guān)聯(lián)關(guān)系的檢索
23 組件關(guān)聯(lián)關(guān)系的映射與原理分析
24 關(guān)聯(lián)關(guān)系的總結(jié)
25 Hibernate中使用的集合類型
26 關(guān)聯(lián)關(guān)系的級(jí)聯(lián)操作
27 inverse屬性的作用與原理分析
28 分析有序集合與多對(duì)多中的inverse屬性
29 繼承關(guān)系_整個(gè)繼承樹映射到一張表
30 繼承關(guān)系_每個(gè)類映射到一張表
31 繼承關(guān)系_鑒別器與內(nèi)連接相結(jié)合
32 繼承關(guān)系_每個(gè)具體類映射一張獨(dú)立表
33 load方法的懶加載及原理分析
34 一對(duì)一的懶加載分析
35 一對(duì)多和多對(duì)多的懶加載分析
36 多對(duì)一與一對(duì)一的懶加載原理分析
37 懶加載的一些擴(kuò)充細(xì)節(jié)
38 緩存的原理與模擬分析
39 hibernate的內(nèi)部緩存分析
40 hibernate的二級(jí)緩存配置與分析
41 hibernate二級(jí)緩存的擴(kuò)充細(xì)節(jié)
42 分布式緩存的分析與研討
43 事務(wù)與事務(wù)邊界的相關(guān)知識(shí)
44 OpenSessionInView模式的代碼分析
45 OpenSessionInView的時(shí)序圖與缺點(diǎn)分析
46 事務(wù)中的悲觀鎖與樂觀鎖
47 串講hibernate配置文件中的配置項(xiàng)
48 串講hibernate映射文件中的配置項(xiàng)
49 Hibernate映射類型
50 Session與SessionFactory的多線程問題
51 Session的內(nèi)部緩存管理與批量更新
52 Hql與Criteria查詢的補(bǔ)充知識(shí)
53 iterate查詢與N+1此查詢問題
54 Hibernate的攔截器與監(jiān)聽器
55 本地sql查詢與命名查詢
56 Hiberante的最佳實(shí)踐
jar作用的詳解:
spring.jar 是包含有完整發(fā)布模塊的單個(gè)jar 包。但是不包括mock.jar, aspects.jar, spring-
portlet.jar, and spring-hibernate2.jar。
spring-src.zip就是所有的源代碼壓縮包。
除了spring.jar 文件,Spring 還包括有其它21個(gè)獨(dú)立的jar 包,各自包含著對(duì)應(yīng)的Spring組件,用戶可以根據(jù)自己的需要來(lái)選擇組合自己的jar 包,而不必引入整個(gè)spring.jar 的所有類文件。
spring-core.jar
這個(gè)jar 文件包含Spring 框架基本的核心工具類。Spring 其它組件要都要使用到這個(gè)包里的類,是其
它組件的基本核心,當(dāng)然你也可以在自己的應(yīng)用系統(tǒng)中使用這些工具類。外部依賴Commons Logging, (Log4J)。
spring-beans.jar
這個(gè)jar 文件是所有應(yīng)用都要用到的,它包含訪問配置文件、創(chuàng)建和管理bean 以及進(jìn)行Inversion of Control / Dependency Injection(IoC/DI)操作相關(guān)的所有類。如果應(yīng)用只需基本的IoC/DI 支持,引入spring-core.jar 及spring-beans.jar 文件就可以了。
外部依賴spring-core,(CGLIB)。
spring-aop.jar
這個(gè)jar 文件包含在應(yīng)用中使用Spring 的AOP 特性時(shí)所需的類和源碼級(jí)元數(shù)據(jù)支持。使用基于AOP 的Spring特性,如聲明型事務(wù)管理(Declarative Transaction Management),也要在應(yīng)用里包含這個(gè)jar包。
外部依賴spring-core, (spring-beans,AOP Alliance, CGLIB,Commons Attributes)。
spring-context.jar
這個(gè)jar 文件為Spring 核心提供了大量擴(kuò)展。可以找到使用Spring ApplicationContext特性時(shí)所需的全部類,JDNI 所需的全部類,instrumentation組件以及校驗(yàn)Validation 方面的相關(guān)類,外部依賴spring-beans, (spring-aop)。
spring-dao.jar
這個(gè)jar 文件包含Spring DAO、Spring Transaction 進(jìn)行數(shù)據(jù)訪問的所有類。為了使用聲明型事務(wù)支持,還需在自己的應(yīng)用里包含spring-aop.jar。外部依賴spring-core,(spring-aop, spring-context, JTA API)。
spring-jdbc.jar
這個(gè)jar 文件包含對(duì)Spring 對(duì)JDBC 數(shù)據(jù)訪問進(jìn)行封裝的所有類。外部依賴spring-beans,spring-dao。
spring-support.jar
這個(gè)jar 文件包含支持UI模版(Velocity,F(xiàn)reeMarker,JasperReports),郵件服務(wù),腳本服務(wù)(JRuby),緩存Cache(EHCache),任務(wù)計(jì)劃Scheduling(uartz)方面的類。外部依賴spring-context, (spring-jdbc, Velocity, FreeMarker, JasperReports, BSH, Groovy, JRuby, Quartz, EHCache)
spring-web.jar
這個(gè)jar 文件包含Web 應(yīng)用開發(fā)時(shí),用到Spring 框架時(shí)所需的核心類,包括自動(dòng)載入Web Application Context 特性的類、Struts 與JSF 集成類、文件上傳的支持類、Filter 類和大量工具輔助類。外部依賴spring-context, Servlet API, (JSP API, JSTL, Commons FileUpload, COS)。
spring-webmvc.jar
這個(gè)jar 文件包含Spring MVC 框架相關(guān)的所有類。包括框架的Servlets,Web MVC框架,控制器和視圖支持。當(dāng)然,如果你的應(yīng)用使用了獨(dú)立的MVC 框架,則無(wú)需這個(gè)JAR 文件里的任何類。外部依賴spring-web, (spring-support,Tiles,iText,POI)。
spring-portlet.jar
spring自己實(shí)現(xiàn)的一個(gè)類似Spring MVC的框架。包括一個(gè)MVC框架和控制器。外部依賴spring-web, Portlet API,(spring-webmvc)。
spring-struts.jar
Struts框架支持,可以更方便更容易的集成Struts框架。外部依賴spring-web,Struts。
spring-remoting.jar
這個(gè)jar 文件包含支持EJB、遠(yuǎn)程調(diào)用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的類。外部依賴spring-aop, (spring-context,spring-web,Hessian,Burlap,JAX-RPC,EJB API)。
spring-jmx.jar
這個(gè)jar包提供了對(duì)JMX 1.0/1.2的支持類。外部依賴spring-beans,spring-aop, JMX API。
spring-jms.jar
這個(gè)jar包提供了對(duì)JMS 1.0.2/1.1的支持類。外部依賴spring-beans,spring-dao,JMS API。
spring-jca.jar
對(duì)JCA 1.0的支持。外部依賴spring-beans,spring-dao, JCA API。
spring-jdo.jar
對(duì)JDO 1.0/2.0的支持。外部依賴spring-jdbc, JDO API, (spring-web)。
spring-jpa.jar
對(duì)JPA 1.0的支持。外部依賴spring-jdbc, JPA API, (spring-web)。
spring-hibernate2.jar
對(duì)Hibernate 2.1的支持,已經(jīng)不建議使用。外部依賴spring-jdbc,Hibernate2,(spring-web)。
spring-hibernate3.jar
對(duì)Hibernate 3.0/3.1/3.2的支持。外部依賴spring-jdbc,Hibernate3,(spring-web)。
spring-toplink.jar
對(duì)TopLink框架的支持。外部依賴spring-jdbc,TopLink。
spring-ibatis.jar
對(duì)iBATIS SQL Maps的支持。外部依賴spring-jdbc,iBATIS SQL Maps。另外的兩個(gè)包。
spring-mock.jar
這個(gè)jar 文件包含Spring 一整套mock 類來(lái)輔助應(yīng)用的測(cè)試。Spring 測(cè)試套件使用了其中大量mock 類,這樣測(cè)試就更加簡(jiǎn)單。模擬HttpServletRequest 和HttpServletResponse 類在Web 應(yīng)用單元測(cè)試是很方便的。并且提供了對(duì)JUnit的支持。外部依賴spring-core。
spring-aspects.jar
提供對(duì)AspectJ的支持,以便可以方便的將面向方面的功能集成進(jìn)IDE中,比如Eclipse AJDT。外部依賴。WEAVER JARS (dist/weavers)說明。
spring-agent.jar
Spring的InstrumentationSavingAgent (為InstrumentationLoadTimeWeaver),一個(gè)設(shè)備代理包,可以參考JDK1.5的Instrumentation功能獲得更多信息。外部依賴none (for use at JVM startup: "-javaagent:spring-agent.jar")。
spring-tomcat-weaver.jar
擴(kuò)展Tomcat的ClassLoader,使其可以使用instrumentation(設(shè)備)類。外部依賴none (for deployment into Tomcat's "server/lib" directory)。如果需要使用JSP語(yǔ)言作為Spring's web MVC tags的參數(shù),則需要JSP 2.0的支持。或者選擇Jakarta的JSTL (standard.jar)。如何選擇這些發(fā)布包,決定選用哪些發(fā)布包其實(shí)相當(dāng)簡(jiǎn)單。如果你正在構(gòu)建Web 應(yīng)用并將全程使用Spring,那么最好就使用單個(gè)全部的spring.jar 文件;如果你的應(yīng)用僅僅用到簡(jiǎn)單的Inversion of Control / Dependency Injection(IoC/DI)容器,那么只需spring-core.jar與spring-beans.jar 即可;如果你對(duì)發(fā)布的大小要求很高,那么就得精挑細(xì)選了,只取包含自己所需特性的jar 文件了。采用獨(dú)立的發(fā)布包你可以避免包含自己的應(yīng)用不需要的全部類。當(dāng)然你可以采用其它的一些工具來(lái)設(shè)法令整個(gè)應(yīng)用包變小,節(jié)省空間的重點(diǎn)在于準(zhǔn)確地找出自己所需的 Spring 依賴類,然后合并所需的類與包就可以了。Eclispe 有個(gè)插件叫ClassPathHelper 可以幫你找找所依賴的類
Hibernate一共包括了23個(gè)jar包,令人眼花繚亂。下載Hibernate,例如2.0.3穩(wěn)定版本,解壓縮,可以看到
一個(gè)hibernate2.jar和lib目錄下有22個(gè)jar包:
hibernate2.jar:
Hibernate的庫(kù),沒有什么可說的,必須使用的jar包
cglib-asm.jar:
CGLIB庫(kù),Hibernate用它來(lái)實(shí)現(xiàn)PO字節(jié)碼的動(dòng)態(tài)生成,非常核心的庫(kù),必須使用的jar包
dom4j.jar:
dom4j是一個(gè)Java的XML API,類似于jdom,用來(lái)讀寫XML文件的。dom4j是一個(gè)非常非常優(yōu)秀的Java XML API,具有性能優(yōu)異、功能強(qiáng)大和極端易用使用的特點(diǎn),同時(shí)它也是一個(gè)開放源代碼的軟件,可以在SourceForge上找到它。在IBM developerWorks上面可以找到一篇文章,對(duì)主流的Java XML API進(jìn)行 的性能、功能和易用性的評(píng)測(cè),dom4j無(wú)論在那個(gè)方面都是非常出色的。我早在將近兩年之前就開始使 用dom4j,直到現(xiàn)在。如今你可以看到越來(lái)越多的Java軟件都在使用dom4j來(lái)讀寫XML,特別值得一提的 是連Sun的JAXM也在用dom4j。這是必須使用的jar包,Hibernate用它來(lái)讀寫配置文件。
odmg.jar:
ODMG是一個(gè)ORM的規(guī)范,Hibernate實(shí)現(xiàn)了ODMG規(guī)范,這是一個(gè)核心的庫(kù),必須使用的jar包。
commons-collections.jar:
Apache Commons包中的一個(gè),包含了一些Apache開發(fā)的集合類,功能比java.util.*強(qiáng)大。必須使用的jar包。
commons-beanutils.jar:
Apache Commons包中的一個(gè),包含了一些Bean工具類類。必須使用的jar包。
commons-lang.jar:
Apache Commons包中的一個(gè),包含了一些數(shù)據(jù)類型工具類,是java.lang.*的擴(kuò)展。必須使用的jar包。
commons-logging.jar:
Apache Commons包中的一個(gè),包含了日志功能,必須使用的jar包。這個(gè)包本身包含了一個(gè)Simple Logger,但是功能很弱。在運(yùn)行的時(shí)候它會(huì)先在CLASSPATH找log4j,如果有,就使用log4j,如果沒有,就找JDK1.4帶的java.util.logging,如果也找不到就用Simple Logger。commons-logging.jar的出現(xiàn)是一個(gè)歷史的的遺留的遺憾,當(dāng)初Apache極力游說Sun把log4j加入JDK1.4,然而JDK1.4項(xiàng)目小組已經(jīng) 接近發(fā)布JDK1.4產(chǎn)品的時(shí)間了,因此拒絕了Apache的要求,使用自己的java.util.logging,這個(gè)包的功能比log4j差的很遠(yuǎn),性能也一般。 后來(lái)Apache就開發(fā)出來(lái)了commons-logging.jar用來(lái)兼容兩個(gè)logger。因此用commons-logging.jar 寫的log程序,底層的Logger是可以切換的,你可以選擇log4j,java.util.logging或者它自帶的 Simple Logger。不過我仍然強(qiáng)烈建議使用log4j,因?yàn)閘og4j性能很高,log輸出信息時(shí)間幾乎等于 System.out,而處理一條log平均只需要5us。你可以在Hibernate的src目錄下找到Hibernate已經(jīng)為你準(zhǔn)備好了的log4j的配置文件,你只需要到Apache 網(wǎng)站去下載log4j就可以了。commons-logging.jar也是必須的jar包。 使用Hibernate必須的jar包就是以上的這幾個(gè),剩下的都是可選的。
ant.jar:
Ant編譯工具的jar包,用來(lái)編譯Hibernate源代碼的。如果你不準(zhǔn)備修改和編譯Hibernate源代碼,那么就沒有什么用,可選的jar包
optional.jar:
Ant的一個(gè)輔助包。
c3p0.jar:
C3PO是一個(gè)數(shù)據(jù)庫(kù)連接池,Hibernate可以配置為使用C3PO連接池。如果你準(zhǔn)備用這個(gè)連接池,就需要這個(gè)jar包。
proxool.jar:
也是一個(gè)連接池,同上。
commons-pool.jar, commons-dbcp.jar:
DBCP數(shù)據(jù)庫(kù)連接池,Apache的Jakarta組織開發(fā)的,Tomcat4的連接池也是DBCP。實(shí)際上Hibernate自己也實(shí)現(xiàn)了一個(gè)非常非常簡(jiǎn)單的數(shù)據(jù)庫(kù)連接池,加上上面3個(gè),你實(shí)際上可以在 Hibernate上選擇4種不同的數(shù)據(jù)庫(kù)連接池,選擇哪一個(gè)看個(gè)人的偏好,不過DBCP可能更通用一些。另外強(qiáng)調(diào)一點(diǎn),如果在EJB中使用Hibernate,一定要用App Server的連接池,不要用以上4種連接池,否則容器管理事務(wù)不起作用。
connector.jar:
JCA 規(guī)范,如果你在App Server上把Hibernate配置為Connector的話,就需要這個(gè)jar。不過實(shí)際上一般App Server肯定會(huì)帶上這個(gè)包,所以實(shí)際上是多余的包。
jaas.jar:
JAAS是用來(lái)進(jìn)行權(quán)限驗(yàn)證的,已經(jīng)包含在JDK1.4里面了。所以實(shí)際上是多余的包。
jcs.jar:
如果你準(zhǔn)備在Hibernate中使用JCS的話,那么必須包括它,否則就不用。
jdbc2_0-stdext.jar:
JDBC2.0的擴(kuò)展包,一般來(lái)說數(shù)據(jù)庫(kù)連接池會(huì)用上它。不過App Server都會(huì)帶上,所以也是多余的。
jta.jar:
JTA規(guī)范,當(dāng)Hibernate使用JTA的時(shí)候需要,不過App Server都會(huì)帶上,所以也是多余的。