diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/UrlFilter.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/UrlFilter.java new file mode 100644 index 00000000..77654581 --- /dev/null +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/UrlFilter.java @@ -0,0 +1,38 @@ +import org.springframework.stereotype.Component; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +public class UrlFilter implements Filter { + @Value("${application.pre.url}") + private String preUrl; + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + + } + + @Override + public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { + HttpServletResponse response = (HttpServletResponse) servletResponse; + HttpServletRequest request = (HttpServletRequest) servletRequest; + String requestURI = request.getRequestURI(); + String[] split = requestURI.split("/"); + if (split != null && split.length > 1 && split[1].equals(preUrl)) { + request.getRequestDispatcher(requestURI.substring(preUrl.length() + 1, requestURI.length())).forward(request, response); + } else { + filterChain.doFilter(request, response); + } + } + + @Override + public void destroy() { + + } +} \ No newline at end of file