国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
使用MyEclipse部署SSH框架
userphoto

2009.08.13

關注

我用的是MeEclipse6.6,如果是不同版本的話,導入的Sturts或其他包的時候有一些不同。

1 打開MyEcclipse,建立一個web Project。

2 在工程名下點右鍵MyEclipse-->Add Sturts;添加完成后在WEB-INF文件夾下會多出一個struts-config.xml文件。知道操作Struts的人一定不會對它陌生。

3. 繼續(xù)添加Spring, 同樣是在工程下右鍵MyEclipse——>Add Spring... (哎呀!現(xiàn)在還不曉得怎么在這里貼圖片,以后研究好了再找機會補上吧)。配這個的時候有些麻煩,User Libraries要勾上,下面的框框里面的最前面四個要勾上,還有一個J2EE的,Web的,和最后面Hibernate的3個要勾上。大家要看清楚了啊,一共要勾上9個勾。然后選擇Copy ... 的那個單選按鈕。點Next,把applicationContext.xml放在工程的web-inf文件夾下面。然后Finish。Spring也就添加完成了。

4 添加Hibernate,這個最麻煩不過了。在添加Hibernate之前,首先要在MyEclipse里面配置數(shù)據(jù)庫。點擊MyEclipse右上角的MyEclipse DataBase ... 新建一個數(shù)據(jù)庫連接,選好數(shù)據(jù)庫種類(我用的是MySQL),配好地址和數(shù)據(jù)庫名字,添上登陸名和密碼,加上Jar包,才能算是配好。這是屬于 Hibernate里面應該講的東西,這里就不多說了。同樣MyEclipse --> Hibernate... 該勾的全都勾上,Next, 這里注意要選擇Spring configuration file。Next,選擇Exsting Spring configuration, 在SessionFactory Id里寫上 sf (這是我的習慣,你可以改成別的,只要到時候出現(xiàn)的時候你認得就行).Next,在BeanId里填Bean(同樣是我的習慣),在下面選擇你配好的數(shù)據(jù)庫。Next,去掉Create SessionFactory勾,就不用寫什么東西了,F(xiàn)inish。

5 注意了!??!, 添加Spring一定要在添加Hibernate之前,Struts可以在任何順序下添加。

MyEclipse的工作做完后,我們自己也要做一些工作。他畢竟不是全能。

(1)我們要手動添加commons-collections.jar commons-pool.jar,還要手動刪除asm-2.2.3.jar包。寫完這篇Blog之后我會上傳一個實例到CSDN的下載里面,需要添加的包可以在那里面找到。至于為什么要添包刪包,老師給過我們解釋,我只是模糊記得好像是在用到某個方法的時候會報錯。畢竟三種框架在整合的時候肯定是需要一些改動的,而且在MyEclipse6.0版本是不能同時使用SSH框架的,包會相沖突的。還好在MyEclipse6.0.1以后的版本改過來了。

(2)在web.xml文件里面添加

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/applicationContext.xml</param-value>

</context-param>

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

(3)在struts-config.xml里面添加

<plug-in className=”org.springframework.web.struts.ContextLoaderPlugIn”>

<set-property property=”contextConfigLocation” value=”/WEB-INF/bean.xml” />

</plug-in>

6 現(xiàn)在為止,只是基本的包和配置文件弄好了而已。其實也可以說是完成了大部分,SSH三個框架的所有功能都可以在這個工程下面使用了。是不是很爽!

7 然后開始建包吧。這里的包是指在src下面建立的類包的名字。每個人做項目可能會有不同的建包習慣,老師給過我們一種‘習慣’,個人覺得龐大了一點,雖然分工很明確,邏輯性很強,可移植性也很好,但是操作起來太麻煩。我只給我自己做項目時習慣建的包吧。

hbm(hibernate數(shù)據(jù)庫方向工程時導入的地方),

iface(接口類放的地方),

impl(實現(xiàn)類放的地方),

servlet(雖然有Struts的Action,但是有時候還是可以用到自己寫的Servelt的)

struts,struts.action,struts.form(Struts自己生成的包)

page(寫分頁類的地方)

還有其他包就看各自的需求了。

8 開始正式寫代碼。這個工作就不能由我提大家完成了。

!?。懘a時候要特別注意的地方:

(1)在Struts的配置文件struts-config.xml里,每添加一個Action都要把type修改為org.springframework.web.struts.DelegatingActionProxy

(2)每一個Action都要在Spring的配置文件applicationContext.xml對應有一個Bean。

Bean的名字不能用Id,要用name屬性代替而且值必須是Action的路徑,一定要加上斜杠。例如name=”/myAction”.

這兩點要多看幾變,剛開始熟悉SSH框架的時候經(jīng)常會忘記這一步(我就是這樣)。

(3)在涉及關系表的查詢的時候(都用到SSH框架了,怎么可能沒有多表查詢)還要一些優(yōu)化。

在通過某個表查找另外一個表的時候,Hibernate不會查找出來。我們可以通過修改Hibernate某個表的延遲加載去掉,Lazy=”false”;這樣Hibernate就可以查到了。但是如果有很多級關聯(lián)的表,它也會一并查出來,不管你有沒有用到。這樣的性能會很低下,這是最簡單的方法,也是老師最抵制的一種方法。Spring有一個類可以使Hibernate的多表查詢變得更優(yōu)化。當你需要查到某個表時它就幫你查出來,否則它就不查(難道這就是傳說中的人工智能?。。。>唧w做法:

1)在web.xml里面加上

<filter>

<filter-name>hibernateFilter</filter-name>

<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>hibernateFilter</filter-name>

<url-pattern>*.do</url-pattern>

</filter-mapping>

2)不需要開始在Struts配置文件struts-config.xml里的那段了,刪了它

xx<plug-in className=”org.springframework.web.struts.ContextLoaderPlugIn”>

xx <set-property property=”contextConfigLocation” value=”/WEB-INF/bean.xml” />

xx</plug-in>

3)在Spring的配置文件applicationContext.xml里面添加事物注

開頭的地方添加

xmlns=”http://www.springframework.org/schema/beans

xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance

xmlns:aop=”http://www.springframework.org/schema/aop

xmlns:tx=”http://www.springframework.org/schema/tx

xsi:schemaLocation=”http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd”>

再在后面添加

<bean id=”txManager” class=”org.springframework.orm.hibernate3.HibernateTransactionManager”>

<property name=”sessionFactory” ref=”sessionFactory”></property>

</bean>

<tx:annotation-driven transaction-manager=”txManager”/>

這樣就可以查找了,但添加的時候會報錯。

要在所有的增加、刪除、修改的方法里面加上@Transactional(readOnly=false)

如果有父類,那么就在父類BaseImpl的增加、刪除、修改的方法里面加上@Transactional(readOnly=false)

呼~,終于完工了。希望沒有遺漏什么東西。這是我第一篇技術文章,如果有什么錯誤希望能有所指正。如果對各位有幫助,也希望大家多多鼓勵。

我會上傳一個SSH框架的HelloWorld的例子。如果有什么不明白的地方可以在CSDN上下載了參考。

PS. 例子已經(jīng)上傳到http://download.csdn.net/source/1176598

注意:這個里面只有代碼,沒有jar包。整個例子有三十多M,csdn只能上傳15M的東西,所以我把lib文件夾的.jar包全部刪了再傳上去的。需要添加的commons-collections.jar和 commons-pool.jar包我也打包在一起了。數(shù)據(jù)庫的文件也在。是從MySQL導出來的.sql文件。大家可以自己導入自己的數(shù)據(jù)庫。如果是不同的數(shù)據(jù)庫,代碼和需要需要導入的JDBC驅動包有所不同。

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Joan's javaworld - Struts2+Spring2.5+Hibernat...
support
ssh2 最簡 crud tutorial
SSH整合(struts2.2.1 + spring3.0 + hibernate3.3)
Struts2+Spring+Hibernate
struts2.2.+spring2.5+hibernate3.2實踐整合成功
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服