日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对struts一点理解总结

發布時間:2024/9/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对struts一点理解总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Struts controller基本功能是
1. 截獲用戶的Http請求
2. 把這個請求映射到一個定義好的業務操作上
3. 獲取業務操作結果,提供給客戶端
4. 決定下一步應該顯示哪一個頁面
有幾個部分共同組成了Struts 的Controller,用戶的請求發送到ActionServlet中,ActionServlet調用RequestProssor開始處理用戶請求的流程,在這個流程中,會查找ApplicationConfig,得到用戶請求對應的Action,調用相應的Action來具體執行用戶的請求,最后返回ActionForward,轉向相應的流程。
================
org.apache.struts.action.ActionServlet 是Struts Controller中最主要的部分,所有用戶請求都會被發送到這里,所有的其它處理也必須從這里經過。ActionServlet是從HttpServlet中繼承過來的。
當ActionServlet接收到HTTP request的時候,不管是doGet()或者doPost()方法,都會調用process()方法。
protected void process(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException { RequestUtils.selectApplication( request, getServletContext() ); getApplicationConfig(request).getProcessor().process( request, response );}
一般情況下,我們不需要自己實現或者修改ActionServlet類,僅僅使用就可以了。某些情況下,我們可以自己擴展ActionServlet類,從ActionServlet繼承,實現自己的MyActionServlet類。覆蓋其中的一些方法來達到你的特殊處理的需要。ActionServlet繼承自Javax.servlet.http.HttpServlet,所以在本質上它和一個普通的servlet沒有區別,你完全可以把它當做一個servlet來看待,只是在其中完成的功能不同罷了。
================
RequestProssor具體處理用戶的request,作為一個request handler存在。同樣,處理request的時候,會執行RequestProcessor類中的process(execute)方法。
process中調用的方法都是可以重載的, 如果有需要,可以實現為自己特定的方法。比如,對于Locale問題,通常都是在系統最一開始加載的時候讀取的,如果用戶想在任何時刻都可以切換或者選擇自己的Locale,我們就可以重載processLocale()方法。然后只需要在配置文件中加入段就可以了
================
Action類是實現整個體系的核心部分,它在客戶請求、界面表示和業務邏輯之間起到一個橋梁的作用。每一個Action都用來處理某一項任務,或者進行一個業務操作。當然了,我們說一項任務不是說Action只實現一個業務操作方法,而是集中實現某一個功能單元。比如登錄用的LogonAction、查找用的SearchAction等等。Action是在RequestProcessor中,由processActionPerform方法調用的
非常重要的一點:不要在Action中包含任何業務邏輯操作,而是應該調用一個Model層的JavaBean來實現你的業務邏輯操作。在某些情況下,可能包含少許表現邏輯。這樣,就可以充分進行代碼重用,比如上例中調用的IStorefrontService接口,這個接口在實現時完全可以不用考慮客戶端的事情,所以它可以被其它部分或者其它系統所使用。否則的話,Action會變得非常難于理解,難于維護,代碼也不能重用。
struts-example工程的設計就是一個bug,它把業務邏輯封裝到了Action類中
===================
在Action的execute方法中,返回一個ActionForward類。ActionForward把配置文件中forward部分的信息包裝起來,減少了應用程序和物理資源信息之間的耦合性。通過ActionMapping類,可以在配置文件中查找相應的forward信息。例如,對于一個LoginAction,它的配置信息可能是這樣的:
返回的ActionForward就會包含段中的信息。在ActionMapping類的findForward方法中,首先會根據查找forward的name查找是否有相應的forward段,如果沒有,則在配置文件中的段中進行查找,如果還沒有就會拋出一個例外。
=====================
以前,頁面上的輸入數據都通過HTTP request提交,服務方檢索出輸入的數據,進行驗證,然后將這些數據傳遞給其它組件進行業務處理。一切基本都需要手工編寫代碼進行操作,比較麻煩,也使代碼變得復雜。
ActionForm[org.apache.struts.action.ActionForm]用來收集用戶的輸入,并且把這些信息傳遞給Action對象,然后,在Action對象中,ActionForm中的數據被取出來傳遞給業務邏輯層進行處理。
ActionForm一方面作為一個緩沖區,臨時存儲用戶輸入的數據;另一方面,可以把ActionForm當成是HTTP和Action之間的一個防火墻,它可以驗證輸入數據的正確性,如果驗證不通過,這個request是不會發送給Action進行處理的。
ActionForm可以有兩種Scope,request或者session。request就是只能在rquest到response,之后ActionForm就不可見了;session可以保存時間長一點。
==================
在ActionForm的Validate方法中返回的是ActionErrors對象。這個對象可以將錯誤信息都封裝起來,并且自動把它們顯示給用戶。
在相應JSP頁面上添加,可以自動將ActionErrors中的錯誤信息顯示出來。包括,每一個具體的,通過add添加的錯誤信息,和一個ErrorHeader和一個ErrorFooter,這些都可以通過配置文件指定,并且可以包含HTML語法。
==========================
Struts提供了四種自定義Tag庫:
bean:struts-bean taglib包含在訪問bean和bean屬性時使用的tag,也包含一些消息顯示的tag。
html:struts-html taglib包含用來創建struts輸入表單的tag,和其它通常用來創建基于HTML用戶界面的tag。
logic:struts-logic taglib包含的tag用來管理根據條件生成輸出文本,和其它一些用來控制的信息。
template:struts-template taglib包含的tag用來定義模板機制。

總結

以上是生活随笔為你收集整理的对struts一点理解总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩欧美激情视频 | 99re视频在线 | 日韩亚洲国产精品 | 国产欧美日韩成人 | 91九色成人 | 献给魔王伊伏洛基亚吧动漫在线观看 | 久久久久亚洲av无码网站 | 玩弄人妻少妇500系列 | 国产日韩精品suv | 欧美久操| 国产午夜福利片 | 欧美伊人网 | 久久偷看各类女兵18女厕嘘嘘 | 亚洲一区二区自偷自拍 | 超碰导航 | 成人高清免费 | fc2ppv在线观看 | 国产av日韩一区二区三区精品 | 最近免费高清mv | 姝姝窝人体www聚色窝 | 让男按摩师摸好爽 | 三级视频网 | 日本a视频 | 国产69精品久久久久777 | 永久免费在线视频 | 射一射 | 欧洲亚洲一区二区 | 高清视频一区 | 青青视频在线播放 | 三级一区二区 | 久久国产露脸精品国产 | a视频在线免费观看 | 麻豆黄色片 | 久久在现 | 国产经典一区二区三区 | 免费中文字幕日韩 | 欧美性猛交xxxx乱大交hd | 欧美日韩在线视频观看 | 亚洲免费在线视频 | 在线观看欧美精品 | 日本在线视频免费 | 国产黄片毛片 | 国产精品久久一区二区三区动 | 淫辱的世界(调教sm)by | 欧美午夜精品久久久 | 妺妺窝人体色www在线下载 | 日日骚一区 | 婷婷久久五月 | 国产视频福利在线 | 亚洲天堂av网 | 久久黄色片 | 成人午夜免费毛片 | 涩涩网站入口 | 嫩草午夜少妇在线影视 | 少妇xxxx| 成人av影院 | 激情男女视频 | 自拍三级视频 | 久久久噜噜噜久久中文字幕色伊伊 | 51福利视频 | 国产精品最新 | 免费观看黄色 | 不卡二区 | 日韩有码在线观看 | 精品乱子伦一区二区三区 | 激情啪啪网 | 精品视频一区二区三区四区五区 | 青青草午夜 | 国产一区二区三区视频免费在线观看 | 日日躁夜夜躁狠狠久久av | 巨茎大战刘亦菲 | 欧美日韩黄色大片 | 反差在线观看免费版全集完整版 | 一级黄色a级片 | 成人www视频 | 国产成人99 | 久久电影一区 | 视频一区二区视频 | 国产女人18毛片水真多 | 丰满熟妇人妻中文字幕 | 小毛片| 亚洲综合婷婷久久 | 免费观看毛片视频 | 狠狠干快播 | 精品无码久久久久久国产 | 在线电影一区二区三区 | 极品尤物魔鬼身材啪啪仙踪林 | 欧美成人国产精品一区二区 | 久操资源网 | 中文字幕999 | 浪漫樱花动漫在线观看免费 | 男生和女生一起搞鸡 | 日韩人妻无码一区二区三区 | av在线大全 | 一个人看的www日本高清视频 | 国产女主播在线观看 | 亚洲精品视频免费看 | 精品久久久久久久久中文字幕 | 国产美女福利视频 |