小编Sol*_*lay的帖子

Java过滤器无法设置响应标头

我正在尝试创建一个Java"过滤器"来检测自定义HTTP请求标头,并插入响应标头,以便文件自动下载.对此最重要的响应标头是"Content-Type = Attachment"响应标头.我创建了一个插入自定义标头的HTTP请求对象:

function myHttpObject(filePath){
function makeHttpObject() {
    return new XMLHttpRequest();
}

var request = makeHttpObject();

request.open("GET", filePath, false);
request.setRequestHeader("X-Wria-Download", "PDFdownload");
request.send(null);
window.open(filePath);
console.log(request.getAllResponseHeaders());
}
Run Code Online (Sandbox Code Playgroud)

这会将X-Wria-Download标头插入请求中.然后我有一个Java过滤器,它查找该请求标头,并应将响应标头设置为"Content-Type = attachment"

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class Contenttypefilter implements Filter  {

protected FilterConfig filterConfig;

public void init(FilterConfig filterConfig) throws ServletException {
    this.filterConfig = filterConfig;
}

public void destroy() {
    //noop
}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { …
Run Code Online (Sandbox Code Playgroud)

java servlets request http-headers servlet-filters

11
推荐指数
3
解决办法
2万
查看次数

标签 统计

http-headers ×1

java ×1

request ×1

servlet-filters ×1

servlets ×1