1.
“Hello World” Servlet Program:
Program Description:
This servlet handles HTTP GET requests and generates a basic HTML
response.
Folder Structure:
demo/
├── src/
│ └── main/
│ └── java/
│ └── com/
│ └── FirstwebApp/
│ └── [Link]
├── webapp/
│ └── WEB-INF/
| └── [Link]
│ └── [Link]
├── target/
└── [Link]
Code:
package [Link];
import [Link]. IOException;
import javax. servlet. http. HttpServlet;
import javax. servlet. Http. HttpServletRequest;
import javax. servlet. http. HttpServletResponse;
import [Link].*;
public class helloworld extends HttpServlet{
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException,IOException {
[Link]("text/html");
[Link]().println("Hello from Servlet");
}}
Index JSP Program:
Program Description:
This JSP page contains a basic HTML structure with a hyperlink that directs
users to the servlet.
Code:
<html>
<body>
<h2>Hello World! </h2>
<h1><a href= “. /firstservlet">Click here</a></h1>
</body>
</html>
Output:
The servlet outputs a simple message: 'Hello from Servlet'.
• [Link]:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"[Link] >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>[Link]</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/myServlet</url-pattern>
</servlet-mapping>
</web-app>
2. SignIn Servlet Program:
Program Description:
This servlet processes a user's login credentials by retrieving the
username and password from the request. It prints the credentials to
the console and also displays them in the HTTP response.
Code - [Link]:
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class signin extends HttpServlet {
protected void service(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
String userName = [Link]("username");
String password = [Link]("password");
[Link]("User Name: " + userName);
[Link]("Password: " + password);
PrintWriter out = [Link]();
[Link]("User Name: " + userName);
[Link]("Password: " + password);
}
}
Code - [Link]:
<!DOCTYPE html>
<html>
<head>
<title>Login Page</title>
</head>
<body>
<h2>Login</h2>
<form action="./submit" method="post">
<label for="username">Username:</label>
<input type="text" id="username" name="username"
required><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"
required><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
Output:
• [Link]:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"[Link] >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>submit</servlet-name>
<servlet-class>[Link]. signin</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>submit</servlet-name>
<url-pattern>/submit</url-pattern>
</servlet-mapping>
</web-app>
3. Cookies:
Program Description:
Stores username in a cookie in the first servlet and retrieves it in the second
servlet.
Folder Structure:
cookies/
├── src/
│ └── main/
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ ├── [Link]
│ │ └── [Link]
│ └── webapp/
│ ├── WEB-INF/
│ │ └── [Link]
│ └── [Link]
└── [Link]
Code: [Link]
package [Link];
import [Link]. * ;
import javax. servlet. *;
import javax. servlet. http. * ;
public class CookiesServlet1 extends HttpServlet {
protected void doGet (HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
response. setContentType("text/html");
PrintWriter out = response. getWriter ();
String username = request. getParameter ("username");
// Create a cookie
Cookie cookie = new Cookie ("username", username);
response. addCookie(cookie);
out. println ("<h1>Welcome " + username + "</h1>");
out. println ("<a href='cookieservlet2'>Go to Second Servlet</a>");
}
}
Code: [Link]
package [Link];
import [Link]. * ;
import javax. servlet. * ;
import javax. servlet. http. * ;
public class CookiesServlet2 extends HttpServlet {
protected void doGet (HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
response. setContentType("text/html");
PrintWriter out = response. getWriter ();
// Read cookies
Cookie [] cookies = request. getCookies ();
if (cookies! = null) {
for (Cookie cookie: cookies) {
if (cookie. getName (). equals("username")) {
out. println("<h1>Welcome " + cookie. getValue () + "</h1>");
} else {
out. println("<h1>No cookies found! < /h1>");
[Link]:
<web-app>
<servlet>
<servlet-name>CookiesServlet1</servlet-name>
<servlet-class>[Link]. CookiesServlet1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CookiesServlet1</servlet-name>
<url-pattern>/cookieservlet1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>CookiesServlet2</servlet-name>
<servlet-class>[Link]. CookiesServlet2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CookiesServlet2</servlet-name>
<url-pattern>/cookieservlet2</url-pattern>
</servlet-mapping>
</web-app>
[Link]:
<!DOCTYPE html>
<html>
<head>
<title>Login with Cookies</title>
</head>
<body>
<form action="cookieservlet1" method="GET">
<label for="username">Username:</label>
<input type="text" id="username" name="username"
required><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"
required><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
Output:
4. Hidden Form Fields:
Program Description:
Passes username using a hidden form field between servlets.
Folder Structure:
hidden_form/
├── src/
│ └── main/
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ ├── [Link]
│ │ └── [Link]
│ └── webapp/
│ ├── WEB-INF/
│ │ └── [Link]
│ └── [Link]
└── [Link]
Code: [Link]
package [Link];
import [Link]. *;
import javax. servlet. *;
import javax. servlet. http.*;
public class HiddenFormServlet1 extends HttpServlet {
protected void doGet (HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
response. setContentType("text/html");
PrintWriter out = response. getWriter ();
String username = request. getParameter ("username");
out. println ("<h1>Welcome " + username + "</h1>");
out. println ("<form action='hiddenformservlet2' method='POST'>");
out. println ("<input type='hidden' name='hiddenUname' value='" +
username + "'>");
out. println ("<input type='submit' value='Submit Hidden Data'>");
out. println ("</form>");
}
}
Code: [Link]
package [Link];
import [Link]. * ;
import javax. servlet. *;
import javax. servlet. http. *;
public class HiddenFormServlet2 extends HttpServlet {
protected void doPost (HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
response. setContentType("text/html");
PrintWriter out = response. getWriter ();
String hiddenName = request. getParameter ("hiddenUname");
out. println ("<h1>Hidden Form Data Received: " + hiddenName +
"</h1>");
[Link]:
<web-app>
<servlet>
<servlet-name>HiddenFormServlet1</servlet-name>
<servlet-class>[Link]. HiddenFormServlet1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HiddenFormServlet1</servlet-name>
<url-pattern>/hiddenformservlet1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>HiddenFormServlet2</servlet-name>
<servlet-class>[Link]. HiddenFormServlet2 </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HiddenFormServlet2</servlet-name>
<url-pattern>/hiddenformservlet2</url-pattern>
</servlet-mapping>
</web-app>
[Link]:
<!DOCTYPE html>
<html>
<head>
<title>Login with Hidden Form</title>
</head>
<body>
<form action="hiddenformservlet1" method="GET">
<label for="username">Username:</label>
<input type="text" id="username" name="username"
required><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"
required><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
Output:
5. HTTP Session Management:
Program Description:
Stores username in an HTTP session in the first servlet and retrieves it in the
second servlet.
Folder Structure:
http_session/
├── src/
│ └── main/
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ ├── [Link]
│ │ └── [Link]
│ └── webapp/
│ ├── WEB-INF/
│ │ └── [Link]
│ └── [Link]
└── [Link]
Code: [Link]
package [Link];
import java. io. * ;
import javax. servlet. *;
import javax. servlet. http.*;
public class SessionServlet1 extends HttpServlet {
protected void doGet (HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
response. setContentType text/html");
PrintWriter out = response. getWriter ();
String username = request. getParameter ("username");
// Create a session and store username
HttpSession session = request. getSession();
session. setAttribute ("uname", username);
out. println("<h1>Welcome " + username + "</h1>");
out. println ("<a href='sessionservlet2'>Submit Using
HttpSession</a>");
}
}
Code: [Link]
package [Link];
import [Link]. * ;
import javax. servlet. *;
import javax. servlet. http. *;
public class SessionServlet2 extends HttpServlet {
protected void doGet (HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
response. setContentType ("text/html");
PrintWriter out = response. getWriter ();
// Retrieve session
HttpSession session = request. getSession (false); // Do not create a new
session
if (session! = null) {
String name=(String)session. getAttribute ("uname");
out. print ("Hello from HttpSession Object "+name);
}
else {
out. println ("<h1>No active session found! < /h1>");
[Link]:
<!DOCTYPE html>
<html>
<head>
<title>Login with HTTP Session Management</title>
</head>
<body>
<h2>Login</h2>
<form action="sessionservlet1" method="GET">
<label for="username">Username:</label>
<input type="text" id="username" name="username"
required><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"
required><br><br>
<button type="submit">Login</button>
</form>
</body>
</html>
Output:
[Link] :
<web-app>
<servlet>
<servlet-name>SessionServlet1</servlet-name>
<servlet-class>[Link]. SessionServlet1 </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SessionServlet1</servlet-name>
<url-pattern>/sessionservlet1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SessionServlet2</servlet-name>
<servlet-class>[Link]. SessionServlet2 </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SessionServlet2</servlet-name>
<url-pattern>/sessionservlet2</url-pattern>
</servlet-mapping>
</web-app>
6. URL Rewriting:
Program Description:
Passes username via URL query parameters between servlets.
Folder Structure:
url_rewriting/
├── src/
│ └── main/
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ ├── [Link]
│ │ └── [Link]
│ └── webapp/
│ ├── WEB-INF/
│ │ └── [Link]
│ └── [Link]
└── [Link]
Code: [Link]
package [Link];
import java. io. * ;
import javax. servlet. *;
import javax. servlet. http.*;
public class URLRewritingServlet1 extends HttpServlet {
protected void doGet (HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
response. setContentType ("text/html");
PrintWriter out = response. getWriter ();
String username = request. getParameter ("uname");
out. println ("<a href='servlet2?uname= "+n+"'>URL Rewriting</a>");
}
}
Code: [Link]
package [Link];
import [Link]. * ;
import javax. servlet. *;
import javax. servlet. http.*;
public class URLRewritingServlet2 extends HttpServlet {
protected void doGet (HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
response. setContentType ("text/html");
PrintWriter out = response. getWriter ();
// Retrieve username from query string
String n=request. getParameter ("uname");
out. print ("Hello from URL Rewriting "+n);
}
[Link]:
<!DOCTYPE html>
<html>
<head>
<title>Login with URL Rewriting</title>
</head>
<body>
<form action="urlrewritingservlet1" method="GET">
<label for="username">Username:</label>
<input type="text" id="username" name="username"
required><br><br>
<button type="submit">Submit</button>
</form>
</body>
</html>
Output:
[Link]:
<web-app>
<servlet>
<servlet-name>URLRewritingServlet1</servlet-name>
<servlet-class>[Link]. URLRewritingServlet1 </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>URLRewritingServlet1</servlet-name>
<url-pattern>/urlrewritingservlet1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>URLRewritingServlet2</servlet-name>
<servlet-class>[Link]. URLRewritingServlet2 </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>URLRewritingServlet2</servlet-name>
<url-pattern>/urlrewritingservlet2</url-pattern>
</servlet-mapping>
</web-app>