有时您需要在 servlet/JSP/whatever 基于HttpServletRequest
. 类似http://server.name:8080/context/的东西。Servlet API 没有单一的方法来实现这一点。
直接的方法是将所有 URL 组件附加到 a StringBuffer
,例如
ctxUrl = sb.append(req.getScheme()).append("://")
.append(req.getgetServerName()).append(":")
.append(req.getServerPort()) etc
我想知道这个替代方案是否有任何问题(快 10 倍):
ctxUrl = req.getRequestURL();
ctxUrl = ctxUrl.substring(0, ctxUrl.lastIndexOf("/")));
上述两种方法总是会产生相同的结果吗?