servlet

Get client’s address and hostname in Servlet

In this example we are going to see how to get client’s address and hostname in a Servlet. Java offers a very convenient way to handle client and server information such as hostname ip address etc.

Getting a client’s address and hostname requires that you:

  • Get clients ip adfress using HttpServletRequest.getRemoteAddr().
  • Get clients hostname using HttpServletRequest.getRemoteHost().

 
 
 
 

 
Take a look at the code snippets that follow:

package com.javacodegeeks.snippets.enterprise;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class GetClientAddressAndHostnameInServlet extends HttpServlet {

	private static final long serialVersionUID = -2128122335811219481L;

	public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException {

		PrintWriter out = res.getWriter();
		res.setContentType("text/plain");

		// client's IP address
		String remoteAddr = req.getRemoteAddr();

		// client's hostname
		String remoteHost = req.getRemoteHost();

		out.write("remoteAddr = ");
		out.write(remoteAddr);
		out.write("n");
		out.write("remoteHost = ");
		out.write(remoteHost);

		out.close();

	}

}

web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  version="2.5">

	<display-name>JCG Snippets Web Project</display-name>

	<servlet>
		<servlet-name>JCG Snippets Application</servlet-name>
		<servlet-class>com.javacodegeeks.snippets.enterprise.GetClientAddressAndHostnameInServlet</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>JCG Snippets Application</servlet-name>
		<url-pattern>/jcgservlet</url-pattern>
	</servlet-mapping>

</web-app>

URL:

http://myhost:8080/jcgsnippets/jcgservlet

Output:

remoteAddr = 127.0.0.1 remoteHost = mypc

 
This is an example on how to get client’s address and hostname in a Servlet.

Ilias Tsagklis

Ilias is a software developer turned online entrepreneur. He is co-founder and Executive Editor at Java Code Geeks.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Back to top button