This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Well, getRemoteHost() returns the fully qualified name of the client or the last proxy that sent the request and getRemoteAddr() returns the IP address of the client or the last proxy that sent the request.
request.getRemoteAddr() returns the IP address of the comp whereas request.getRemoteHost() tries to retireve the host name. If host name is empty, then it tries to retrieve the IP address, just like how getRemoteAddr() works.