您好,欢迎来到纷纭教育。
搜索
您的当前位置:首页spring设置html文件响应头,Spring MVC 4:无法设置响应头

spring设置html文件响应头,Spring MVC 4:无法设置响应头

来源:纷纭教育

我有一个Spring 4 MVC应用程序,其中有一个,用于计算请求响应周期的执行时间,我想设置一个头,如X-Runtime,其值为执行时间处理时间。但是,response.setHeader函数不起作用。当响应到达我的浏览器时,它被覆盖。Spring MVC 4:无法设置响应头

我有一个CORS过滤器,我设置请求和响应头来启用交叉原点请求,并且工作正常。

这里是我的:

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

public class ExecuteTimeInterceptor extends HandlerInterceptorAdapter {

private static final Logger LOGGER = LoggerFactory.getLogger(ExecuteTimeInterceptor.class.getName());

@Override

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

long startTime = System.currentTimeMillis();

LOGGER.info("Request URL::" + request.getRequestURL().toString() + ":: Start Time=" + System.currentTimeMillis());

request.setAttribute("startTime", startTime);

return true;

}

@Override

public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

Long startTime = (Long) request.getAttribute("startTime");

Long timeTaken = (System.currentTimeMillis() - startTime);

LOGGER.info("Request URL::" + request.getRequestURL().toString() + ":: Time Taken=" + timeTaken);

response.setHeader("X-Runtime", timeTaken.toString());

}

@Override

public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

// Do nothing.

}

}

我在dispatcher.xml配置文件配置正确的。执行时间被slf4j正确记录,所以我可以确认本身工作正常。

任何想法为什么会发生这种情况?我使用WildFly(以前的JBoss)8.1作为我的容器/应用程序服务器。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- fenyunshixun.cn 版权所有 湘ICP备2023022495号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务