简体   繁体   English

如何在REST服务的RESPONSE主体中删除Cookie

[英]How to Remove Cookies in RESPONSE Body of REST service

Where to Add the below code in my Java(Middleware between UI and Business Implementation) project to stop caching in UI. 在我的Java(UI和业务实施之间的中间件)项目中添加以下代码的位置,以停止在UI中进行缓存。

Java code: Java代码:

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0); // Proxies

Typically you'd write a filter that sets those headers. 通常,您会写一个设置那些标题的过滤器。

public class NoCacheFilter implements Filter {

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    HttpServletRequest req = (HttpServletRequest) request;
    HttpServletResponse res = (HttpServletResponse) response;
    res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
    res.setHeader("Pragma", "no-cache"); // HTTP 1.0.
    res.setDateHeader("Expires", -1); // Proxies.

    chain.doFilter(req, res);
}


public void init(FilterConfig arg0) throws ServletException {

}

}

And add it to your web.xml 并将其添加到您的web.xml

<filter>
    <filter-name>NoCacheFilter </filter-name>
    <filter-class>com.example.NoCacheFilter </filter-class>
</filter>
<filter-mapping>
    <filter-name>NoCacheFilter </filter-name>
    <url-pattern>/rest/*</url-pattern>
</filter-mapping>

I've set the filter to the rest url context. 我已经将过滤器设置为rest URL上下文。 This assumes the REST services are on a single context. 假设REST服务在单个上下文中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM