Menu

How hostname get resolved?

When we browse any website we use the hostname or domain name to access that website. Have you ever wonder how that hostname is getting mapped in the server and point to right application server to deliver the content to your browser? In this article we will study and understand how the hostname getting resolved on the server.

An application that is installed in our server can be accessed via browser, using IP address and port number or hostname. When you installed at that there is no hostname, you have only IP address to access, just for example in our local machine we use 127.0.0.0 

Resolving Hostname

 If we want to use a hostname instead of an IP address to connect to a remote device, the device that we are using to make the connection should be able to translate the hostname to an IP address. There are two ways to resolving a hostname to IP address. The first is creating host table on each router, and second is to build a Domain Name System(DNS) server.

1. Using Host Table

A host table provides name resolution, it does that only on the specific router that it was built upon. We use below command to build a host table on a router.

ip host <host_name> <port_number> <ip_address>

Note: default port number is 23.

2. Using Domain Name System(DNS)

If we are working with multiple devices, then we need not to create host table in each devices, instead of that we use DNS server to resolve the hostname.   


Hence, DNS server makes the things easy and easy to maintain the entries in compare to host table.

Why there is no main method in Servlet?

A Java Servlet is a plugin to a web server and always run in web container.

When we run any program that has main method, the program runs the web server with the help of main method. And a web server runs the Servlet.

Simple Spring project example

Create a implementation class ImplCode.java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import org.springframework.context.ApplicationContext;

import org.springframework.context.support.FileSystemXmlApplicationContext;

public class ImplCode {

 public static void main(String[] args) {

  ApplicationContext appContext=new FileSystemXmlApplicationContext("AppContextBeanFile.xml");

  Fruit fruit=appContext.getBean("fruit", Fruit.class);

  Vegetable veg=(Vegetable) appContext.getBean("veg");

  System.out.println(fruit.whoareyou());

  System.out.println(veg.whoareyou());

 }

}

Create a bean class Vegetable.java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
package rashiddemo;

public class Vegetable {

 public String whoareyou() {

  String intro="I am vegetable!!";

  return intro;

 }

}

Create another bean class Fruit.java

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
package rashiddemo;

public class Fruit {

 public String whoareyou() {

  String intro="I am fruit!";

  return intro;

 }

}

Create a AppContextBeanFile.xml and add your bean classes using bean tag.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

  <bean id="fruit" class="rashiddemo.Fruit"></bean>

 <bean id="veg" class="rashiddemo.Vegitable"></bean>

</beans>