whyclj
2020-04-25 7bf149d91f30787de1de5e9b948e498134d35f44
跨域已开
1个文件已添加
2个文件已修改
76 ■■■■■ 已修改文件
webSockTest/.settings/org.eclipse.core.resources.prefs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
webSockTest/WebRoot/WEB-INF/web.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
webSockTest/src/com/fgkj/Filters/CrossDomainLimitFilter.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
webSockTest/.settings/org.eclipse.core.resources.prefs
@@ -1,2 +1,3 @@
eclipse.preferences.version=1
encoding//WebRoot/index.jsp=UTF-8
encoding//src/com/fgkj/Filters/CrossDomainLimitFilter.java=UTF-8
webSockTest/WebRoot/WEB-INF/web.xml
@@ -12,7 +12,14 @@
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <filter>
      <filter-name>CrossDomainLimitFilter</filter-name>
      <filter-class>com.fgkj.Filters.CrossDomainLimitFilter</filter-class>
  </filter>
  <filter-mapping>
      <filter-name>CrossDomainLimitFilter</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
webSockTest/src/com/fgkj/Filters/CrossDomainLimitFilter.java
New file
@@ -0,0 +1,66 @@
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()));
    }
}