package com.webportals.commons.uri;

import com.webportals.commons.uri.UrlWriterFactory.UrlResult;
import org.apache.commons.lang.StringUtils;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class UrlWriterFilter implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response,
                         FilterChain chain) throws IOException, ServletException {
        HttpServletRequest httpServletRequest = (HttpServletRequest) request;
        HttpServletResponse httpServletResponse = (HttpServletResponse) response;
        String requestURL = httpServletRequest.getRequestURL().toString();
        UrlResult urlResult = UrlWriterFactory.getUrlResult(requestURL);
        if (null != urlResult && StringUtils.isNotBlank(urlResult.getUrl())) {
            String realPath = urlResult.getUrl();
            if (urlResult.isFlag()) {
                httpServletResponse.sendRedirect(realPath);
                return;
            } else {
                if (!realPath.startsWith("/")) {
                    realPath = "/" + realPath;
                }
                httpServletRequest.getRequestDispatcher(realPath).forward(request, response);
                return;
            }
        } else {
            chain.doFilter(request, response);
        }
    }

    @Override
    public void destroy() {
    }

    @Override
    public void init(FilterConfig arg0) throws ServletException {
    }


}
最近下载更多
hawear  LV1 2019年1月14日
mim哒哒哒  LV1 2018年9月3日
chengqiang  LV13 2018年5月27日
z_kkkkk  LV1 2017年9月15日
czczicheng  LV6 2017年9月14日
qijian0503  LV5 2017年3月1日
msl1010895047  LV12 2016年12月20日
yp_zhou  LV6 2016年7月12日
dengjianbin  LV2 2016年5月9日
a4w  LV1 2015年8月10日
最近浏览更多
xk9587  LV16 2月7日
lzl111213  LV1 2023年3月11日
janewinner  LV2 2021年10月20日
3072025443  LV1 2021年7月7日
RGB  LV1 2021年4月12日
维他奶111  LV1 2020年6月20日
admin_z  LV22 2020年5月22日
Taodaahu  LV2 2019年6月12日
hawear  LV1 2019年1月14日
种花家  LV9 2019年1月2日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友