New file |
| | |
| | | package com.fgkj.Filters; |
| | | |
| | | import java.io.IOException; |
| | | import java.io.PrintWriter; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | |
| | | 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; |
| | | |
| | | import org.omg.CORBA.Request; |
| | | |
| | | import com.fgkj.actions.ActionUtil; |
| | | |
| | | public class CrossDomainLimitFilter implements Filter{ |
| | | public static final int max_connect_count = 10; |
| | | |
| | | public final static String CROSS_DOMAIN_KEY = "44c4a294cb66d13727c14b065dbe8548"; //跨域请求 key |
| | | |
| | | public void doFilter(ServletRequest req, ServletResponse resp, |
| | | FilterChain chain) throws IOException, ServletException { |
| | | HttpServletRequest request=(HttpServletRequest)req; |
| | | HttpServletResponse response =(HttpServletResponse)resp; |
| | | String URL=request.getRequestURI(); |
| | | request.setCharacterEncoding("UTF-8"); |
| | | response.setCharacterEncoding("UTF-8"); |
| | | response.setContentType("text/html;charset=utf-8"); |
| | | //检测跨域访问的请求 |
| | | |
| | | //非跨域请求 |
| | | isAlowCrossDomain(response); |
| | | chain.doFilter(request, response); |
| | | //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | //System.out.println("非跨域请求不允许放行"+request.getRemoteHost()+" At "+sdf.format(new Date())); |
| | | |
| | | } |
| | | |
| | | public void init(FilterConfig arg0) throws ServletException { |
| | | |
| | | } |
| | | |
| | | public void destroy() { |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 允许跨域访问 |
| | | * @param response |
| | | */ |
| | | public void isAlowCrossDomain(HttpServletResponse response){ |
| | | response.setHeader("Access-Control-Allow-Origin", "*"); //允许跨域访问 |
| | | response.setHeader("Access-Control-Allow-Headers", "X-Requested-With,content-type,token"); |
| | | response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH"); |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | System.out.println(sdf.format(new Date())); |
| | | } |
| | | } |