81041
2019-01-11 d04cea72d0c721f9e7e65d3074c5546ac6eb594f
gx_tieta/src/com/fgkj/Filters/CrossDomainLimitFilter.java
@@ -14,6 +14,8 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.omg.CORBA.Request;
import com.fgkj.actions.ActionUtil;
import com.fgkj.dto.ServiceModel;
@@ -22,17 +24,22 @@
   
   public final static String CROSS_DOMAIN_KEY   = "44c4a294cb66d13727c14b065dbe8548";      //跨域请求 key
      
   public void doFilter(ServletRequest req, ServletResponse response,
   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");
      //检测跨域访问的请求
      if(URL != null && URL.endsWith("_ky") && false){
         String key = req.getParameter("key");                              //获取校验码
         ServiceModel model = new ServiceModel();                           //是否允许访问
         boolean isAlowVisit = false;
         System.out.println(key+"=="+CROSS_DOMAIN_KEY);
         ServiceModel model = new ServiceModel();
         boolean isAlowVisit = false;                                    //是否允许访问
         //System.out.println(key+"=="+CROSS_DOMAIN_KEY);
         if(key != null && CROSS_DOMAIN_KEY.equals(key)){
            isAlowCrossDomain(response);
            //System.out.println("开始休眠500毫秒秒");
            try {
               Thread.sleep(500);
@@ -46,11 +53,11 @@
            
            isAlowVisit = true;
         }else{
            model.setMsg("校验码发送失败");
            model.setMsg("校验码发送失败,key:"+key);
         }         
         if(isAlowVisit){
            //通过请求
            chain.doFilter(request, response);      //不允许跨域
            chain.doFilter(request, response);      //允许跨域
         }else{
            //不能放行的请求
            PrintWriter out = response.getWriter();
@@ -75,6 +82,16 @@
      
   }
   
   /**
    * 允许跨域访问
    * @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()));