提交 42e228fe 编写于 作者: Z zhourui

增加proxy代理servlet

上级 f8234f44
......@@ -115,6 +115,7 @@ public abstract class JettySeverTools {
filter = FileFilterUtils.or(filter, new WildcardFileFilter("ehcache-*.jar"));
/* 如果不单独导入会导致java.lang.NoClassDefFoundError: org/eclipse/jetty/http/MimeTypes */
filter = FileFilterUtils.or(filter, new WildcardFileFilter("jetty-all-*.jar"));
filter = FileFilterUtils.or(filter, new WildcardFileFilter("jetty-proxy-*.jar"));
filter = FileFilterUtils.or(filter, new WildcardFileFilter("quartz-*.jar"));
filter = FileFilterUtils.or(filter, new WildcardFileFilter("slf4j-simple-*.jar"));
filter = FileFilterUtils.or(filter, new WildcardFileFilter("jul-to-slf4j-*.jar"));
......
package com.x.general.assemble.control.jaxrs;
import javax.servlet.annotation.WebFilter;
import com.x.base.core.project.jaxrs.AnonymousCipherManagerUserJaxrsFilter;
@WebFilter(urlPatterns = "/servlet/proxy/*", asyncSupported = true)
public class ProxyServletFilter extends AnonymousCipherManagerUserJaxrsFilter {
}
package com.x.general.assemble.control.servlet.proxy;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.jetty.proxy.ProxyServlet;
@WebServlet(urlPatterns = "/servlet/proxy/*", asyncSupported = true)
public class ActionDo extends ProxyServlet {
private static final long serialVersionUID = -2607395779516788482L;
@Override
protected String rewriteTarget(HttpServletRequest clientRequest) {
String url = clientRequest.getParameter("url");
if (StringUtils.isEmpty(url)) {
url = URLDecoder.decode(clientRequest.getRequestURL().toString(), StandardCharsets.UTF_8);
url = StringUtils.substringAfter(url, "/servlet/proxy/");
String query = clientRequest.getQueryString();
if (StringUtils.isEmpty(query)) {
url = url + "?" + query;
}
return url;
} else {
return URLDecoder.decode(url, StandardCharsets.UTF_8);
}
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册