public static void main(String[] args) { String input = "*****@*****.**"; if (Validator.getInstance().validateEmail(input)) { System.out.println("Valid email"); } else { System.out.println("Invalid email"); } }
/** * 在业务处理器处理请求之前被调用 如果返回false 从当前的拦截器往回执行所有拦截器的afterCompletion(),再退出拦截器链 如果返回true * 执行下一个拦截器,直到所有的拦截器都执行完毕 再执行被拦截的Controller 然后进入拦截器链, 从最后一个拦截器往回执行所有的postHandle() * 接着再从最后一个拦截器往回执行所有的afterCompletion() */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { log.debug("==============执行顺序: 1、preHandle================"); // 获取当前请求的url String requestUri = request.getRequestURI(); String contextPath = request.getContextPath(); String queryString = request.getQueryString(); /** *** 测试用****** */ String url = requestUri.substring(contextPath.length()); log.debug("requestUri:" + requestUri); log.debug("contextPath:" + contextPath); log.debug("url:" + url); Validator validator = Validator.getInstance(); // 注入当前session // validator.init(request); // 默认check boolean check = true; // 遍历放行的url if (this.uncheckUrls != null) { for (String uncheckUri : this.uncheckUrls) { String uncheckQuery = null; String uri = uncheckUri; // 拦截可细致到参数 if (uncheckUri.indexOf("?") >= 0) { uri = uncheckUri.substring(0, uncheckUri.indexOf("?")); uncheckQuery = uncheckUri.substring(uncheckUri.indexOf("?") + 1); check = !(requestUri.startsWith(uri) && queryString.indexOf(uncheckQuery) >= 0); } else { check = !(requestUri.startsWith(uri)); } } } if (check) { // String strResponse = request.getParameter(strToken); // if (strResponse != null) // { // // 如果服务器端通过认证后,会返回后执行改操作,然后写入cookie // SSOResponse ssoResp = new SSOResponse(strResponse); // TicketManager tm = ssoResp.CreatePSOTicket(); // if (tm == null) // { // PSORequest psoRequest = new PSORequest(request); // String requeststr = psoRequest.CreateHash(); // // String keeperUrl = BaseUtils.getConfigValue("keeperUrl"); // keeperUrl = keeperUrl + "?" + strToken + "=" // + URLEncoder.encode(requeststr, "UTF-8"); // response.sendRedirect(keeperUrl); // } // else // { // String domainName = BaseUtils.getConfigValue("domain"); // tm.SaveTicket(response, domainName); // // Iterator iterator = request.getParameterMap().entrySet() // .iterator(); // StringBuffer param = new StringBuffer(); // int i = 0; // while (iterator.hasNext()) // { // Entry entry = (Entry) iterator.next(); // if (entry.getKey().equals(strToken)) // continue; // else // { // i++; // if (i == 1) // param.append("?").append(entry.getKey()) // .append("="); // else // param.append("&").append(entry.getKey()) // .append("="); // // if (entry.getValue() instanceof String[]) // { // param.append(((String[]) entry.getValue())[0]); // } // else // { // param.append(entry.getValue()); // } // } // } // response.sendRedirect(requestUri + param.toString()); // return false; // } // } // else // { // TicketManager tm = new TicketManager(); // if (!tm.LoadTicket(request)) // { // PSORequest psoRequest = new PSORequest(request); // String requeststr = psoRequest.CreateHash(); // // String keeperUrl = BaseUtils.getConfigValue("keeperUrl"); // keeperUrl = keeperUrl + "?" + strToken + "=" // + URLEncoder.encode(requeststr, "UTF-8"); // response.sendRedirect(keeperUrl); // return false; // } // } // 需要用户身份验证 /** * boolean isValidate = validator.validate(); if (isValidate) { // 验证通过 try { * validator.confirm(); return true; } catch (Exception ex) { * request.getRequestDispatcher("/WEB-INF/view/login.jsp") .forward(request, response); return * false; } } else { // 身份验证失败 validator.cancel(); String ssoUrl= * "http://192.168.0.29:8088/Keeper.aspx"; * * <p>request.getRequestDispatcher("/WEB-INF/view/login.jsp") .forward(request, response); }* */ validator.SetUserTicket(request); return true; } else { return true; } }