Java Servlet Hello World with Tomcat


Hello World Java Servlet Example , Tutorial or Sample Program

This article will is for new-bee of Java Servlet. Here I will explain you how you can run your first hello world Servlet example on Tomcat. 

First download and install tomcat and JDK on your machine. 

Create following folder structure inside tomcat installation directory.
[tomcat install directory]/webapps/hello
[tomcat install directory]/webapps/hello/WEB-INF
[tomcat install directory]/webapps/hello/WEB-INF/classes
[tomcat install directory]/webapps/hello/WEB-INF/classes/test

Now using any text based editor write following java code using any editor and save the file as  HelloServlet.java at  [tomcat install directory]/webapps/hello/WEB-INF/classes/test
package test;

import java.io.*;

import javax.servlet.http.*;
import javax.servlet.*;

public class HelloServlet extends HttpServlet {
  public void doGet (HttpServletRequest req,
                     HttpServletResponse res)
    throws ServletException, IOException
  {
    PrintWriter out = res.getWriter();

    out.println("Hello, world!");
    out.close();
  }
}
After this go to command prompt and change directory to  [tomcat install directory]/webapps/hello/WEB-INF/classesand give following command
javac -cp .\..\..\..\..\lib\servlet-api.jar test\HelloServlet.java

We should start understanding the servlets from the beginning. Lets start by making one program which will just print the "Hello World" on the browser. Each time the user visits this page it will display "Hello World" to the user.

As we know that the our servlet extends the HttpServlet and overrides the doGet() method which it inherits from the HttpServlet class. The server invokes doGet() method whenever web server recieves the GET request from the servlet. The doGet() method takes two arguments first is HttpServletRequest object and the second one is HttpServletResponse object and this method throws the ServletException.

Whenever the user sends the request to the server then server generates two obects, first is HttpServletRequest object and the second one is HttpServletResponse object. HttpServletRequest object represents the client's request and the HttpServletResponse represents the servlet's response. 

Inside the doGet(() method our servlet has first used the setContentType() method of the response object which sets the content type of the response to text/html. It is the standard MIME content type for the Html pages. After that it has used the method getWriter() of the response object to retrieve a PrintWriter object. To display the output on the browser we use the println() method of the PrintWriter class. 

Now configuring web.xml for deploying and running the Servlet. Create web.xml with following content at [tomcat install directory]/webapps/hello/WEB-INF directory
<web-app version="2.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xsi:schemalocation="http:/java.sun.com/dtd/web-app_2_3.dtd">
  <servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>test.HelloServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>
</web-app>

Now just start tomcat server with default configuration and open following URL in your browser.

http://localhost:8080/hello/hello

You will see "Hello, world!" as an output in your browser.

Note: Before starting tomcat make sure you have set JAVA_HOME environment variable point to installation directory of JDK.


Explanation

The servlet-mapping tells Resin that the URL /hello should invoke the hello-world servlet.
The servlet tells Resin that hello-world uses the test.HelloWorld class and that the value of the greeting init parameter is Hello World.

HelloWorld.java contains the actual servlet code. It just prints a trivial HTML page filled with the greeting specified in the web.xml.

init() and destroy() are included mostly for illustration. Server will call init() when it starts the servlet and destroy before server destroys it.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值