HttpServletRequest添加header
来源:互联网 发布:网络通俗歌手大赛冠军 编辑:程序博客网 时间:2024/06/15 00:16
做法如下:
import java.util.Collections;import java.util.Enumeration;import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.Set; import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWrapper; final class MutableHttpServletRequest extends HttpServletRequestWrapper { // holds custom header and value mapping private final Map<String, String> customHeaders; public MutableHttpServletRequest(HttpServletRequest request){ super(request); this.customHeaders = new HashMap<String, String>(); } public void putHeader(String name, String value){ this.customHeaders.put(name, value); } public String getHeader(String name) { // check the custom headers first String headerValue = customHeaders.get(name); if (headerValue != null){ return headerValue; } // else return from into the original wrapped object return ((HttpServletRequest) getRequest()).getHeader(name); } public Enumeration<String> getHeaderNames() { // create a set of the custom header names Set<String> set = new HashSet<String>(customHeaders.keySet()); // now add the headers from the wrapped request object @SuppressWarnings("unchecked") Enumeration<String> e = ((HttpServletRequest) getRequest()).getHeaderNames(); while (e.hasMoreElements()) { // add the names of the request headers into the list String n = e.nextElement(); set.add(n); } // create an enumeration from the set and return return Collections.enumeration(set); }}
使用方法:
public class SecurityFilter implements javax.servlet.Filter { @Override public void destroy() { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; MutableHttpServletRequest mutableRequest = new MutableHttpServletRequest(req); ... mutableRequest.putHeader("x-custom-header", "custom value"); chain.doFilter(mutableRequest, response); } @Override public void init(FilterConfig filterConfig) throws ServletException { }}
0 0
- HttpServletRequest添加header
- ListView添加Header
- ListView添加header问题
- xcode6 添加Prefix Header
- Volley添加Http Header
- jasperreport 添加header
- RecyclerView添加Header
- listview添加header
- fresco添加http header
- SDWebImage添加header
- SDWebImage添加header
- nginx添加自定义header
- Android RecyclerView添加Header
- iOS UICollectionView添加Header
- glide添加header请求
- RecyclerView添加Header
- RecyclerView 添加Header
- HttpServletRequest
- java ee 中request对象getAttribute和getParameter区别
- CONSUMING REST API WITH RETROFIT 2.0 IN ANDROID
- 9-2CSS特殊性
- 剑指offer32--找出第一个只出现一次的字符
- Python Requests快速入
- HttpServletRequest添加header
- Spring中的AOP——AspectJ的基本使用
- android之官方下拉刷新组件SwipeRefreshLayout
- Python Channels笔记--Deploying
- 快速读入
- 机器学习系列-Logistic Regression(1)
- CentOS赋予一个普通用户root权限
- java利用Ant解压指定zip压缩包到指定文件夹
- 计算机系统结构