我有一个需要知道当前HttpServletRequest
. getServerName()
jspx 可以#{mybean.serverName}
从它的 bean 中获取它,如下所示:
public String getServerName() {
HttpServletRequest request = (HttpServletRequest) FacesInstance.getCurrentInstance().getExternalContent().getRequest();
return request.getServerName();
}
但是,当它在代理(带有 mod_proxy 的 Apache)后面提供时,有时getServerName()
会返回节点的主机名而不是前端的主机名。其他时候它可以正常工作。
然而,一个普通的 jsp<% request.getServerName(); %>
总是会返回前端的主机名。
FacesInstance 有什么问题HttpServletRequest
?有没有办法获取“真实”的请求对象?