我通过一个简单的表单获得了一些用户数据.在处理相应的backing bean的action方法中的数据时,我正在以这种方式获取用户的IP地址:
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
String ipAddress = request.getHeader( "X-FORWARDED-FOR" );
if ( ipAddress == null ) {
ipAddress = request.getRemoteAddr();
}
Run Code Online (Sandbox Code Playgroud)
还有另一种方式,一种更"JSF"的方式,我不需要挂钩HttpServletRequest?我多次读过,不得不javax.servlet.*在@ManagedBean一个好的设计中使用,但我找不到别的东西.