无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

JavaEE中統(tǒng)一修改http響應體內容的方法

2021-10-02 09:31 作者:向上生長之路  | 我要投稿

在之前的文章中介紹過Spring Boot開發(fā)中統(tǒng)一修改http響應體內容的方法

今天給大家再介紹另一種方案也能實現(xiàn)同樣的效果,那就是JavaEE中通過使用Filter過濾器來修改http響應體~

工作原理

JavaEE中提供了HttpServletResponseWrapper,該類實現(xiàn)了HttpServletResponse接口,通過重寫該類的getOutputStream、getWriter方法來攔截Servlet響應內容,結合Filter的使用,就可以在Filter中統(tǒng)一修改http響應體了
JavaEE官方文檔說明:https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletResponseWrapper.html


使用方式

1. 編寫HttpServletResponseWrapper的實現(xiàn)類,來包裝HttpServletResponse,等下在Filter中會用于替換真正的HttpServletResponse對象

示例代碼:https://github.com/netbuffer/javaee-demo/blob/master/src/main/java/cn/netbuffer/filter/wrapper/ModifyHttpResponseWrapper.java


2. 編寫Filter過濾器來攔截http響應,達到最終修改http響應體的目的
示例代碼:https://github.com/netbuffer/javaee-demo/blob/master/src/main/java/cn/netbuffer/filter/ModifyHttpResponseFilter.java



3. 編寫測試用的Servlet,來測試http響應體改寫情況
完整示例代碼:https://github.com/netbuffer/javaee-demo/blob/master/src/main/java/cn/netbuffer/servlet/JSONServlet.java


運行效果

啟動工程,使用Postman工具訪問/json接口測試
可以看到返回的數(shù)據(jù)中已經(jīng)被wrapper[]包裝了

請求執(zhí)行流程


完整測試工程請參考:https://github.com/netbuffer/javaee-demo

明白了原理,JavaEE中的這種機制我們完全可以用在Spring Boot開發(fā)中~
示例偽代碼:


示例過濾器,在doFilter中做自定義的邏輯處理,可以達到統(tǒng)一修改http響應體的效果~


完整代碼寫法可以參考我在spring-boot-admin issue中的回答:https://github.com/codecentric/spring-boot-admin/issues/1053#issuecomment-920630443


JavaEE中統(tǒng)一修改http響應體內容的方法的評論 (共 條)

分享到微博請遵守國家法律
巴彦淖尔市| 株洲市| 石柱| 兴安盟| 来凤县| 海南省| 汤原县| 积石山| 报价| 建湖县| 胶州市| 北海市| 南丹县| 苗栗市| 肃北| 秦安县| 都江堰市| 山阳县| 井研县| 宁乡县| 云林县| 德钦县| 资中县| 土默特左旗| 永吉县| 通州区| 乃东县| 莱芜市| 德化县| 静乐县| 屯留县| 榆林市| 民县| 神池县| 威信县| 阜宁县| 龙口市| 新宾| 成武县| 门源| 新郑市|