亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Struts2模型驅(qū)動(dòng)開發(fā)方法研究

        2018-12-29 10:01:32王先國(guó)何忠禮王玉娟
        關(guān)鍵詞:攔截器

        王先國(guó) 何忠禮 王玉娟

        摘要:本文詳細(xì)展示了基于Struts2的體系結(jié)構(gòu)、模型驅(qū)動(dòng)工作原理、程序交互流程,同時(shí),用一個(gè)完整的實(shí)例再現(xiàn)了程序開發(fā)的每個(gè)環(huán)節(jié)、步驟與規(guī)范,為開發(fā)人員提供了一個(gè)基于Struts2的模型驅(qū)動(dòng)開發(fā)示范。

        關(guān)鍵詞:Struts2;模型驅(qū)動(dòng);攔截器;Action

        引言

        目前,基于Struts2的模型驅(qū)動(dòng)開發(fā)方法十分流行,但很多開發(fā)人員對(duì)其開發(fā)規(guī)范、工作原理、核心攔截器的組成和攔截機(jī)制知之甚少,這就導(dǎo)致開發(fā)效率低,且開發(fā)出的軟件質(zhì)量差?;诖?,本文詳細(xì)描述了Struts2的模型驅(qū)動(dòng)工作原理,通過(guò)實(shí)例演示了基于Struts2的模型驅(qū)動(dòng)的開發(fā)步驟,為開發(fā)人員提供一個(gè)模型驅(qū)動(dòng)的開發(fā)示范。

        一、 Struts2工作原理

        1.Struts2體系結(jié)構(gòu)

        Struts2是一個(gè)標(biāo)準(zhǔn)的MVC框架,它簡(jiǎn)化了Web程序的開發(fā)過(guò)程,并且降低了程序的耦合度。Struts2體系結(jié)構(gòu)如圖1所示。

        StrutsPrepareAndExcuteFilter(Struts2核心控制器):它是Struts2的調(diào)度中心,由它決定是否處理客戶的Action請(qǐng)求。

        Interceptor(攔截器):攔截器是Stuts2 的基石,它是一些無(wú)狀態(tài)的類,攔截器可以自動(dòng)攔截客戶發(fā)送的Action請(qǐng)求。客戶的所有Action請(qǐng)求,在到達(dá)Action之前,首先要執(zhí)行一序列攔截器,在圖1中,客戶的Action請(qǐng)求到達(dá)Action以前,先要執(zhí)行攔截器1、攔截器2、攔截器3。

        Action(控制器):在圖1中,客戶的請(qǐng)求經(jīng)過(guò)攔截器1、攔截器2、攔截器3后,才到達(dá)Action控制器。Action是程序員編寫的控制器,用來(lái)處理客戶的Action請(qǐng)求。

        Resul(結(jié)果)t:Action控制器執(zhí)行完后,返回一個(gè)字符串,這個(gè)字符串就是邏輯視圖。Result根據(jù)邏輯視圖的值,去調(diào)用相應(yīng)的物理視圖。Struts2中支持多種視圖類型,比如Java Server Pages(JSP)、FreeMarker等[1]。

        2.Struts2執(zhí)行流程

        Struts2的模型驅(qū)動(dòng)工作流程如圖2所示。

        客戶端向Struts2控制器發(fā)送一個(gè)Action請(qǐng)求,比如,表單提交;Struts2控制器調(diào)用屬性攔截器(params),屬性攔截器獲取表單請(qǐng)求參數(shù),并將表單參數(shù)封裝為Model(一個(gè)普通的Bean);當(dāng)執(zhí)行流程到達(dá)Action時(shí),Struts2控制器調(diào)用模型攔截器(ModelDriven),模型攔截器獲取模型對(duì)象,并將模型對(duì)象壓入值棧的棧頂;Struts2控制器根據(jù)Action執(zhí)行后返回的結(jié)果值(邏輯視圖),調(diào)用相應(yīng)的JSP頁(yè)面;JSP頁(yè)面將結(jié)果返回(response)給客戶[2]。

        二、模型驅(qū)動(dòng)開發(fā)示范

        1.定義模型

        這里的模型就是一個(gè)普通的Bean(People對(duì)象),在模型中必須定義setter和getter方法。下面是People類的源代碼:

        package wang;

        public class People{

        String name;//本類中的屬性名必須與表單中的屬性name的值一致

        int age; //本類中的屬性名必須與表單中的屬性name的值一致

        public String getName() {

        return name;

        }

        public void setName(String name) {

        this.name = name;

        }

        public int getAge() {

        return age;

        }

        public void setAge(int age) {

        this.age = age;

        }

        }

        2.定義Action

        使用模型驅(qū)動(dòng)時(shí),繼承ActionSupport類或者實(shí)現(xiàn)接口Action時(shí),必須實(shí)現(xiàn)模型驅(qū)動(dòng)接口ModelDriven。在控制器中,必須重寫execute()方法和getModel()方法[3]。下面是PeopleAction的源代碼。

        package wang.action;

        import wang.People;

        import com.opensymphony.xwork2.ActionSupport;

        import com.opensymphony.xwork2.ModelDriven;

        public class PeopleAction extends ActionSupport implements ModelDriven {

        People people = new People();//必須初始化

        public String execute() throws Exception {

        return SUCCESS; //此方法必須重寫

        }

        public Object getModel() { //此方法必須重寫

        return people;

        }

        }

        3.建立請(qǐng)求Action的表單

        建立一個(gè)向Action提交請(qǐng)求的表單頁(yè)面,下面是請(qǐng)求頁(yè)面(addPeople.jsp)的源代碼。

        <%@ taglib prefix="s" uri="/struts-tags" %>

        猜你喜歡
        攔截器
        多動(dòng)能攔截器協(xié)同制導(dǎo)規(guī)律的研究及仿真
        英國(guó)MARSS公司推出新型反無(wú)人機(jī)攔截器
        以色列“天鎖”公司展出新式反無(wú)人機(jī)攔截器
        輕兵器(2022年5期)2022-05-19 00:56:24
        有限過(guò)載的三維現(xiàn)實(shí)真比例導(dǎo)引的捕獲區(qū)域
        一種新的彈道導(dǎo)彈機(jī)動(dòng)突防策略研究
        多星博弈攔截Nash和Pareto策略研究*
        航天控制(2019年4期)2019-09-19 10:05:10
        主輔攔截器協(xié)同制導(dǎo)方法研究
        上海航天(2018年3期)2018-06-25 02:57:18
        美國(guó)《洛杉磯時(shí)報(bào)》美國(guó)反導(dǎo)系統(tǒng)有缺陷,五角大樓認(rèn)為無(wú)需解決
        美國(guó)導(dǎo)彈防御多目標(biāo)攔截器的發(fā)展
        基于虛擬目標(biāo)的KKV逆軌攔截導(dǎo)引方法
        国产免费一级在线观看| 国产色系视频在线观看| 国产三级精品三级在线观看| 国产天堂网站麻豆| 国产精品麻豆A在线播放| av免费在线国语对白| 亚洲日韩精品一区二区三区无码 | 国产高清精品自在线看| 日本一区二区高清视频| 日本视频二区在线观看| av一区二区三区人妻少妇 | 久草视频在线这里只有精品| 亚洲丰满熟女乱一区二区三区| 国产欧美一区二区精品久久久| 午夜无码片在线观看影院| 中文国产成人精品久久一区| 性感美女脱内裤无遮挡| 无码区a∨视频体验区30秒| 亚洲日韩欧美国产高清αv| 国产一区二区三区视频大全| 久草福利国产精品资源| 国产女人水真多18毛片18精品| 国产亚洲精品看片在线观看| 中文字幕中文字幕人妻黑丝| 草草影院ccyy国产日本欧美| 欧美大屁股xxxxhd黑色 | 日韩一区二区,亚洲一区二区视频 国产一区二区三区经典 | 国产麻豆剧传媒精品国产av| 色偷偷亚洲第一成人综合网址| 国产精品国产三级农村妇女| 中文字幕人妻少妇久久| 国产亚洲aⅴ在线电影| 国产精品jizz在线观看老狼| 国产成年无码AⅤ片日日爱| 国产不卡在线观看视频| 无码中文字幕免费一区二区三区| 亚洲天堂资源网| 日韩人妻大奶子生活片| 色一情一乱一伦麻豆| 无遮挡亲胸捏胸免费视频| 自拍视频在线观看成人|