/**
  * 优先使用本地配置
  *
  * @param config
  */
 private void overByLocal(DataSourceConfig config) {
   if (null == config || null == localConfig) {
     return;
   }
   if (StringUtil.isNotBlank(localConfig.getDriverClassName())) {
     config.setDriverClassName(localConfig.getDriverClassName());
   }
   if (StringUtil.isNotBlank(localConfig.getSorterClassName())) {
     config.setSorterClassName(localConfig.getSorterClassName());
   }
   if (StringUtil.isNotBlank(localConfig.getPassword())) {
     config.setPassword(localConfig.getPassword());
   }
   if (null != localConfig.getConnectionProperties()
       && !localConfig.getConnectionProperties().isEmpty()) {
     config.setConnectionProperties(localConfig.getConnectionProperties());
   }
 }
  @Override
  protected ModelAndView handle(HttpServletRequest request, HttpServletResponse response)
      throws Exception {
    if (!isLogined(request.getSession(true))) {
      String queryString = request.getQueryString();
      queryString = StringUtil.isBlank(queryString) ? "" : "?" + queryString;
      return new ModelAndView(
          new StringBuilder("redirect:/login.jhtml?")
              .append(PARAMETER_REDIRECT_TO)
              .append("=")
              .append(URLEncoder.encode(request.getRequestURL().toString(), "utf-8"))
              .append(URLEncoder.encode(queryString, "utf-8"))
              .toString());
    }

    ModelAndView mv = handleLogined(request, response);

    return mv;
  }