Quantcast
Channel: OmniFaces & JSF Fans
Viewing all articles
Browse latest Browse all 74

[OmniFaces utilities (2.3)] Get the Internet Protocol (IP) address of the client that sent the request

$
0
0

[OmniFaces utilities] The getRemoteAddr() method returns the Internet Protocol (IP) address of the client that sent the request. This will first check the X-Forwarded-For request header and if it's present, then return its first IP address, else just return HttpServletRequest#getRemoteAddr() unmodified.

Method:

Usage:

  • inside a servlet filter or even a plain vanilla servlet (basically, when FacesContext is not available):
import org.omnifaces.util.Servlets;
...
@WebServlet("/MyServlet")
public class MyServlet extends HttpServlet {
 protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // e.g. 'remoteAddr' may be '0:0:0:0:0:0:0:1'
  String remoteAddr = Servlets.getRemoteAddr(request);
 }
 ...
}
  • in JSF, when FacesContext is available use, Faces#getRemoteAddr()or more clumsy (not recommended). 
import org.omnifaces.util.Servlets;
...
// or simply use, Faces#getRequest()
FacesContext context = FacesContext.getCurrentInstance();
ExternalContext externalContext = context.getExternalContext();
HttpServletRequest request = (HttpServletRequest) externalContext.getRequest();

// e.g. 'remoteAddr' may be '0:0:0:0:0:0:0:1'
String remoteAddr = Servlets.getRemoteAddr(request);

API GH

Viewing all articles
Browse latest Browse all 74

Trending Articles