幾個(gè)概念:
Domain Model 領(lǐng)域模型-->對(duì)象模型(核心)
DDD(領(lǐng)域驅(qū)動(dòng)設(shè)計(jì))
Pattern 代碼級(jí) 架構(gòu)級(jí) 分析(RBAC 基于角色的管理)
Framework 框架——基礎(chǔ)性的設(shè)施
多層架構(gòu)概述
C/S:以數(shù)據(jù)庫為中心
B/S:多層架構(gòu)才是真正的目的,業(yè)務(wù)運(yùn)算、數(shù)據(jù)庫等功能
完全分離,杜絕彼此的耦合與影響,從而實(shí)現(xiàn)耦合和良好的可維護(hù)性。
復(fù)習(xí):C/S,B/S的優(yōu)缺點(diǎn):
C/S 優(yōu)點(diǎn):
1.C/S架構(gòu)的界面和操作可以很豐富。
2.安全性能可以很容易保證,實(shí)現(xiàn)多層認(rèn)證也不難。
3.由于只有一層交互,因此響應(yīng)速度較快。
C/S 缺點(diǎn):
1.適用面窄,通常用于局域網(wǎng)中。
2.用戶群固定。由于程序需要安裝才可使用,因此不適合面向一些不可知的用戶。
3.維護(hù)成本高,發(fā)生一次升級(jí),則所有客戶端的程序都需要改變。
B/S 優(yōu)點(diǎn):
1)客戶端無需安裝,有Web瀏覽器即可。
2)BS架構(gòu)可以直接放在廣域網(wǎng)上,通過一定的權(quán)限控制實(shí)現(xiàn)多客戶訪問的目的,交互性較強(qiáng)。
3)BS架構(gòu)無需升級(jí)多個(gè)客戶端,升級(jí)服務(wù)器即可。
B/S 缺點(diǎn):
1)在跨瀏覽器上,BS架構(gòu)不盡如人意。
2) BS架構(gòu)的表現(xiàn)要達(dá)到CS程序的程度需要花費(fèi)不少精力。
3)在速度和安全性上需要花費(fèi)巨大的設(shè)計(jì)成本,這是BS架構(gòu)的最大問題。
4)客戶端服務(wù)器端的交互是請(qǐng)求-響應(yīng)模式,通常需要刷新頁面,這并不是客戶樂意去做的。(在Ajax實(shí)用化后此問題得到了一定程度的緩解)
SSH分別所處的位置:
呈現(xiàn)層(UI Layer/Presentation Layer) struts
業(yè)務(wù)邏輯層(Business Layer) spring
持久化層(Persistent Layer) hibernate
具體如下圖:
關(guān)于MVC:
平常寫Web(tomcat + Jsp + servlet)時(shí)的一個(gè)很普通的例子:
MVC1 & MVC2的區(qū)別:
mvc1:jsp職責(zé):顯示,參數(shù)獲取, 模型層的調(diào)用, 轉(zhuǎn)向(小型項(xiàng)目)
mvc2:從jsp抽取出控制器(servlet)
mvc實(shí)現(xiàn)原理:
通過一個(gè)類來統(tǒng)一截獲所有請(qǐng)求
分為兩種:
面向請(qǐng)求驅(qū)動(dòng)——struts1.x,struts2.x webwork
面向事件驅(qū)動(dòng)—— JSF
面向請(qǐng)求驅(qū)動(dòng)原理:
Struts 的MVC實(shí)現(xiàn):
1. 制定母本,key-E
例:文件名:app.txt
內(nèi)容:name=name
submit=password
2. 將母本轉(zhuǎn)為Unicode碼
將文件app.txt拷貝到jdk的安裝目錄下的bin文件夾內(nèi)
例:路徑:C:"Program Files"Java"jdk1.5.0_06"bin
開始----運(yùn)行------cmd ------- cd C:"Program Files"Java"jdk1.5.0_06"bin
打命令:native2ascii -encoding GB2312 app.txt app.properties
注釋:GB2312 是生成后的字符集,app.txt是目標(biāo)文件,app.properties是生成后的文件名
將生成的屬性文件app.properties復(fù)制到res
3. 在res下的txt包下制定副本key-zh.txt
name=姓名
submit=提交
以native2ascii -encoding GB2312 app_zh.txt app_zh.properties的方式生成app_zh.properties文件,并復(fù)制到res下,此時(shí)中文被轉(zhuǎn)碼成Unicode碼:
name=\u59d3\u540d
submit=\u63d0\u4ea4
以同樣的方式制定 key-en.txt(等等等)副本
4.將res文件夾編譯到classes
5.配置struts-config.xml文件
6.重啟tomcat,配置成功
測試:切換瀏覽器默認(rèn)語言(右鍵瀏覽器圖標(biāo)---- 語言 -----)