• java 过滤器Filter


    一、首先在web.xml里进行拦截过滤

      <filter>
            <filter-name>platformServiceAgreementFilter</filter-name>
            <filter-class>com.yingle.web.lawyer.filter.PlatformServiceAgreementFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>platformServiceAgreementFilter</filter-name>
            <url-pattern>/faces/pc/secure/v/*</url-pattern>
        </filter-mapping>
        <filter-mapping>
            <filter-name>platformServiceAgreementFilter</filter-name>
            <url-pattern>/faces/mobile/secure/v/*</url-pattern>
        </filter-mapping>

    二、在com.yingle.web.lawyer.filter.PlatformServiceAgreementFilter包里处理响应

    PlatformServiceAgreementFilter extends HttpFilter


        /**
         *
         */
        @Override
        public void doFilter(HttpServletRequest request, HttpServletResponse response, HttpSession session,
            FilterChain chain) throws ServletException, IOException {
            Integer userProfileId = LoggedUserUtil.getLoggedUserProfileId();
            try {
                LawyerProfile lawyer = null;
                if (null != userProfileId) {
                    lawyer = lawyerProfileService.getById(userProfileId);
                }
                Page page = pageConfig.getLatest(PageConfig.PLATFORM_SERVICE_AGREEMENT);
                if (null != lawyer && null != page) {
                    Date publishTime = page.getPublishTime();
                    if (null == lawyer.getAcceptServiceAgreementTime()
                        || lawyer.getAcceptServiceAgreementTime().compareTo(publishTime) <= 0) {
                        String userAccessEnvironment = FacesEnvironmentContextListener.getUserAccessEnvironment(request);
                        String originRequesetURL = request.getRequestURL().toString();
                        String queryString = request.getQueryString();

                        if (StringUtil.isNotEmpty(queryString)) {
                            if (queryString.indexOf("faces-redirect") >= 0) {
                                originRequesetURL = originRequesetURL + "?" + queryString;
                            } else {
                                originRequesetURL = originRequesetURL + "?faces-redirect=true&" + queryString;
                            }
                        } else {
                            originRequesetURL = originRequesetURL + "?faces-redirect=true";
                        }

                        session.setAttribute(SessionKey.REQUEST_URL_BEFORE_AGREEMENT_KEY, originRequesetURL);

                        String redirectPagePath =
                            request.getContextPath()
                                + String.format(PLATFORM_SERVICE_AGREEMENT_URL, userAccessEnvironment);
                        ServletUtil.redirect(response, redirectPagePath);
                    }
                }
            } catch (ApplicationServiceException e) {
                throw new ServletException("encounter error while showing platform service agreement", e);
            }
            chain.doFilter(request, response);
        }

  • 相关阅读:
    sharepoint无法到搜索人员
    sharepoint 自定义操作 CustomAction
    sharepoint 自定列表总结
    向数据表中插入字符序号,例如"001""002"
    通过sharepoint 客户脚本,验证列表添加页面上的时间
    WebService入门(1)
    Java虚拟机1:什么是Java
    SFTP服务搭建
    Shell学习——特殊变量
    js知识点~扁平数据结构转Tree
  • 原文地址:https://www.cnblogs.com/netliang/p/java.html
Copyright © 2020-2023  润新知