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.
// 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
);
}
}
- Creating “hello world” Servlet.
// 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.
}
}