責(zé)任鏈模式如何在Java項(xiàng)目中實(shí)現(xiàn)-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)責(zé)任鏈模式如何在Java項(xiàng)目中實(shí)現(xiàn),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、網(wǎng)站建設(shè)、祁門網(wǎng)絡(luò)推廣、微信小程序定制開(kāi)發(fā)、祁門網(wǎng)絡(luò)營(yíng)銷、祁門企業(yè)策劃、祁門品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供祁門建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:muchs.cn

責(zé)任鏈模式

責(zé)任鏈模式的定義:使多個(gè)對(duì)象都有機(jī)會(huì)處理請(qǐng)求,從而避免請(qǐng)求的發(fā)送者和接受者之間的耦合關(guān)系, 將這個(gè)對(duì)象連成一條鏈,并沿著這條鏈傳遞該請(qǐng)求,直到有一個(gè)對(duì)象處理他為止。這里就不再過(guò)多的介紹什么是責(zé)任鏈模式,主要來(lái)說(shuō)說(shuō)java中如何編寫。主要從下面3個(gè)框架中的代碼中介紹。

  • servlet中的filter
  • dubbo中的filter
  • mybatis中的plugin 這3個(gè)框架在實(shí)現(xiàn)責(zé)任鏈方式不盡相同。

servlet中的Filter

servlet中分別定義了一個(gè) Filter和FilterChain的接口,核心代碼如下:

public final class ApplicationFilterChain implements FilterChain {
  private int pos = 0; //當(dāng)前執(zhí)行filter的offset
  private int n; //當(dāng)前filter的數(shù)量
  private ApplicationFilterConfig[] filters; //filter配置類,通過(guò)getFilter()方法獲取Filter
  private Servlet servlet
  @Override
  public void doFilter(ServletRequest request, ServletResponse response) {
    if (pos < n) {
      ApplicationFilterConfig filterConfig = filters[pos++];
      Filter filter = filterConfig.getFilter();
      filter.doFilter(request, response, this);
    } else {
      // filter都處理完畢后,執(zhí)行servlet
      servlet.service(request, response);
    }
  }
}

當(dāng)前名稱:責(zé)任鏈模式如何在Java項(xiàng)目中實(shí)現(xiàn)-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://muchs.cn/article30/deggpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、手機(jī)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、云服務(wù)器、搜索引擎優(yōu)化、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司