Deployment Descriptor:
In a java web application a file named web.xml is known as deployment descriptor. It is a xml file and <web-app> is the root element for it. When a request comes web server uses web.xml file to map the URL of the request to the specific code that handle the request.
Sample code of web.xml file:
<web-app> <servlet> <servlet-name>servletName</servlet-name> <servlet-class>servletClass</servlet-class> </servlet> <servlet-mapping> <servlet-name>servletName</servlet-name> <url-pattern>*.*</url-pattern> </servlet-mapping> </web-app> |
How web.xml works:
When a request comes it is matched with url pattern in servlet mapping attribute. In the above example all urls mapped with the servlet. You can specify a url pattern according to your need. When url matched with url pattern web server try to find the servlet name in servlet attributes same as in servlet mapping attribute. When match found control is goes to the associated servlet class.
Servlet “Hello World” example by extending HttpServlet class.
HelloWorld.java
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * This servlet program is used to print "Hello World" * on client browser using HttpServlet class. * @author w3spoint */ public class HelloWorld extends HttpServlet { private static final long serialVersionUID = 1L; //no-argument constructor. public HelloWorld() { } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<h1>Hello World using HttpServlet class.</h1>"); out.close(); } } |
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>HelloWorld</servlet-name> <servlet-class> com.w3spoint.business.HelloWorld </servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/HelloWorld</url-pattern> </servlet-mapping> </web-app> |
Output:
Download this example.
Next Topic: welcome-file-list in web.xml with example.
Previous Topic: HttpServlet class in java with example.