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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

web.xml中的那些标签和意义

發(fā)布時(shí)間:2024/1/17 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 web.xml中的那些标签和意义 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天了解了java web的三大組件(Servlet、Filter、Listener),也就是我們在web.xml配置文件中看到的配置標(biāo)簽,三大組件之間的區(qū)別與聯(lián)系,可以百度相應(yīng)的關(guān)鍵詞。簡單地說,Filter(過濾器)是用來過濾用戶的相關(guān)請求的,Listener(監(jiān)聽器)則是監(jiān)聽Servlet的動(dòng)態(tài),它可以監(jiān)聽客戶端的請求、服務(wù)端的操作等。

主要有三類:
?? ??? ?1.ServletContext:對servlet上下文(application對象)進(jìn)行監(jiān)聽
?? ??? ?2.Session:對session監(jiān)聽
?? ??? ?3.Request:對request的監(jiān)聽
主要是:ServeltContext.Session的監(jiān)聽

?

在WEB端實(shí)現(xiàn)監(jiān)聽實(shí)質(zhì):實(shí)現(xiàn)一系列的監(jiān)聽接口(實(shí)現(xiàn)相應(yīng)的接口,覆寫各接口中相應(yīng)的方法,在相應(yīng)的事件觸發(fā)的時(shí)候會(huì)執(zhí)行自己的監(jiān)聽器中的覆寫的方法,在各個(gè)方法中完成自己想要的操作,從而實(shí)現(xiàn)了監(jiān)聽)。

監(jiān)聽--就是在進(jìn)行某種各個(gè)范圍(application,session,request)中有相關(guān)值的設(shè)置、修改、替換的時(shí)候,這些操作都會(huì)觸發(fā)事件,而Java中事件的代理機(jī)制,事件處理是利用listener機(jī)制,所以為了在事件觸發(fā)的時(shí)候能夠使自己能夠采取相應(yīng)的措施,就需要---->繼承這樣的listener,在listener中覆寫相應(yīng)的方法,覆寫相應(yīng)的事件處理方法,在對應(yīng)的方法中處理對應(yīng)的事件,也就是進(jìn)行了監(jiān)聽

監(jiān)聽器有一些固定的監(jiān)聽事務(wù)和相關(guān)接口,http://blog.csdn.net/java_pengjin/article/details/6760175?這篇文章中有詳細(xì)說明。

?

Struts實(shí)現(xiàn)MVC架構(gòu)的原理

  

1、struts是Java?web目前最常用的實(shí)現(xiàn)框架。他采用mvc結(jié)構(gòu),將頁面展現(xiàn),流程控制和業(yè)務(wù)處理強(qiáng)有力的分開,結(jié)構(gòu)清晰,思路明確,是進(jìn)行Java?web的最好選擇。

????? java web組件間的關(guān)系基本有三類:頁面跳轉(zhuǎn)(javax.servlet.RequestDispatcher.forward()方法),頁面重定向(javax.servlet.response.sendRedirect()方法)和頁面包含(javax.servlet.RequestDispatcher.include()方法).其中,頁面跳轉(zhuǎn)只是在同一個(gè)web應(yīng)用中進(jìn)行的,傳遞的是request和response對象;重定向和包含則可以是不同的url內(nèi)容。

????? java web組件間的數(shù)據(jù)共享有四類:page,request,session和application,共享范圍有單個(gè)頁面到整個(gè)web應(yīng)用,依次變大。

???? struts的頁面展示用jsp技術(shù)實(shí)現(xiàn),按嚴(yán)格的mvc講,jsp只是負(fù)責(zé)顯示,不負(fù)責(zé)流程控制和數(shù)據(jù)處理;流程控制用action實(shí)現(xiàn),在action的execute()里面通過return actionMapping.findForward()進(jìn)行跳轉(zhuǎn),具體的業(yè)務(wù)處理是有各種java bean或者ejb來實(shí)現(xiàn)的。actionForm也是struts里面的一部分,目的是存儲(chǔ)jsp頁面提交的內(nèi)容,供對應(yīng)的action使用。

???? 如果使用jbuilder強(qiáng)大的可視化編程環(huán)境,利用struts進(jìn)行java web開發(fā),應(yīng)該是非常簡單的事情。

? 2、struts framework是一種基于java的技術(shù),Web應(yīng)用程序開發(fā)人員通過struts framework即可充分利用面向?qū)ο笤O(shè)計(jì)、代碼重用以及"編寫一次、到處運(yùn)行"的優(yōu)點(diǎn)。Struts提供了一種創(chuàng)建Web應(yīng)用程序的框架,其中對應(yīng)用 程序的顯示、表示和數(shù)據(jù)的后端代碼進(jìn)行了抽象。Struts采用jsp作為MVC的視圖,由ActionServlet具體指定的action動(dòng)作類作為 控制器即MVC中的C,負(fù)責(zé)視圖與模型之間的交互。控制器的每個(gè)入口點(diǎn)都由名為struts-config.xml的配置文件設(shè)置。該文件把來自視圖的請 求映射為特定的JAVA類以進(jìn)行相應(yīng)的處理,控制器還指定下一個(gè)視圖的位置。Struts中的模型主要指的就是javabean,它是模型的代表,主要封 裝數(shù)據(jù)和業(yè)務(wù)邏輯。
Struts的處理流程:
l 控制器進(jìn)行初始化工作,讀取配置文件,為不同的Struts模塊初始化相應(yīng)的ModulConfig對象。
l 控制器接收Http請求,并從ActionConfig中找出對應(yīng)于該請求的Action子類,如果沒有對應(yīng)的Action,控制器直接將請求轉(zhuǎn)發(fā)給JSP或者靜態(tài)頁面,否則控制器將請求分發(fā)至具體的Action類進(jìn)行處理。
l 在控制器調(diào)用具體的Action的Execute方法之前,ActionForm對象將利用Http請求中的參數(shù)來填充自已。還可以在 ActionForm類中調(diào)用Validate方法來檢查請求參數(shù)的合法性,并且可以返回一個(gè)包含所有錯(cuò)誤信息的ActionErrors對象。
l 執(zhí)行具體的的Execute的方法,它負(fù)責(zé)執(zhí)行相應(yīng)的業(yè)務(wù)邏輯。執(zhí)行完后,返回一個(gè)ActionForward對象,控制器通過該 ActionForward對象來進(jìn)行轉(zhuǎn)發(fā)工作。也可以把Action要處理的業(yè)務(wù)邏輯封裝在JavaBean中,如果系統(tǒng)中還有EJB,那么通過 JavaBean調(diào)用EJB以完成業(yè)務(wù)處理;如果沒有EJB,那么就直接在JavaBean中連接數(shù)據(jù)庫,進(jìn)行數(shù)據(jù)庫相關(guān)的操作。

轉(zhuǎn)載于:https://www.cnblogs.com/yangyabo/p/5958213.html

總結(jié)

以上是生活随笔為你收集整理的web.xml中的那些标签和意义的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。