這里是用SSH+MYSQL做的
首先在mysql建立表user 字段有3個 id(int) 、username(varchar) 、password(varchar)其中id為主鍵。
新建web工程
切換到數據庫透視圖,在空白區域右鍵并選擇new,如下圖(我這里是已經建立好了好幾個數據庫連接了)
在第一個Driver template 里面選擇mysql的那個
其他配置信息自己填寫
有個ADD jars 選擇mysql的數據庫驅動包,點finish就可以了
右鍵你剛剛配置好的連接,選擇open connection 可以打開連接,若未成功請根據錯誤仔細檢查配置。
切換回j2ee透視圖
右鍵你的工程,選擇MyEclipse->add Struts capabilities…如圖:
Struts用的版本是1.1,在Base package for new classess:里輸入資源配置文件的路徑.然后點進擊Finish按鈕
加入spring包,右鍵工程選擇MyEclipse->add Spring capabilities...如圖:
Spring版本我用2.0,注意所選jar包里面還有最后一個看到不的spring 2.0 web Labraries要選擇中,在JAR Library Insatallation 里選擇Library存放的路徑,路徑選擇圖上的這個為佳,然后點擊Next。
上圖是Spring的配置文件存放徑。點擊Finish。之后會遇到有相同的library提示,選擇keep existing。
把Hibernate相關的jar包等加載進來 MyEclipse->add Hibernate capabilities...如圖:
我用的是3.0 ,點擊Next。
上面所示為Hibernate用的是Spring 的配置文件,因和Spring結合在一起,所以不用Hibernate.cfg.xml,選擇第2個applicationContext.xml,點擊Next
為SessionFactory ID取名:sessionFactory點擊Next。
Bean ID 輸入dataSource ,DB Driver 選擇你剛剛配置的,點擊next
這里我們把勾勾掉,我們不需要創建這個,點擊Finish就可以了。
在web.xml文件里面把spring的配置文件加載進來, 要注意spring配置文件的放置路徑
再把struts標簽加進來,這里要注意路徑了,在jsp頁面上使用的時候也要注意路徑
在工程下建立一些包備用,如下圖:
然后打開MyEclipse Database Explorer(數據庫透視圖),打開剛才連接的數據庫,用鼠標右擊user表,選擇Hibernate Reverse Engineering,打開一對話框如下:
要注意最上面src和package的選擇,點擊next。
選擇increment即可,finish完成。
找到剛生成的hbm.xml把catalog刪除掉,否則會報錯(oracle數據庫不要刪除)
找到struts的配置文件,選擇design視圖,右鍵選擇new —>formbean action and jsp:
選擇NEXT
我用的Superclass 是第2個DispatchAction,個人比較喜歡它,最下面的Parameter輸入status(這個隨你數入什么,一會要對應到就行),點擊finish完成。
接下來我們來寫dao借口,在dao包下新建interface,代碼如下:
在dao包下的impl包下新建類實現這個接口
注意這里要繼承HibernateDaoSupport和實現剛剛的接口。
在service包下創建接口IUserService,里面的方法和dao的一樣,復制過來
在service包下的impl建立類實現這個接口,并且將IUserDao接口作為它的一個屬性(要有setter、getter方法),這里是通過配置文件將它注入進來,一會spring配置文件就會體現出來,代碼如下。
打開struts的配置文件,在 </action-mappings>下加入
<controller
processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
</controller>
并在action里面加入forward元素
這個配置文件完成,如下:
在webroot下建立test.jsp success.jsp fail.jsp
success.jsp在body加入
<h1>
struts+spring+hibernate練習
</h1>
<br />
<h2>
恭喜,插入用戶成功!!!
</h2>
就可以,而fail.jsp把 “恭喜,插入用戶成功!!!”改成“對不起,插入失敗??!”。
test.jsp的代碼:
打開類
private String username;
private String password;
打開UserAction類,將service接口做為它的一個屬性,并生成getter和setter方法。
屬性是 private IUserService iuserservice;
代碼如下:
下面我們來配置spring
運行工程測試,注意有些錯誤是jar包引起的,所以要加入LOG4J 文件,方便看到錯誤好方便去網上找到答案。
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
這個錯誤是asm-2.23.jar導致的(刪除),lib下只需要一個asm.jar,多個會沖突
我少了這個commons-pool.jar 包報創建sessionFactory出錯,加上去就好了
在輸入框里面輸入 ding/123
提示成功,一看數據庫也有數據了
OK啦