ssi的框架主要是由struts2,spring以及ibatis組成,他們負(fù)責(zé)各層之間的交互與協(xié)作,從而實現(xiàn)整個web端的功能實現(xiàn)與整合。Struts目前主要負(fù)責(zé)數(shù)據(jù)傳遞和控制方面,spring則依靠其強大的依賴注入技術(shù)實現(xiàn)了類似bean托管和整合等功能,當(dāng)然這只是spring功能中的冰山一角,而ibatis作為一種輕量級的OR Mapping框架,提供了半自動化對象關(guān)系映射的實現(xiàn),自由度相對于hibernate更高。
框架結(jié)構(gòu):
這是我在網(wǎng)上找到的一張關(guān)于ssi框架的結(jié)構(gòu)圖,個人感覺畫的還是蠻不錯的,對于入門者來說,層次機構(gòu)很清晰,比較實用(感謝這位大大的分享):
在這里可以很明顯的看出ssi框架的大體結(jié)構(gòu)以及各層之間的交互情況,頂層表現(xiàn)層的話,就java而言主要是jsp,html等視圖層技術(shù)的編寫,其中涉及我們熟悉的javascript,jquery以及extjs等。在控制層來說的話,主要是利用strust2標(biāo)簽功能實現(xiàn)action與視圖層的數(shù)據(jù)交互,當(dāng)然也可以使用ajax的技術(shù)實現(xiàn)同樣的功能,這個就按個人喜好而來了。在業(yè)務(wù)邏輯層。主要是利用spring的依賴注入實現(xiàn)對業(yè)務(wù)邏輯類和dao類的實例托管,當(dāng)然各類的實例都可以托管在spring中進行統(tǒng)一管理和關(guān)聯(lián),包括事務(wù),數(shù)據(jù)源等等。在持久層,利用ibatis提供的半自動化對象關(guān)系映射的實現(xiàn),開發(fā)人員可以根據(jù)需要編寫具體的sql語句,通過相應(yīng)的xml的配置實現(xiàn)對數(shù)據(jù)庫的操作。
總之,SSI框架能夠降低我們代碼的耦合度,增強了代碼的健壯性和可重用性,加快了開發(fā)速度,但是也有一些不足之處,比如由于三種框架的配置文件較多,也給我們帶來了一些不便,特別是對于較小的應(yīng)用來說更是如此
SSI框架快速搭建
1、在Package Explore中右鍵new選中web Project
2、輸入項目名稱點擊finish
3、導(dǎo)入struts2
(1):
(2):選擇Struts2.1然后選擇/*點擊next
(3):默認(rèn),點擊finish,導(dǎo)入完成
2、添加Spring支持
(1)右鍵項目,選擇Add Spring Capabilities
(2)、勾選jar包,并選中JAR Library Installation中的第二項,點擊next
(3)、修改Folder為WebRoot/WEB-INF點擊finish完成Spring引入
3、開始配置ibatis
(1)、在applicationContext.xml文件中添加配置文件
(2)、在src下新建路徑org.wwy.utils添加sqlMapping.properties文件
jdbc.url=jdbc\:mysql\://localhost\:3307/MyBatis
jdbc.username=root
jdbc.password=wwy520223
(3)、在org.wwy.utils下添加sqlMapConfig.xml文件
(4)、在src下新建包org.wwy.PO編寫java實體類
package org.wwy.PO;
public class User {
private Long id;
private String name;
private String pwd;
private Long age;
private Long sex;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public Long getAge() {
return age;
}
public void setAge(Long age) {
this.age = age;
}
public Long getSex() {
return sex;
}
public void setSex(Long sex) {
this.sex = sex;
}
}
(5)、在org.wwy.PO下添加User.xml映射文件
4、在web.xml中添加spring監(jiān)聽
完成SSI框架搭建
5、啟動tomcat測試SSI框架,報錯:
Caused by: java.lang.ClassNotFoundException: com.ibatis.common.xml.NodeletException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1324)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1177)
。.. 33 more
6、下載ibatis的jar包復(fù)制到WEB-INF/lib目錄下,再從buildpath導(dǎo)入一下,重新測試OK
評論
查看更多