当前位置: 首页 > news >正文

国内做的好看的网站设计东莞百度推广排名优化

国内做的好看的网站设计,东莞百度推广排名优化,手机网站做适配,个人博客网站需求分析一、背景 在项目开发过程中,需要对于某些接口统一处理。 这时候就需要获取响应的报文,再对获取的报文进行统一处理。 二、了解过滤器 首先了解一下过滤器拦截器的区别: JAVA中的拦截器、过滤器:https://blog.csdn.net/qq_38254…

一、背景

在项目开发过程中,需要对于某些接口统一处理。
这时候就需要获取响应的报文,再对获取的报文进行统一处理。

二、了解过滤器

首先了解一下过滤器拦截器的区别:
JAVA中的拦截器、过滤器:https://blog.csdn.net/qq_38254635/article/details/131201519

三、代码

新建 WebResponseWrapper.java
重写 HttpServletResponseWrapper,处理json报文请求

package com.config.filter;import javax.servlet.ServletOutputStream;
import javax.servlet.WriteListener;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;public class WebResponseWrapper extends HttpServletResponseWrapper {private ByteArrayOutputStream buffer = null;private ServletOutputStream out = null;private PrintWriter writer = null;public WebResponseWrapper(HttpServletResponse response) throws IOException {super(response);buffer = new ByteArrayOutputStream();out = new WrapperOutputStream(buffer);writer = new PrintWriter(new OutputStreamWriter(buffer,this.getCharacterEncoding()));}@Overridepublic ServletOutputStream getOutputStream() throws IOException {return out;}@Overridepublic PrintWriter getWriter() throws UnsupportedEncodingException {return writer;}@Overridepublic void flushBuffer() throws IOException {if (out != null) {out.flush();}if (writer != null) {writer.flush();}}@Overridepublic void reset() {buffer.reset();}public byte[] getResponseData() throws IOException {flushBuffer();return buffer.toByteArray();}private class WrapperOutputStream extends ServletOutputStream {private ByteArrayOutputStream bos = null;public WrapperOutputStream(ByteArrayOutputStream stream)throws IOException {bos = stream;}@Overridepublic void write(int b) throws IOException {bos.write(b);}@Overridepublic void write(byte[] b) throws IOException {bos.write(b, 0, b.length);}@Overridepublic boolean isReady() {return false;}@Overridepublic void setWriteListener(WriteListener writeListener) {}}}

新建WebResponseFilter.java,响应过滤器处理参数,加密、字符串替、添加响应参数等等。

package com.config.filter;import com.Utils;
import org.springframework.stereotype.Component;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;@Component
public class WebResponseFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {HttpServletRequest httpRequest = (HttpServletRequest) request;HttpServletResponse httpResponse = (HttpServletResponse) response;if(checkPath(httpRequest.getRequestURI())){chain.doFilter(httpRequest, httpResponse);} else {response.setContentType("application/json; charset=utf-8");response.setCharacterEncoding("UTF-8");WebResponseWrapper webResponseWrapper = new WebResponseWrapper((HttpServletResponse) response);chain.doFilter(request, webResponseWrapper);byte[] resData = webResponseWrapper.getResponseData();PrintWriter out = response.getWriter();String encrypt = Utils.handleResponse(new String(resData, "UTF-8"));out.print(encrypt.replaceAll("[\\s*\t\n\r]", ""));out.flush();out.close();}}private boolean checkPath(String url){if(!"on".equals(ENCRYPT_SWITCH)) return true;for (String path : RESPONSE_LIST) {if(url.contains(path)) return true;}return false;}@Overridepublic void destroy() {}}

说明:
ENCRYPT_SWITCH:开关配置
RESPONSE_LIST:忽略处理路径配置,如一些导出的操作。
Utils.handleResponse():需要对报文进行的处理操作。

相关链接:
SpringBoot过滤器获取请求的参数:https://blog.csdn.net/qq_38254635/article/details/136041159
JAVA中的拦截器、过滤器:https://blog.csdn.net/qq_38254635/article/details/131201519

OK,就这些吧。

有什么不对的还望指正,书写不易,觉得有帮助就点个赞吧!☺☺☺

http://www.dt0577.cn/news/24499.html

相关文章:

  • 网站建设与维护教程seo企业站收录
  • 医疗营销网站建设web网页制作成品免费
  • 中国优秀网站百度网络推广怎么做
  • 河南做网站哪家好德州seo优化
  • 如何做手机网站电脑培训学校课程
  • 企业网站建设定位注意的问题怎么制作一个网页
  • 义乌外贸网站建设b站推广有用吗
  • 程序员找工作的网站俄罗斯引擎搜索
  • 做农产品网站需要做的准备西安seo排名
  • 科讯cms制作网站完整教程电商网站订烟平台
  • 2018年做网站小程序搭建
  • 大型网站建设的必须条件西安seo排名优化推广价格
  • 做网站哪家好关键词百度云
  • 广告公司广告语简洁win10优化大师官网
  • 网站建设那个比较好网站页面
  • 东莞网站建设效果网站制作公司高端
  • 可信网站认证费用友情链接源码
  • 外贸电商做俄罗斯市场网站新媒体营销成功案例
  • 如何用域名进网站墨子学院seo
  • 沅江市建设局网站新闻摘抄2022最新20篇
  • 做网站 使用权 所有权企业管理软件排名
  • 网站建设开发合同模板什么是seo?
  • 鄂州网站设计制作广州市口碑seo推广外包
  • 网站建设小组什么企业需要网络营销和网络推广
  • 桂林市网站建设品牌推广活动有哪些
  • 紫砂壶网站开发与设计报告论文建立一个网站的费用
  • 58同城推广能免费做网站吗seo设置是什么
  • 在线制作书封网站网络推广视频
  • 网站建设公司经营web网页模板
  • 国外那些网站是做菠菜的厦门百度广告开户