Difference between Applets and Servlets

Prerequisite: Servlets and Applets

Applets Servlets
A Java applet is a small application which is written in Java and delivered to users in the form of bytecode. A servlet is a Java programming language class used to extend the capabilities of a server.
Applets are executed on client side. Servlets are executed on server side.
Applets are used to provide interactive features to web applications that cannot be provided by HTML alone like capture mouse input etc. Servlets are the Java counterpart to other dynamic Web content technologies such as PHP and ASP.NET.
Life cycle of Applets init(), stop(), paint(), start(), destroy(). Lifecycle of servlets are:- init( ), service( ), and destroy( ).
Packages available in Applets are :- import java.applet.*; and import java.awt.*. Packages available in servlets are:- import javax.servlet.*; and import java.servlet.http.*;
Applets use user interface classes like AWT and Swing. No User interface required.
Applets are more prone to risk as it is on the client machine. Servlets are under the server security.
Applets utilize more network bandwidth as it executes on the client machine. Servlets are executed on the servers and hence require less bandwidth.
Requires java compatible browser for execution. It accepts input from browser and generates response in the form of HTML Page, Javascript Object, Applets etc.

Examples:

  • Creating “hello world” Applet.
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // A Hello World Applet
    // Save file as HelloWorld.java
      
    import java.applet.Applet;
    import java.awt.Graphics;
      
    // HelloWorld class extends Applet
    public class HelloWorld extends Applet {
      
        // Overriding paint() method
        @Override
        public void paint(Graphics g)
        {
            g.drawString("Hello World", 20, 20);
        }
    }

    chevron_right

    
    

  • Creating “hello world” Servlet.
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Import required java libraries
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
      
    // Extend HttpServlet class
    public class HelloWorld extends HttpServlet {
      
        private String message;
      
        public void init() throws ServletException
        {
            // Do required initialization
            message = "Hello World";
        }
      
        public void doGet(HttpServletRequest request,
                          HttpServletResponse response)
            throws ServletException, IOException
        {
      
            // Set response content type
            response.setContentType("text/html");
      
            // Actual logic goes here.
            PrintWriter out = response.getWriter();
            out.println("<h1>" + message + "</h1>");
        }
      
        public void destroy()
        {
            // do nothing.
        }
    }

    chevron_right

    
    



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.