SSH2 主要知識點(diǎn)+SSH2的jar包詳解
Posted on 2010-05-21 22:00 Gavin.lee 閱讀(3112) 評論(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配置文件無提示問題
04 Action名稱的搜索順序
05 Action配置的各項(xiàng)默認(rèn)值
06 result配置的各種視圖轉(zhuǎn)發(fā)類型
07 為Action屬性注入值
08 指定Struts2處理的請求后綴、常量定義、常用常量
09 Struts2的處理流程與Action的管理方式
10 為應(yīng)用指定多個(gè)配置文件
11 動態(tài)方法調(diào)用和使用通配符定義action
12 請求參數(shù)接收與采用復(fù)合類型接收請求參數(shù)及解決中文參數(shù)亂碼問題
13 自定義類型轉(zhuǎn)換器
14 全局類型轉(zhuǎn)換器
15 訪問或添加request、session、application屬性
16 文件上傳
17 多文件上傳
18 自定義攔截器
19 對Action中所有方法進(jìn)行輸入校驗(yàn)
20 對action指定方法進(jìn)行校驗(yàn)
21 輸入校驗(yàn)的流程
22 基于XML配置方式實(shí)現(xiàn)對action的所有方法進(jìn)行校驗(yàn)
23 基于XML配置方式實(shí)現(xiàn)對指定action方法校驗(yàn)與基于XML配置校驗(yàn)的一些特點(diǎn)
24 配置國際化全局資源文件、輸出國際化信息
25 輸出帶有占位符的國際化信息
26 配置包范圍國際化資源文件
27 配置Action范圍國際化資源文件
28 ognl表達(dá)式
29 struts2常用標(biāo)簽解說
30 防止表單重復(fù)提交
Spring2.5 要點(diǎn):
01 全面闡釋Spring及其各項(xiàng)功能
02 搭建與測試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注解與自動裝配
14 讓Spring自動掃描和管理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)語法定義細(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編碼與測試
27 Struts與Spring集成方案1(Struts集成Spring)
28 Struts與Spring集成方案2(Spring集成Struts)
29 為Spring集成的Hibernate配置二級緩存
30 Spring提供的CharacterEncoding和OpenSessionInView功能
31 使用Spring集成JPA
32 Struts+Spring+JPA集成
33 使用Spring集成Struts2
Hibernate3.3要點(diǎn):
01 hibernate介紹與動手入門體驗(yàn)
02 hibernate入門案例的細(xì)節(jié)分析
03 hibernate入門案例的代碼優(yōu)化
04 Session接口及get|load|persist方法
05 實(shí)體對象的三種狀態(tài)與saveOrUpdate方法
06 完善HibernateUtil類及hql查詢?nèi)腴T
07 實(shí)體類或?qū)傩悦c數(shù)據(jù)庫關(guān)鍵字沖突問題
08 hql的命名參數(shù)與Query接口的分頁查詢
09 Criteria查詢方式
10 使用Hibernate完成CRUD實(shí)驗(yàn)的步驟說明
11 完成CRUD實(shí)驗(yàn)并回顧和補(bǔ)充細(xì)節(jié)知識(上)
12 完成CRUD實(shí)驗(yàn)并回顧和補(bǔ)充細(xì)節(jié)知識(下)
13 總結(jié)分析第一天的講解內(nèi)容
14 多對一關(guān)聯(lián)關(guān)系的映射與原理分析
15 多對一關(guān)聯(lián)關(guān)系的檢索與原理分析
16 保存多對一關(guān)聯(lián)關(guān)系的更進(jìn)一步分析
17 一對多關(guān)聯(lián)關(guān)系的映射與原理分析
18 一對一主鍵關(guān)聯(lián)關(guān)系的映射與原理分析
19 一對一主鍵關(guān)聯(lián)關(guān)系的檢索
20 一對一外鍵關(guān)聯(lián)關(guān)系的映射與原理分析
21 多對多關(guān)聯(lián)關(guān)系的映射與原理分析
22 多對多關(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)系的級聯(lián)操作
27 inverse屬性的作用與原理分析
28 分析有序集合與多對多中的inverse屬性
29 繼承關(guān)系_整個(gè)繼承樹映射到一張表
30 繼承關(guān)系_每個(gè)類映射到一張表
31 繼承關(guān)系_鑒別器與內(nèi)連接相結(jié)合
32 繼承關(guān)系_每個(gè)具體類映射一張獨(dú)立表
33 load方法的懶加載及原理分析
34 一對一的懶加載分析
35 一對多和多對多的懶加載分析
36 多對一與一對一的懶加載原理分析
37 懶加載的一些擴(kuò)充細(xì)節(jié)
38 緩存的原理與模擬分析
39 hibernate的內(nèi)部緩存分析
40 hibernate的二級緩存配置與分析
41 hibernate二級緩存的擴(kuò)充細(xì)節(jié)
42 分布式緩存的分析與研討
43 事務(wù)與事務(wù)邊界的相關(guān)知識
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ǔ)充知識
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 包,各自包含著對應(yīng)的Spring組件,用戶可以根據(jù)自己的需要來選擇組合自己的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í)所需的類和源碼級元數(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 文件包含對Spring 對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í)所需的核心類,包括自動載入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 框架,則無需這個(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包提供了對JMX 1.0/1.2的支持類。外部依賴spring-beans,spring-aop, JMX API。
spring-jms.jar
這個(gè)jar包提供了對JMS 1.0.2/1.1的支持類。外部依賴spring-beans,spring-dao,JMS API。
spring-jca.jar
對JCA 1.0的支持。外部依賴spring-beans,spring-dao, JCA API。
spring-jdo.jar
對JDO 1.0/2.0的支持。外部依賴spring-jdbc, JDO API, (spring-web)。
spring-jpa.jar
對JPA 1.0的支持。外部依賴spring-jdbc, JPA API, (spring-web)。
spring-hibernate2.jar
對Hibernate 2.1的支持,已經(jīng)不建議使用。外部依賴spring-jdbc,Hibernate2,(spring-web)。
spring-hibernate3.jar
對Hibernate 3.0/3.1/3.2的支持。外部依賴spring-jdbc,Hibernate3,(spring-web)。
spring-toplink.jar
對TopLink框架的支持。外部依賴spring-jdbc,TopLink。
spring-ibatis.jar
對iBATIS SQL Maps的支持。外部依賴spring-jdbc,iBATIS SQL Maps。另外的兩個(gè)包。
spring-mock.jar
這個(gè)jar 文件包含Spring 一整套mock 類來輔助應(yīng)用的測試。Spring 測試套件使用了其中大量mock 類,這樣測試就更加簡單。模擬HttpServletRequest 和HttpServletResponse 類在Web 應(yīng)用單元測試是很方便的。并且提供了對JUnit的支持。外部依賴spring-core。
spring-aspects.jar
提供對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語言作為Spring's web MVC tags的參數(shù),則需要JSP 2.0的支持。或者選擇Jakarta的JSTL (standard.jar)。如何選擇這些發(fā)布包,決定選用哪些發(fā)布包其實(shí)相當(dāng)簡單。如果你正在構(gòu)建Web 應(yīng)用并將全程使用Spring,那么最好就使用單個(gè)全部的spring.jar 文件;如果你的應(yīng)用僅僅用到簡單的Inversion of Control / Dependency Injection(IoC/DI)容器,那么只需spring-core.jar與spring-beans.jar 即可;如果你對發(fā)布的大小要求很高,那么就得精挑細(xì)選了,只取包含自己所需特性的jar 文件了。采用獨(dú)立的發(fā)布包你可以避免包含自己的應(yīng)用不需要的全部類。當(dāng)然你可以采用其它的一些工具來設(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的庫,沒有什么可說的,必須使用的jar包
cglib-asm.jar:
CGLIB庫,Hibernate用它來實(shí)現(xiàn)PO字節(jié)碼的動態(tài)生成,非常核心的庫,必須使用的jar包
dom4j.jar:
dom4j是一個(gè)Java的XML API,類似于jdom,用來讀寫XML文件的。dom4j是一個(gè)非常非常優(yōu)秀的Java XML API,具有性能優(yōu)異、功能強(qiáng)大和極端易用使用的特點(diǎn),同時(shí)它也是一個(gè)開放源代碼的軟件,可以在SourceForge上找到它。在IBM developerWorks上面可以找到一篇文章,對主流的Java XML API進(jìn)行 的性能、功能和易用性的評測,dom4j無論在那個(gè)方面都是非常出色的。我早在將近兩年之前就開始使 用dom4j,直到現(xiàn)在。如今你可以看到越來越多的Java軟件都在使用dom4j來讀寫XML,特別值得一提的 是連Sun的JAXM也在用dom4j。這是必須使用的jar包,Hibernate用它來讀寫配置文件。
odmg.jar:
ODMG是一個(gè)ORM的規(guī)范,Hibernate實(shí)現(xiàn)了ODMG規(guī)范,這是一個(gè)核心的庫,必須使用的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í)候它會先在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),性能也一般。 后來Apache就開發(fā)出來了commons-logging.jar用來兼容兩個(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包,用來編譯Hibernate源代碼的。如果你不準(zhǔn)備修改和編譯Hibernate源代碼,那么就沒有什么用,可選的jar包
optional.jar:
Ant的一個(gè)輔助包。
c3p0.jar:
C3PO是一個(gè)數(shù)據(jù)庫連接池,Hibernate可以配置為使用C3PO連接池。如果你準(zhǔn)備用這個(gè)連接池,就需要這個(gè)jar包。
proxool.jar:
也是一個(gè)連接池,同上。
commons-pool.jar, commons-dbcp.jar:
DBCP數(shù)據(jù)庫連接池,Apache的Jakarta組織開發(fā)的,Tomcat4的連接池也是DBCP。實(shí)際上Hibernate自己也實(shí)現(xiàn)了一個(gè)非常非常簡單的數(shù)據(jù)庫連接池,加上上面3個(gè),你實(shí)際上可以在 Hibernate上選擇4種不同的數(shù)據(jù)庫連接池,選擇哪一個(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肯定會帶上這個(gè)包,所以實(shí)際上是多余的包。
jaas.jar:
JAAS是用來進(jìn)行權(quán)限驗(yàn)證的,已經(jīng)包含在JDK1.4里面了。所以實(shí)際上是多余的包。
jcs.jar:
如果你準(zhǔn)備在Hibernate中使用JCS的話,那么必須包括它,否則就不用。
jdbc2_0-stdext.jar:
JDBC2.0的擴(kuò)展包,一般來說數(shù)據(jù)庫連接池會用上它。不過App Server都會帶上,所以也是多余的。
jta.jar:
JTA規(guī)范,當(dāng)Hibernate使用JTA的時(shí)候需要,不過App Server都會帶上,所以也是多余的。