版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> SSH的理解及其應(yīng)用實踐</p><p> 1.SSH是什么3</p><p> 2 Spring 介紹理解:3</p><p><b> 2.1簡單介紹3</b></p><p><b> 2.2各種特性3</b></p><p>
2、;<b> 2.2.1輕量3</b></p><p> 2.2.2控制反轉(zhuǎn)3</p><p> 2.2.3面向切面4</p><p> 2 .2.4容器4</p><p><b> 2.2.5框架4</b></p><p><b> 2.3總結(jié)
3、4</b></p><p> 3.Hibernate介紹理解:4</p><p><b> 3.1簡單介紹4</b></p><p><b> 3.2核心接口5</b></p><p> ·3.2.1 Session接口5</p><p&g
4、t; 3.2.2 ·SessionFactory接口5</p><p> 3.2.3·Configuration接口5</p><p> 3.2.4·Transaction接口5</p><p> 3.2.5 Query和Criteria接口5</p><p> 4. Struts6</
5、p><p> 4.1什么是Struts框架6</p><p> 4.2 Struts 概覽6</p><p> 4.2.1Client browser(客戶瀏覽器)6</p><p> 4.4 Struts中的Controller(控制器) 命令設(shè)計模式的實現(xiàn)7</p><p> 4.5
6、在Struts框架中控制器組件的三個構(gòu)成部分7</p><p> 4.7 Struts中的Model(模型)8</p><p> 5.SSH整合步驟8</p><p> 5.1安裝所需軟件環(huán)境:8</p><p> 5.1.1、首先安裝JDK,配置Java環(huán)境變量8</p><p> 5.1.2安裝
7、MyEelipse8</p><p> 5.1.3 數(shù)據(jù)庫9</p><p><b> 5.1.4、9</b></p><p> 5.2環(huán)境配置好了就可以做SSH整合的項目9</p><p> 6.搭建框架并簡單應(yīng)用11</p><p> 6.1準(zhǔn)備工作11</p>
8、;<p> 6.2(建立項目,包結(jié)構(gòu),導(dǎo)入所需jar文件)12</p><p> 6.3撰寫資源文件15</p><p> 6.4在com.ssh.util.comm 包下添加下列文件19</p><p> 6.5添加hibernate DAO 模板20</p><p> 6.6以上的工作還不夠,我們還需要進行
9、WEB方面的配置20</p><p><b> 7.測試:23</b></p><p> 7.1.com.ssh.model 包下建立 User.java23</p><p> 7.2 com.ssh.service 包下建立 UserService.java24</p><p> 7.3com.ssh
10、.test 下建立 Test.java25</p><p><b> 7.4結(jié)果26</b></p><p><b> 8.結(jié)束語26</b></p><p><b> 1.SSH是什么</b></p><p> 新的MVC軟件開發(fā)模式, SSH(Struts,
11、Spring,Hibernate) Struts進行流程控制,Spring進行業(yè)務(wù)流轉(zhuǎn),Hibernate進行數(shù)據(jù)庫操作的封裝,這種新的開發(fā)模式讓我們的開發(fā)更加方便、快捷、思路清晰!</p><p> 2 Spring 介紹理解: </p><p><b> 2.1簡單介紹</b></p><p> Spring是一個開源框架,
12、它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。 簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。 </p><p><b>
13、2.2各種特性</b></p><p><b> 2.2.1輕量</b></p><p> 從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對象不依賴于Spring的特定類。
14、</p><p><b> 2.2.2控制反轉(zhuǎn)</b></p><p> Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進了松耦合。當(dāng)應(yīng)用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。 &l
15、t;/p><p><b> 2.2.3面向切面</b></p><p> Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級服務(wù)(例如審計(auditing)和事務(wù)(transaction)管理)進行內(nèi)聚性的開發(fā)。應(yīng)用對象只實現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯——僅此而已。它們并不負責(zé)(甚至是意識)其它的系統(tǒng)級關(guān)注點,例如日志或事務(wù)支持。
16、</p><p><b> 2 .2.4容器</b></p><p> Spring包含并管理應(yīng)用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創(chuàng)建——基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量
17、級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。 </p><p><b> 2.2.5框架</b></p><p> Spring可以將簡單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。 </p&
18、gt;<p><b> 2.3總結(jié)</b></p><p> 所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。 </p><p> 3.Hibernate介紹理解: </p><p><b> 3.1簡單介紹</b>&
19、lt;/p><p> Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。
20、 </p><p><b> 3.2核心接口</b></p><p> Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務(wù)控制。下面對這五個核心接口分別加以介紹
21、。 </p><p> ·3.2.1 Session接口</p><p> Session接口負責(zé)執(zhí)行被持久化對象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個術(shù)語時,其實指的
22、是Hibernate中的session,而以后會將HttpSesion對象稱為用戶session。 </p><p> 3.2.2 ·SessionFactory接口</p><p> SessionFactory接口負責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲源的代理,并負責(zé)創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級
23、的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當(dāng)需要操作多個數(shù)據(jù)庫時,可以為每個數(shù)據(jù)庫指定一個SessionFactory。 </p><p> 3.2.3·Configuration接口</p><p> Configuration接口負責(zé)配置并啟動Hibernate,創(chuàng)建SessionFactory對象。在Hibernate的啟動的過程中
24、,Configuration類的實例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對象。 </p><p> 3.2.4·Transaction接口</p><p> Transaction接口負責(zé)事務(wù)相關(guān)的操作。它是可選的,開發(fā)人員也可以設(shè)計編寫自己的底層事務(wù)處理代碼。 </p><p> 3.2.5 Query和Cr
25、iteria接口</p><p> Query和Criteria接口負責(zé)執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用HQL語言或SQL語句兩種表達方式。</p><p><b> 4. Struts</b></p><p> 4.1什么是Struts框架 </p><p> Struts 是一組相互協(xié)作的類、serv
26、let 和 JSP 標(biāo)記組成的一個可重用的 MVC 2 設(shè)計。 這個定義表示 Struts 是一個框架,而不是一個庫,但 Struts 也包含了豐富的標(biāo)記庫和獨立于該框架工作的實用程序類。</p><p> 4.2 Struts 概覽</p><p> 4.2.1Client browser(客戶瀏覽器) </p><p>
27、 來自客戶瀏覽器的每個 HTTP 請求創(chuàng)建一個事件。Web 容器將用一個 HTTP 響應(yīng)作出響應(yīng)。 4.2.2 Controller(控制器) </p><p> 控制器接收來自瀏覽器的請求,并決定將這個請求發(fā)往何處。就 Struts 而言,控制器是以 servlet 實現(xiàn)的一個命令設(shè)計模式。 struts-config.xml 文件配置控制器命令。 4
28、.3.3 業(yè)務(wù)邏輯 </p><p> 業(yè)務(wù)邏輯更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程。 就 Struts 而言,這是通過作為實際業(yè)務(wù)邏輯“瘦”包裝的 Action 類完成的。 4.3.4 Model(模型)的狀態(tài) </p><p> 模型表示應(yīng)用程序的狀態(tài)。業(yè)務(wù)對象更新應(yīng)用程序的狀態(tài)。Action
29、Form bean 在會話級或請求級表示模型的狀態(tài),而不是在持久級 JSP 文件使用 JSP 標(biāo)記讀取來ActionForm bean 的信息。 4.3. 5 View(視圖) </p><p> 視圖就是一個 JSP 文件。其中沒有流程邏輯,沒有業(yè)務(wù)邏輯,也沒有模型信息 -- 只有標(biāo)記。 標(biāo)記是使 Struts
30、有別于其他框架(如 Velocity)的因素之一。</p><p> 4.4 Struts中的Controller(控制器) 命令設(shè)計模式的實現(xiàn)</p><p> Struts 的控制器將事件(事件通常是 HTTP post)映射到類的一個 servlet. ActionServlet (Command) 創(chuàng)建并使用 Action 、 ActionForm 和Ac
31、tionForward . 通過struts-config.xml 文件配置該 Command.從而擴展 Action 和 ActionForm 來解決特定的問題。 可以通過擴展 ActionServlet 來添加 Command 功能。 </p><p> 4.5 在Struts框架中控制器組件的三個構(gòu)成部
32、分</p><p> 1,消息控制模塊;用戶所有的提交請求都發(fā)往消息控制模塊,在由消息總線模塊根據(jù)視圖映射模塊找到消息處理模塊來執(zhí)行處理邏輯。消息控制模塊接收所有用戶的請求,并根據(jù)請求視圖找到處理。Strtus中通過ActionServlet和RequestProcessor類來完成。 </p><p> 2,消息處理模塊:該模塊執(zhí)行該消息的邏輯處理,因此通常
33、由用戶擴展實現(xiàn)。Struts中通過Action類來實現(xiàn)。 </p><p> 3,視圖映射模塊; 控制器邏輯和視圖邏輯之間的結(jié)合是通過配置模塊和配置文件建立其的鏈接。Struts中配置模塊通過ModuleConfig類來完成,而配置文件由struts-config.xml文件提供?! ?.6 Struts中的View(視圖)視圖組件通過JSP組件的實現(xiàn)機制。</p>&l
34、t;p> Struts框架對視圖組件進行了擴展和封裝。 Struts對視圖的擴展提供了一組擴展服務(wù)器標(biāo)簽用來提供視圖顯示以及傳遞數(shù)據(jù)到處理緩沖,而處理緩沖由ActionForm的擴展類來實現(xiàn)。 Struts框架利用ActionForm Bean來實現(xiàn)視圖與控制器之間的數(shù)據(jù)的交互,維持會話級或請求級的模型的狀態(tài)。服務(wù)器標(biāo)簽主要包括: Html視圖標(biāo)簽; Logic邏輯流程控制標(biāo)簽;&
35、#160;Bean數(shù)據(jù)緩沖讀取標(biāo)簽; </p><p> 4.7 Struts中的Model(模型) </p><p> 1,Struts框架中并沒有定義特定的模型組件,而是希望由用戶自己決定選擇合理的模型組件。J2EE中可用的模型組件包括: JavaBean 用戶定義組件; EJB 組件,由EJB容器實現(xiàn)組件; JDO 未來J2EE數(shù)據(jù)
36、訪問模型;一些擴展框架如:Hibernate;</p><p> 2,模型中狀態(tài)的級別 會話級或請求級:ActionForm bean來維持 ; 持久級:模型組件來維持;</p><p><b> 5.SSH整合步驟</b></p><p> 5.1安裝所需軟件環(huán)境:</p>
37、<p> 5.1.1、首先安裝JDK,配置Java環(huán)境變量</p><p> 右鍵我的電腦->屬性->高級->環(huán)境變量 【JAVA_HOME】“F:\Java\jdk1.6.0_12”jdk1.6.0_12是我裝的版本,你看你自己的版本然后改下名字; 【Path】“%JAVA_HOME%\bin;”注意,這個要添加到系統(tǒng)原來的PATH前面,要像有些人說的加后面可能會不能編譯
38、。 【Classpath】“.;%JAVA_HOME%\lib\tools.jar” 然后就是試下看是否配置成功了 關(guān)于設(shè)置JAVA HOME的必要性:你若裝TOMCAT或ORACLE等都會改變你的環(huán)境設(shè)置,總是改path,classpath容易出錯也不方便,所以JAVA HOME就有了統(tǒng)一指向性,方便不易出錯 開始-運行-CMD然后“javac”會出現(xiàn)很多操作說明,也可以“java -version”查看版本信息。再就是自己編
39、個簡單的JAVA文件試下了 </p><p> 5.1.2安裝MyEelipse 。注:修改Content Assist為Ctrl+Enter,可以修改提示快捷鍵</p><p><b> 5.1.3 數(shù)據(jù)庫</b></p><p> 5.1.4、安裝tomcat,并將tomcat加載到MyElipse中的服務(wù)器中。具體步驟為:Windo
40、w ——>Preferences ——> MyEclipse Enterprise Workbench ——> Servers ——>Tomcat ——>Tomat6X——>選擇"Enable",下面三個空指向tomcat的安裝路徑,如:D:\Tomcat 6.0。</p><p> 5.2環(huán)境配置好了就可以做SSH整合的項目</p><
41、;p> 1、先引入Struts,然后是Spring,最后是Hibernate(AOP Librarian,Core Libraries,JDBC LIbrarian,WebS Librarian)。</p><p> 2、在Database Driver中先創(chuàng)建數(shù)據(jù)庫</p><p> 3、在struts—config.xml中配置</p><p>
42、<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"></p><p> <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml"
43、/></p><p> </plug-in></p><p> 這樣就把Struts中的ActionSevlet加到Spring中了。</p><p> 4、寫帶有Form表單的頁面</p><p> 5、寫對應(yīng)的ActionForm,并在struts-config.xml中注冊<form-bean>。&
44、lt;/p><p> 6、寫對應(yīng)于數(shù)據(jù)庫的持久化類,如emp.hbm.xml,注其頭部為:</p><p> <?xml version='1.0' encoding='UTF-8'?></p><p> <!DOCTYPE hibernate-mapping PUBLIC</p><p>
45、 "-//Hibernate/Hibernate Mapping DTD 3.0//EN"</p><p> "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"></p><p><b> 內(nèi)容格式為:</b></p><p&g
46、t; <class table="ssh_dept" name="com.ibm.vo.Dept">//注:name為與數(shù)據(jù)庫表字段相對應(yīng)的類</p><p> <id name="deptno" column="deptno" type="java.lang.Integer"><
47、/p><p> <generator class="assigned"></generator>//說明主鍵類型</p><p><b> </id></b></p><p> <property name="dname" column="dname&
48、quot; type="java.lang.String"></property></p><p> <property name="ioc" column="ioc" type="java.lang.String"></property></p><p> <
49、;set name="emp"></p><p> <key column="deptno"></key></p><p> <one-to-many class="com.ibm.vo.Emp"/></p><p><b> </set>
50、;</b></p><p><b> </class></b></p><p> 然后將其在applicationContext.xml中配置:</p><p> <property name="mappingResources"></p><p><b
51、> <list></b></p><p> <value>xml/User.hbm.xml</value></p><p><b> </list></b></p><p> </property></p><p> 7、寫DAO層的
52、接口,并寫實現(xiàn)該接口的類,該類還要繼承HibernateDaoSupport,且bean注入時要記得屬性sessionFactory的注入。</p><p> 8、寫Service層的接口,并寫實現(xiàn)該接口的類,在該類中要定義一個EmpDAO 類型的屬性,并寫其get和set方法。在此類的方法中調(diào)用DAO層中的方法。</p><p> 9、寫Action類,繼承Action,在該類中定義
53、一個EmpService類型的屬性,并寫其set方法,然后在execute方法中進行操作。</p><p> 10、將DAO、Service中所有的類和Action類注入到applicationContext.xml的Bean中,而且有屬性的一定要配置屬性,然后在Struts-config.xml中寫 :</p><p> <action path="/addEmp&q
54、uot; //注:此處的path應(yīng)與applicationContext.xml中 的name一致,Action注入bean時應(yīng)用name而不用id</p><p> name="addEmpForm"</p><p> attribute="addEmpForm"</p><p> scope="re
55、quest"</p><p> input="/addEmp.jsp" type="org.springframework.web.struts.DelegatingActionProxy">//代理</p><p> <forward name="success" path=&qu
56、ot;/addSuccess.jsp"></forward> </p><p><b> </action></b></p><p> 11、在applicationContext中配置事物:</p><p> <!-- 進行事務(wù)處理 --></p><
57、p> <bean id="transactionManager"</p><p> class="org.springframework.orm.hibernate3.HibernateTransactionManager"></p><p> <property name="sessionFactory&qu
58、ot;></p><p> <ref local="sessionFactory"/></p><p> </property> </p><p><b> </bean></b></p><p> <!-- 進行DAO代理 -->
59、</p><p> <bean id="userDaoProxy"</p><p> class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"></p><p> <property name=&quo
60、t;transactionManager"></p><p> <ref local="transactionManager"/></p><p> </property></p><p> <property name="target"></p><
61、;p> <ref local="deptDAOImpl"/></p><p> </property></p><p> <!-- 如果沒有事務(wù)就新建一個事務(wù) --></p><p> <property name="transactionAttributes">&
62、lt;/p><p><b> <props></b></p><p> <prop key="*">PROPAGATION_REQUIRED</prop> </p><p><b> </props></b></p><p>
63、</property></p><p><b> </bean></b></p><p> 12、若使用驗證框架,則需先在sturts-config.xml中配置插件:</p><p> <plug-in className="org.apache.struts.validator.Validato
64、rPlugIn"></p><p> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/></p><p> </plug-in></p><p&
65、gt; 13、在/WEB-INF下建立validation.xml,其頭部為:</p><p> <!DOCTYPE form-validation PUBLIC</p><p> "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"</
66、p><p> "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">注:tomcat的lib包里要包含objdbc14.jar的jar包。</p><p> 6.搭建框架并簡單應(yīng)用(搭建過程是在網(wǎng)上找的,我照著流程自己也做了,但是可能是版本的問題有些地方還是有問題,但大體框架搭建好了)</p
67、><p><b> 6.1準(zhǔn)備工作</b></p><p> MyEclipse 6.5</p><p><b> Tomcat5.5</b></p><p> 所需jar文件:(所有jar文件已整理ssh_jars文件夾)注意:ssh_test項目中采用的是MySql 數(shù)據(jù)庫。</p&g
68、t;<p> 而本文檔中配置的是Oracle數(shù)據(jù)庫,注意其中配置的不同之處哦(在相應(yīng)的地方有注明)</p><p> 6.2(建立項目,包結(jié)構(gòu),導(dǎo)入所需jar文件)</p><p> 新建一個web project:</p><p><b> 建立包結(jié)構(gòu)如下:</b></p><p><b&g
69、t; 各包功能說明:</b></p><p> com.ssh.config : 配置文件(*.properties),如數(shù)據(jù)庫配置信息</p><p> com.ssh.resource : 資源文件 </p><p> com.ssh.util.comm : 公共工具(util)包</p><p> com.ss
70、h.util.orm.hibernate : hibernate DAO 模板</p><p> com.ssh.model : 各實體類文件</p><p> com.ssh.service : 業(yè)務(wù)邏輯包 相當(dāng)于biz </p><p> com.ssh..test : 測試包 </p><p> com.ssh.action
71、 : struts Action </p><p> 包結(jié)構(gòu)可以根據(jù)自己需要自行劃分</p><p><b> 導(dǎo)入jar文件: </b></p><p> 新建一個User Library: sshJars</p><p><b> 添加jar文件:</b></p><
72、p> 將新建的User Library: sshJars加入到項目中:</p><p><b> 6.3撰寫資源文件</b></p><p> jdbc.properties</p><p> 在jdbc.properties 里寫上連接數(shù)據(jù)庫的配置信息,此文件的配置信息用于在spring的配置文件中使用,數(shù)據(jù)庫的配置信息也可以寫
73、到Spring 的配置文件中,這在一個jdbc.properties文件中是為了方便更改.</p><p> 在com.ssh.resource包中新建下列文件:</p><p> 各文件詳細內(nèi)容及說明如下:</p><p> -------------------------------------------------------------------
74、----------------------------------------------------------------------</p><p> applicationContext.xml:</p><p> <?xml version="1.0" encoding="UTF-8"?></p><p
75、> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</p><p> xmlns:jee="http://www.springframework.org/schema/je
76、e" xmlns:tx="http://www.springframework.org/schema/tx"</p><p> xmlns:context="http://www.springframework.org/schema/context"</p><p> xsi:schemaLocation="http://ww
77、w.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springfra
78、mework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"</p><p
79、> default-lazy-init="true"></p><p> <description>Spring公共配置文件</description></p><p> <!-- 屬性文件讀入 --></p><p> <bean id="propertyConfigure
80、r" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"></p><p> <property name="locations"></p><p><b> <list></b>
81、</p><p> <value>classpath*:com/ssh/config/jdbc.properties</value></p><p><b> </list></b></p><p> </property></p><p><b> &l
82、t;/bean></b></p><p> <!-- 數(shù)據(jù)源配置,主要用于開發(fā)測試環(huán)境 --></p><p> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"></p
83、><p> <property name="driverClassName" value="${jdbc.driverClassName}" /></p><p> <property name="url" value="${jdbc.url}" /></p><p&
84、gt; <property name="username" value="${jdbc.username}" /></p><p> <property name="password" value="${jdbc.password}" /></p><p><b> &l
85、t;/bean></b></p><p> <!-- 數(shù)據(jù)源配置,在生產(chǎn)環(huán)境使用應(yīng)用服務(wù)器的數(shù)據(jù)庫連接池 --></p><p> <!-- <jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/store" />-->&
86、lt;/p><p> <!-- Hibernate配置 --></p><p> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"><!—此處hibern
87、ate 的映射采用的是.xml 配置則應(yīng)設(shè)置為:class=”org.springframework.orm.hibernate3.LocalSessionFactoryBean”--></p><p> <property name="dataSource" ref="dataSource" /></p><p> <p
88、roperty name="hibernateProperties"></p><p><b> <props></b></p><p> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
89、;</p><p> <prop key="hibernate.show_sql">true</prop></p><p> <prop key="hibernate.cache.use_query_cache">true</prop></p><p> <prop
90、key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop></p><p> <prop key="hibernate.cache.provider_configuration_file_resource_path">/ehcache-hibe
91、rnate.xml</prop></p><p><b> </props></b></p><p> </property></p><p> <property name="annotatedClasses"> <!—此處hibernate 的映射采用的是.xm
92、l 配置同則應(yīng)設(shè)置name=”mappingResource”--></p><p><b> <list></b></p><p> <value>com.ssh.model.User</value><!—此處hibernate 的映射采用的是.xml 配置同則應(yīng)設(shè)置<value>具體配置文件名(*.h
93、bm.xml)</value>--></p><p><b> </list></b></p><p> </property></p><p><b> </bean></b></p><p> <!-- 事務(wù)配置 -->&
94、lt;/p><p> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"></p><p> <property name="sessionFactory" ref
95、="sessionFactory" /></p><p><b> </bean></b></p><p><b> <!--</b></p><p> JTA環(huán)境的事務(wù)配置 <bean id="transactionManager" class=
96、"org.springframework.transaction.jta.JtaTransactionManager or</p><p> WebLogicJtaTransactionManager"/></p><p><b> --></b></p><p> <!-- 使用annotation
97、定義事務(wù) --></p><p> <tx:annotation-driven transaction-manager="transactionManager" /></p><p> <!-- 保證POJO中標(biāo)注@Required的屬性被注入 --></p><p> <bean class="
98、;org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor" /></p><p><b> </beans></b></p><p> ------------------------------------------------
99、-----------------------------------------------------------------------------------------</p><p> applicationContext-security.xml:</p><p> <?xml version="1.0" encoding="UTF-8
100、"?></p><p> <beans:beans xmlns="http://www.springframework.org/schema/security"</p><p> xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="
101、;http://www.w3.org/2001/XMLSchema-instance"</p><p> xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd</p><
102、p> http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.xsd"</p><p> default-autowire="byType" default-lazy-init="true&qu
103、ot;></p><p> </beans:beans></p><p> 此文件用于AOP的安全驗證,也可不添加</p><p> ---------------------------------------------------------------------------------------------------------
104、--------------------------------</p><p> applicationContext-service.xml</p><p> <?xml version="1.0" encoding="UTF-8"?></p><p> <beans xmlns="htt
105、p://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"</p><p> xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springf
106、ramework.org/schema/beans/spring-beans-2.5.xsd"</p><p> default-autowire="byType" default-lazy-init="true"></p><p> <bean name="userService" class=&quo
107、t;com.ssh.service.UserService"></bean></p><p> <bean name="/hello" class="com.ssh.action.HelloAction"></bean></p><p><b> </beans></
108、b></p><p> Service(業(yè)務(wù)邏輯類)的注入</p><p> -----------------------------------------------------------------------------------------------------------------------------------------</p><
109、;p> ehcache-hibernate.xml:</p><p><b> <ehcache></b></p><p> <diskStore path="d:\cache" /></p><p> <!-- Object cache --></p><
110、;p> <!-- 特別設(shè)定User類的Cache,內(nèi)存中最多只保存5000個User實例,而且idle 600秒過期</p><p> 而Role類沒有設(shè)置,則使用defaultCache中的默認設(shè)定 --></p><p> <cache name="com.ssh.model.User" maxElementsInMemory=&quo
111、t;4" eternal="false" overflowToDisk="true" timeToIdleSeconds="600" /></p><p> <defaultCache maxElementsInMemory="100000" eternal="true" overflowT
112、oDisk="true" /></p><p> </ehcache></p><p> Hibernate 緩存的配置(可以不做配置,如果需要才使用緩存才做配置,建議配置上)</p><p> ----------------------------------------------------------------
113、-------------------------------------------------------------------------</p><p> 6.4在com.ssh.util.comm 包下添加下列文件</p><p> 此包為hibernate DAO模板中用到的各種工具類,各文件可以在打包的ssh_test項目中找到.</p><p>
114、; 6.5添加hibernate DAO 模板</p><p> 此包為hibernate DAO模板,SimpleHibernateTemplate.java 中包含了對各實體(增,刪,改,查,分頁查等)的泛形方法。各文件可以在打包的ssh_test項目中找到.。</p><p> 6.6以上的工作還不夠,我們還需要進行WEB方面的配置</p><p>
115、配置web.xml , struts-config.xml , action-servlet.xml</p><p><b> 各文件內(nèi)容如下:</b></p><p> -------------------------------------------------------------------------------------------------
116、----------------------------------------</p><p> <?xml version="1.0" encoding="UTF-8"?></p><p> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&
117、quot;</p><p> xmlns="http://java.sun.com/xml/ns/javaee"</p><p> xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"</p><p> xsi:schemaLocation="
118、;http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"</p><p> id="WebApp_ID" version="2.5"></p><p> <!-- Spring start--></p
119、><p> <listener></p><p> <listener-class></p><p> org.springframework.web.context.ContextLoaderListener</p><p> </listener-class></p><p>
120、; </listener></p><p> <context-param></p><p> <param-name>contextConfigLocation</param-name></p><p> <param-value></p><p> classpath:
121、com/ssh/resource/applicationContext*.xml</p><p> </param-value></p><p> </context-param></p><p> <!-- Spring end --></p><p> <!-- Struts Action
122、 Mapping--></p><p><b> <servlet></b></p><p> <servlet-name>action</servlet-name></p><p> <servlet-class></p><p> org.apache.s
123、truts.action.ActionServlet</p><p> </servlet-class></p><p> <init-param></p><p> <param-name>config</param-name></p><p> <param-value>
124、/WEB-INF/struts-config.xml</param-value></p><p> </init-param></p><p> <load-on-startup>1</load-on-startup></p><p> </servlet></p><p>
125、 <servlet-mapping></p><p> <servlet-name>action</servlet-name></p><p> <url-pattern>*.do</url-pattern></p><p> </servlet-mapping></p>&
126、lt;p> <!-- session超時定義,單位為分鐘 --></p><p> <session-config></p><p> <session-timeout>20</session-timeout></p><p> </session-config></p><
127、;p> <welcome-file-list></p><p> <welcome-file>index.jsp</welcome-file></p><p> </welcome-file-list></p><p> </web-app></p><p> ---
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- tekla實例教程
- ida實例教程
- pyrosim實例教程
- photoshop實例教程(ps教程實例)給長
- tfc膜系設(shè)計實例教程
- ug鈑金件實例教程
- photoshop實例教程照片漫畫插畫效果的制作-photoshop實例教程
- word基礎(chǔ)實例教程
- matlab 簡明實例教程
- kisssys入門實例教程
- flash實例教程100例
- c++基礎(chǔ)實例教程
- 曲面擬合實例教程總結(jié)
- html100實例教程
- flash實例教程100例
- 使用myeclipse工具搭建ssh框架
- 拖拖我的家 實例教程
- vb6.0圖文實例教程
- photoshop摳圖實例教程抽出
- photoshop實例教程制作環(huán)保袋
評論
0/150
提交評論