一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

享受JAVA的空氣: Struts學(xué)習(xí)筆記(二)

 小嘯笑 2007-07-24

Struts學(xué)習(xí)筆記(二)

  整理了一些Struts入門的一些知識(shí),我個(gè)人認(rèn)為是比較重要和實(shí)用的,整理的還不夠全,在以后對(duì)Struts
的深入學(xué)習(xí)過程中,我會(huì)逐步的將它完善,希望對(duì)熱愛Struts框架的朋友能有一點(diǎn)幫助enjoying^_^
 

Java API 中有以下幾個(gè)比較重要的類

他們決定了Web應(yīng)用的請(qǐng)求/響應(yīng)方式各種共享數(shù)據(jù)的存放地點(diǎn):

 HttpServletRequest:封裝用戶的Http請(qǐng)求,課存放request范圍內(nèi)的共享數(shù)據(jù)

 HttpServletResponse:用于生成Http響應(yīng)結(jié)構(gòu)

 HttpSessionServlet容器為每個(gè)HTTP會(huì)話創(chuàng)建一個(gè)HttpSession實(shí)例,可以存放session范圍的共享數(shù)據(jù)

 ServletContex: Servlet容器為每個(gè)Web應(yīng)用創(chuàng)建一個(gè)ServletContext實(shí)例,用來存放application范圍的共享數(shù)據(jù)

 

四種在web組件中共享數(shù)據(jù)的特定范圍:

page:用戶請(qǐng)求訪問的當(dāng)前JSP

request:用戶請(qǐng)求訪問的當(dāng)前Web組件,以及和當(dāng)前Web組件共享同一個(gè)用戶請(qǐng)求的其他Web組件。如果用戶訪問的時(shí)JSP網(wǎng)頁,那么該JSP網(wǎng)頁的<%include>指令以及<forward>標(biāo)記包含的其他JSP文件也能訪問共享數(shù)據(jù)。

session:整個(gè)HTTP會(huì)話的生存周期

applicationWeb應(yīng)用的生命周期。

 

請(qǐng)求重定向與請(qǐng)求轉(zhuǎn)發(fā)的區(qū)別:

請(qǐng)求重定向可以是任何一個(gè)URL,而請(qǐng)求轉(zhuǎn)發(fā)僅限于同一應(yīng)用的URL

重定向的源組件和目標(biāo)組件不共用同一個(gè)HttpServletRequest,一次不能共享request范圍內(nèi)的共享數(shù)據(jù);而請(qǐng)求轉(zhuǎn)發(fā)將ServletRequestServletResponse對(duì)象傳遞給目標(biāo)組件,使得目標(biāo)組件可以訪問轉(zhuǎn)發(fā)頁面的整個(gè)請(qǐng)求的上下文(實(shí)現(xiàn)了數(shù)據(jù)共享)。<jsp:forward page=”*.jsp”>/RequestDispatcher.Forward(request,response) response.sendRedirect()

 

Struts框架:

 

Struts框架中最核心的組件:ActionServletextend javax.servlet.http.HttpServlet

對(duì)于采用Struts框架的Web應(yīng)用,在Web應(yīng)用啟動(dòng)的時(shí)候回加載并初始花ActionServlet,ActionServletstruts-config.xml文件中讀取配置信息,把他們存放到各種配置對(duì)象中,例如Action的映射信息存放在ActionMapping對(duì)象中

 

Struts的工作流程:

當(dāng)ActionServlet接收到一個(gè)客戶請(qǐng)求時(shí)將執(zhí)行如下流程:

1.  檢索和用戶請(qǐng)求匹配的ActionMapping實(shí)例,如果不存在,就返回用戶請(qǐng)求路徑無效的信息。

2.  如果ActionForm實(shí)力不存在,就創(chuàng)建一個(gè),把客戶提交的表單保存帶ActionForm中,在這里你可以進(jìn)行針對(duì)輸入的格式語法等方面的數(shù)據(jù)簡單驗(yàn)證。

3.  由配置信息決定是否需要進(jìn)行表單驗(yàn)證,需要<validate = “true”> 則調(diào)用ActionForm中的validate()方法。

4.  如果ActionFormvalidate()返回null則表明成功,返回ActionMessageActionErrors對(duì)象就表示失敗。

5.  ActionServlet根據(jù)ActionMapping實(shí)例包含的映射信息決定將請(qǐng)求轉(zhuǎn)發(fā)給哪個(gè)Action。如果Action不存在就先創(chuàng)建該實(shí)例,然后調(diào)用氣execute方法。

6.  Actionexecute()方法返回一個(gè)ActionForward對(duì)象,其再把請(qǐng)求轉(zhuǎn)發(fā)給ActionForward對(duì)象指向的JSP,所以不要忘記在execute方法中去自定義一個(gè)ActionForward的實(shí)例哦。

7.  ActionForward對(duì)象指向的JSP組件生成動(dòng)態(tài)網(wǎng)頁,返回結(jié)果給客戶。

 

訪問封裝在MessageResources中的本地化文本

將一些常用的輸出信息,或者顯示文本同一放在一個(gè)或多個(gè)自愿文件中然后利用特定的類的實(shí)例來進(jìn)行訪問,不僅清潔了代碼,方便了控制,對(duì)項(xiàng)目的可維護(hù)可移植性也比較有利。

Action類中定義了getResourcesHttpServletRequest request)方法,該方法返回當(dāng)前默認(rèn)的MessageResources對(duì)象,它封裝了Resouce Bundle中的文本內(nèi)容??梢哉{(diào)用MessageResouces類的getMessageString key)方法對(duì)某條資源進(jìn)行訪問。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    日本在线高清精品人妻| 成人精品一区二区三区综合| 国产欧美一区二区三区精品视| 少妇在线一区二区三区| 午夜福利黄片免费观看| 香港国产三级久久精品三级| 日韩精品视频免费观看| 欧美成人高清在线播放| 日本午夜一本久久久综合| 91亚洲国产—区=区a| 内射精子视频欧美一区二区| 欧美成人黄色一级视频| 国产一区二区精品丝袜| 一本久道久久综合中文字幕| 中文字幕一区久久综合| 91在线爽的少妇嗷嗷叫| 五月激情综合在线视频| 黄色在线免费高清观看| 亚洲国产av在线观看一区| 久久精品国产在热亚洲| 91精品欧美综合在ⅹ| 蜜桃传媒视频麻豆第一区| 国产精品一区欧美二区| 高清一区二区三区不卡免费| 91精品国产综合久久精品| av一区二区三区天堂| 亚洲a级一区二区不卡| 日本不卡一区视频欧美| 国产亚洲欧美日韩精品一区| 亚洲国产四季欧美一区| 国产亚洲欧美日韩国亚语| 中文字幕佐山爱一区二区免费| 99久久国产精品亚洲| 国产精品欧美一区二区三区不卡| 好东西一起分享老鸭窝| 99久只有精品免费视频播放| 男人大臿蕉香蕉大视频| 国产精品香蕉免费手机视频| 亚洲欧美黑人一区二区| 国产成人综合亚洲欧美日韩 | 日韩精品免费一区二区三区 |