国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Struts控制器組件

Struts控制器組件負責接收用戶的請求,更新模型.以及選擇合適的視圖組件返回給客戶端.控制器組件有助于將模型和視圖分離,有了這種分離可以在同一個模型的基礎(chǔ)上得心應(yīng)手的開發(fā)多種模型的視圖.主要是ActionServlet框架中央控制器,RequestProcessor每個子應(yīng)用的模塊處理器,Action負責處理具體的業(yè)務(wù)的組件.Struts采用ActionServlet和RequestProcessor組件進行集中控制,并且采用Action組件來完成具體的業(yè)務(wù)單項處理.控制器組件的控制機制:主要認識是接受用戶請求,根據(jù)用戶的請求調(diào)用合適的模型來執(zhí)行業(yè)務(wù)邏輯,獲取業(yè)務(wù)邏輯的結(jié)果,根據(jù)當前狀態(tài)以及業(yè)務(wù)邏輯執(zhí)行結(jié)果選擇合適的視圖組件返回給客戶端.

ActionServlet類:是Struts框架的核心控制器組件,所有的用戶請求都先由它來處理,然后再由它把請求轉(zhuǎn)發(fā)給其他組件.容器啟動的時候或者用戶首次請求ActionServlet的時候加載ActionServlet類在這兩種情況下,容器都會在ActionServlet被加載后立即執(zhí)行它的init()方法,這可以保證當ActionServlet處理用戶請求的時候已經(jīng)被初始化.至于具體的初始化方法我們不用去管,下面研究一下ActinServlet的process()方法.當主控制器實例接收到Http請求后,在doGet()或者doPost()方法中都會調(diào)用process()方法來處理請求.在這個方法中首先調(diào)用selectModule()方法,這個方法選擇負責處理用于請求的子應(yīng)用模塊.然后把子應(yīng)用模塊相關(guān)的ModuleConfig和MessageResources對象存儲到request范圍內(nèi),這使得框架的其余組件可以方便地從request范圍內(nèi)讀取這些對象.從而獲取應(yīng)用配置信息和消息資源.ActionServlet是可以派生子類的但是感覺沒什么意義了,多數(shù)的功能都被移動到了RequestProcessor類中,以便減輕ActionServlet的負擔.

RequestProcessor類:對于應(yīng)用模塊,每個子應(yīng)用模塊都由各自的RequestProcessor實例.在ActionServlet的process()方法中一旦選擇了正確的子應(yīng)用模塊,就會調(diào)用子應(yīng)用的模塊的RequestProcessor類,每個子應(yīng)用模塊都可以擁有單純的RequestProcessor類.開發(fā)人員可以很方便的創(chuàng)建客戶化的RequestProcessor類.

Action類:是用戶請求和業(yè)務(wù)邏輯之間的橋梁,每個Action充當客戶的一項業(yè)務(wù)代理.在RequestProcessor類預(yù)處理請求的時候.在創(chuàng)建了Action的實例后,就調(diào)用自身的processActionPerForm()方法,該方法調(diào)用Action的execute()方法.為了確保線程安全thread-safe,在一個應(yīng)用的生命周期中.Struts框架只會為每個Action類創(chuàng)建一個Action實例.所有的客戶請求共享同一個Action實例.并且所有的請求線程可以執(zhí)行它的execute方法.Action類的execute()方法返回一個ActionForward對象,代表了Web資源的邏輯對象,這里的Web資源可以是JSP頁面,JAVA servlet或者Action.從execute()方法返回的對象有兩種方法:創(chuàng)建一個動態(tài)的ActionForward實例和在配置文件的action元素里的子元素<forward>元素.在execute()方法只需要調(diào)用mapping實例參數(shù)的findForward()方法,來獲得特定的ActionForward對象.<action>元素的roles屬性是指定這個Action的用戶必須具備的安全角色.多個角色之間以逗號隔開.

利用Token解決重復提交:在某些情況下,如果用戶對同一個HTML表單多次提交,Web應(yīng)用必須能夠判斷用戶的重復提交的行為,以做出相應(yīng)的處理.可以利用同步令牌Token機制來解決Web應(yīng)用重復提交的問題.Struts給出了一個參考實例.Action類中提供了一系列和Token相關(guān)的方法判斷存儲在當前用戶會話中的令牌值和請求參數(shù)中的令牌是否匹配,如果匹配返回true.否則返回false.方法是protected boolean isTokenValid(request).

實用類:RequestUtils類:org.apache.struts.util.RequestUtlis為Struts框架提供了一些處理請求的通用的方法.ModuleUtils類:org.apache.strtus.taglib.ModuleUtils類提供了處理子應(yīng)用應(yīng)用模塊的實用方法.Globals類:org.apache.struts.Globals類提供了一組公共類型的靜態(tài)常量.

控制器組件的核心技術(shù)可以說就是Servlet,控制器也是Struts的靈魂也是MVC模式的核心,所以如果想學好Struts就必須徹底的了解控制器的運行原理.(網(wǎng)友們的支持,是我繼續(xù)寫技術(shù)文章的動力!)

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SSH面試題
mayong--淺析struts 體系結(jié)構(gòu)與工作原理
Struts初步認識
《簡述培訓的流程》
享受JAVA的空氣: Struts學習筆記(二)
Struts,Hibernate,Spring經(jīng)典面試題 - xp1204的專欄 - CS...
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服