/**
* 获取请求中的url
*/
public static String getUrl(ServerHttpRequest serverHttpRequest) {
HttpServletRequest request = ((ServletServerHttpRequest) serverHttpRequest).getServletRequest();
//获取当前访问url
String url = buildRequestUrl(request);
int firstQuestionMarkIndex = url.indexOf("?");
if (firstQuestionMarkIndex != -1) {
return url.substring(0, firstQuestionMarkIndex);
}
return url;
}
/**
* 获取URL
* @param r
* @return
*/
private static String buildRequestUrl(HttpServletRequest r) {
return buildRequestUrl(r.getServletPath(), r.getRequestURI(), r.getContextPath(),
r.getPathInfo(), r.getQueryString());
}
/**
* 获取URL
* @param servletPath
* @param requestURI
* @param contextPath
* @param pathInfo
* @param queryString
* @return
*/
private static String buildRequestUrl(String servletPath, String requestURI,
String contextPath, String pathInfo, String queryString) {
StringBuilder url = new StringBuilder();
if (servletPath != null) {
url.append(servletPath);
if (pathInfo != null) {
url.append(pathInfo);
}
}
else {
url.append(requestURI.substring(contextPath.length()));
}
if (queryString != null) {
url.append("?").append(queryString);
}
return url.toString();
}
WebSocket和HTTP请求中获取正确的请求地址,用户ant请求匹配
猜你喜欢
转载自blog.csdn.net/zhuwei_clark/article/details/103642808
今日推荐
周排行