package greenH5.util; import java.io.IOException; 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; /** * Servlet Filter implementation class CORSFilter */ // Enable it for Servlet 3.x implementations /* @ WebFilter(asyncSupported = true, urlPatterns = { "/*" }) */ public class AjaxFilter implements Filter { /** * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) */ public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) servletRequest; String urlString = request.getRequestURL().toString(); if (urlString.contains("greenH5/workbench/default.jsp")) { return; } // Authorize (allow) all domains to consume the content ((HttpServletResponse) servletResponse).addHeader("Access-Control-Allow-Origin", "*"); ((HttpServletResponse) servletResponse).addHeader("Access-Control-Allow-Methods","GET, POST"); ((HttpServletResponse) servletResponse).addHeader("Access-Control-Allow-Headers", "Content-Type,token,u"); String method = request.getMethod(); // For HTTP OPTIONS verb/method reply with ACCEPTED status code -- per CORS handshake if ("OPTIONS".equals(method)) { HttpServletResponse resp = (HttpServletResponse) servletResponse; resp.setStatus(HttpServletResponse.SC_OK); return; } // pass the request along the filter chain chain.doFilter(request, servletResponse); } /** * @see Filter#init(FilterConfig) */ public void init(FilterConfig fConfig) throws ServletException { // TODO Auto-generated method stub } public void destroy() { // TODO Auto-generated method stub } }