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

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

分享到微博請遵守國家法律
余干县| 万全县| 顺昌县| 平湖市| 丰原市| 泰和县| 绥化市| 白朗县| 舟山市| 鄂温| 台安县| 哈密市| 宁远县| 新宾| 香格里拉县| 曲阜市| 清水河县| 兰西县| 太康县| 云南省| 高邮市| 沂水县| 荆州市| 古蔺县| 永寿县| 民乐县| 黔东| 萨嘎县| 林芝县| 九江市| 五河县| 宜兰市| 兴隆县| 宁南县| 铜梁县| 九寨沟县| 四子王旗| 五大连池市| 株洲县| 慈溪市| 天气|