序
1)為什么需要Struts框架
企業(yè)需求,利用Struts框架可以簡化開發(fā)
2)如何學(xué)習(xí)Struts
先學(xué)習(xí)如何使用,有余力再了解一些實(shí)現(xiàn)原理.
1.MVC設(shè)計(jì)思想在JavaWeb開發(fā)當(dāng)中的使用
1)什么是MVC?
是一種設(shè)計(jì)思想,非常優(yōu)秀的設(shè)計(jì)思想.根據(jù)職責(zé)不同將應(yīng)用程序的組件分成三部分.
Model模型:負(fù)責(zé)業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)處理.
View視圖:負(fù)責(zé)顯示和接收用戶輸入.
Controller控制器:協(xié)調(diào)模型和視圖
2)MVC在JavaWeb中的體現(xiàn)
Model:DAO,Entity,Util
View:JSP
Controller:Servlet
示例程序:ShoppingCart,控制器過于復(fù)雜,包含大量的if...else,
不適合大型復(fù)雜程序的開發(fā).
采用XML+Servlet+Action結(jié)構(gòu)改造控制實(shí)現(xiàn)
*3)MVC工作的基本流程
a.客戶端發(fā)請求,請求交給前端控制器處理
b.前端控制器維護(hù)一個(gè)XML配置文件
(XML定義了請求和Action之間的對應(yīng)關(guān)系)
c.前端控制根據(jù)請求調(diào)用相應(yīng)的Action組件,執(zhí)行請求處理
d.Action處理完畢,可以將處理結(jié)果存放到Request
e.控制器調(diào)用相應(yīng)的視圖JSP,進(jìn)行響應(yīng)處理
4)Struts框架封裝了上述主要流程和結(jié)構(gòu)
2.Struts2入門示例 HelloWorld
1)Struts2發(fā)展史
Struts1.2 WebWork-->xwork(命令模式實(shí)現(xiàn)) Struts2
2)入門示例
a.引入框架開發(fā)包(5個(gè)核心包) 2.1.8版本
struts2-core-2.1.8.jar
xwork-core-2.1.6.jar
commons-fileupload-1.2.1.jar
freemarker-2.3.15.jar(模板視圖技術(shù),等價(jià)于JSP功能)
ognl-2.7.3.jar(與EL相似,但是功能強(qiáng)大)
b.在web.xml中添加控制器配置
StrutsPrepareAndExecuteFilter
c.創(chuàng)建Action
創(chuàng)建WelcomeAction類,添加默認(rèn)execute方法
d.添加XML配置,在src下添加struts.xml文件
執(zhí)行流程如下:
welcome.action-->web.xml(filter控制器)-->struts.xml(Action配置)
-->WelcomeAction-->execute-->"success"-->struts.xml(result配置)
3)action配置
a.
*name屬性:包名稱.
*extends屬性:繼承哪個(gè)package,一般情況下繼承自struts-default.
namespace屬性:用于限定action請求名,默認(rèn)值是"/"
當(dāng)namespace="/"時(shí),當(dāng)前package中的所有action對應(yīng)的請求格式:
//localhost:8080/struts2/action請求名.action
如果namespace="/day01"時(shí),action對應(yīng)的請求格式:
//localhost:8080/struts2/day01/action請求名.action
b.
*name屬性:action組件對應(yīng)的請求名
*class屬性:指定action組件的實(shí)現(xiàn)類,包名.類名格式
method屬性:指定要調(diào)用action類中哪個(gè)方法.默認(rèn)值是execute
c.
*name屬性:響應(yīng)視圖標(biāo)識(shí)符,該標(biāo)識(shí)符與action組件方法返回值對應(yīng).
type屬性:指定響應(yīng)視圖類型,默認(rèn)值是dispatcher,請求轉(zhuǎn)發(fā)
![]() | ![]() .. 定價(jià):¥133 優(yōu)惠價(jià):¥133.0 更多書籍 |
![]() | ![]() .. 定價(jià):¥124 優(yōu)惠價(jià):¥124.0 更多書籍 |