国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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響應體內容的方法的評論 (共 條)

分享到微博請遵守國家法律
德格县| 卫辉市| 陆良县| 浦县| 辽中县| 乌什县| 烟台市| 措勤县| 什邡市| 南岸区| 长乐市| 隆化县| 陆丰市| 兴国县| 耿马| 梓潼县| 古田县| 乌兰察布市| 德令哈市| 临潭县| 社旗县| 互助| 塔城市| 安义县| 高台县| 庆元县| 青河县| 商南县| 巢湖市| 龙州县| 固安县| 高青县| 宕昌县| 苏尼特左旗| 田林县| 淮北市| 蕉岭县| 伊宁市| 清河县| 会昌县| 井冈山市|