The request object is passed as a Java argument to the servlet method generated from your JSP. The argument's name is ... wait for it ... request
.
So you should be able to refer to it in a scriptlet embedded in your JSP; e.g.
<%
InetAddress addr = request.getRemoteAddr();
// blah blah blah
%>
It is debatable whether you should be doing this kind of thing in a JSP. It is generally accepted as "best practice" that JSPs should only be used for formatting output. The business logic of a webapp should be in a controller servlet that then finally forwards to the JSP servlet to generate the HTML (or whatever).
If you are going to put business logic into a JSP, scriptlets tend to be difficult to maintain ... though if you are just going to display the IP address, that shouldn't be a concern. (The preferred approach from an engineering perspective is to use tags and JSP expression language.)
Finally, there is no guarantee that the IP address returned by getRemoteAddr()
will be the actual client IP address. It could be the address of a proxy, or even a complete fabrication.