Practical No.
24
1. Write a Program to Create Cookie
i) Html file
<!DOCTYPE html>
<html>
<head>
<title>saee_cookie1</title>
</head>
<body>
<form action="saee_cookie1" method="post">
<b>Enter the value of My cookie:</b>
<input type="text" name="data" size="25">
<input type="submit" value="Submit">
</form>
</body>
</html>
ii) Servlet file:
import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
@WebServlet(urlPatterns = {"/saee_cookie1"})
public class saee_cookie1 extends HttpServlet {
public void doPost(HttpServletRequest req,HttpServletResponse res)throws IOException,ServletException
{
String data=req.getParameter("data");
Cookie c=new Cookie("Saee...",data);
res.addCookie(c);
res.setContentType("text/html");
PrintWriter pw=res.getWriter();
pw.println("<b> My Cookie has been set to</b>");
pw.println(data);
pw.close();
Output:
2) Write a servlet program storing the name of the user in the cookie
object and accessing it in another servlet.
i) Html File:
<!DOCTYPE html>
<html>
<head>
<title>Saee_prac_24</title>
</head>
<body>
<form action="Cookie1" method="post">
Name: <input type="text" name="userName" required/><br/>
<input type="submit" value="go"/>
</form>
</body>
</html>
ii) Servlet 1:
import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
@WebServlet(urlPatterns = {"/Cookie1"})
public class FirstServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
try {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String n = request.getParameter("userName");
out.print("Welcome " + n);
Cookie ck = new Cookie("uname", n);
response.addCookie(ck);
out.print("<form action='Cookie2' method='post'>");
out.print("<input type='submit' value='Go to Next Servlet'>");
out.print("</form>");
out.close();
} catch(Exception e) {
System.out.println(e);
iii) Servlet 2:
import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
@WebServlet(urlPatterns = {"/Cookie2"})
public class SecondServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
try {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Cookie[] ck = request.getCookies();
if (ck != null) {
String username = null;
for (Cookie cookie : ck)
if ("uname".equals(cookie.getName()))
username = cookie.getValue();
break;
if (username != null) {
out.print("Hello " + username);
} else {
out.print("No username cookie found.");
} else {
out.print("No cookies were sent with this request.");
out.close();
} catch(Exception e) {
System.out.println(e);
iv) Web.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-
app_4_0.xsd"
version="4.0">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<servlet>
<servlet-name>s1</servlet-name>
<servlet-class>FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>s1</servlet-name>
<url-pattern>/servlet1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>s2</servlet-name>
<servlet-class>SecondServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>s2</servlet-name>
<url-pattern>/servlet2</url-pattern>
</servlet-mapping>
</web-app>
Output:
3) Write a program to generate user information using cookie
i) Html file:
<!DOCTYPE html>
<html>
<head>
<title>User Information Form</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<h2>User Information</h2>
<form action="setUserInfo" method="post">
Name: <input type="text" name="userName" required><br/>
Email: <input type="email" name="userEmail" required><br/>
Age: <input type="number" name="userAge" required><br/>
<input type="submit" value="Submit">
</form>
</body>
</html>
ii) Servlet 1:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SetUserInfoServlet1 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name = request.getParameter("userName");
String email = request.getParameter("userEmail");
String age = request.getParameter("userAge");
response.addCookie(new Cookie("userName", name));
response.addCookie(new Cookie("userEmail", email));
response.addCookie(new Cookie("userAge", age));
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h3>Information Saved!</h3>");
out.println("<p>Your information has been saved in cookies.</p>");
out.println("<a href='displayUserInfo'>Click here to view your information</a>");
out.println("</body></html>");
out.close();
iii) Servlet 2:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DisplayUserInfoServlet1 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Cookie[] cookies = request.getCookies();
String name = null, email = null, age = null;
if (cookies != null) {
for (Cookie cookie : cookies) {
switch (cookie.getName()) {
case "userName":
name = cookie.getValue();
break;
case "userEmail":
email = cookie.getValue();
break;
case "userAge":
age = cookie.getValue();
break;
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
if (name != null && email != null && age != null) {
out.println("<h3>Stored User Information</h3>");
out.println("<p>Name: " + name + "</p>");
out.println("<p>Email: " + email + "</p>");
out.println("<p>Age: " + age + "</p>");
} else {
out.println("<h3>No user information found in cookies.</h3>");
out.println("</body></html>");
out.close();
iv) Web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-
app_4_0.xsd"
version="4.0">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<servlet>
<servlet-name>SetUserInfoServlet1</servlet-name>
<servlet-class>SetUserInfoServlet1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SetUserInfoServlet1</servlet-name>
<url-pattern>/setUserInfo</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DisplayUserInfoServlet1</servlet-name>
<servlet-class>DisplayUserInfoServlet1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplayUserInfoServlet1</servlet-name>
<url-pattern>/displayUserInfo</url-pattern>
</servlet-mapping>
</web-app>
Output:
4) Write a program to get Browser Information.
i) Html file:
<!DOCTYPE html>
<html>
<head>
<title>Saee_prac_24</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<h2>Get Browser Information</h2>
<p><a href="browserInfo">Click here to view your browser information</a></p>
</body>
</html>
ii) Servlet file:
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;
public class BrowserInfoServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String userAgent = request.getHeader("User-Agent");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h3>Browser Information</h3>");
if (userAgent != null) {
out.println("<p>User-Agent: " + userAgent + "</p>");
if (userAgent.toLowerCase().contains("chrome")) {
out.println("<p>Browser: Google Chrome</p>");
} else if (userAgent.toLowerCase().contains("firefox")) {
out.println("<p>Browser: Mozilla Firefox</p>");
} else if (userAgent.toLowerCase().contains("msie") || userAgent.toLowerCase().contains("trident")) {
out.println("<p>Browser: Internet Explorer</p>");
} else if (userAgent.toLowerCase().contains("safari")) {
out.println("<p>Browser: Safari</p>");
} else {
out.println("<p>Browser: Unknown</p>");
if (userAgent.toLowerCase().contains("windows")) {
out.println("<p>Operating System: Windows</p>");
} else if (userAgent.toLowerCase().contains("mac")) {
out.println("<p>Operating System: macOS</p>");
} else if (userAgent.toLowerCase().contains("x11") || userAgent.toLowerCase().contains("linux")) {
out.println("<p>Operating System: Linux</p>");
} else {
out.println("<p>Operating System: Unknown</p>");
}
} else {
out.println("<p>User-Agent header not found</p>");
out.println("</body></html>");
out.close();
iii) Web.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-
app_4_0.xsd"
version="4.0">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<servlet>
<servlet-name>BrowserInfoServlet</servlet-name>
<servlet-class>BrowserInfoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>BrowserInfoServlet</servlet-name>
<url-pattern>/browserInfo</url-pattern>
</servlet-mapping>
</web-app>
Output: