最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

分享到微博請遵守國家法律
凤山市| 眉山市| 油尖旺区| 富宁县| 合作市| 江达县| 鞍山市| 克东县| 岑溪市| 阳东县| 宁陵县| 马鞍山市| 漠河县| 邢台县| 秦安县| 汕尾市| 贵德县| 桂东县| 慈溪市| 陇西县| 义马市| 黄龙县| 德安县| 辽宁省| 昌宁县| 巢湖市| 尉犁县| 金乡县| 汉沽区| 瓮安县| 潞城市| 江津市| 顺平县| 博白县| 宁城县| 平舆县| 古浪县| 工布江达县| 昌邑市| 南江县| 英吉沙县|