You are on page 1of 27

PROGRAM-12

Install TOMCAT web server and integrate with eclipse IDE.

OUTPUT:-
PROGRAM-17

Write a servlet program to select the details of an employee (emp id,


empname, empadd ,empphone) and display on browser in appropriate
format.

Index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h2>Employee Details Form</h2>
<form action="SaveEmployeeServlet" method="post">
<label for="emp_id">Employee ID:</label><br>
<input type="text" id="emp_id" name="emp_id"><br>
<label for="emp_name">Employee Name:</label><br>
<input type="text" id="emp_name" name="emp_name"><br>
<label for="emp_address">Employee Address:</label><br>
<input type="text" id="emp_address" name="emp_address"><br>
<label for="emp_phone">Employee Phone:</label><br>
<input type="text" id="emp_phone" name="emp_phone"><br><br>
<input type="submit" value="Submit">
</form>
<form action="EmployeeDetailsServlet" method="post">
<!-- Form fields -->
<input type="submit" value="Display">
</form>
</body>
</html>

SaveEmployeeServlet.java
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
/**
* Servlet implementation class SaveEmployeeServlet
*/
public class SaveEmployeeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public SaveEmployeeServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// TODO Auto-generated method stub
String empId = request.getParameter("emp_id");
String empName = request.getParameter("emp_name");
String empAddress = request.getParameter("emp_address");
String empPhone = request.getParameter("emp_phone");
Connection conn = null;
PreparedStatement pstmt = null;
try {
// Connect to your database
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "Work@09time";
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url, username, password);
// Insert data into database
String query = "INSERT INTO employees (emp_id, emp_name, emp_address, emp_phone)
VALUES (?, ?, ?, ?)";
pstmt = conn.prepareStatement(query);
pstmt.setString(1, empId);
pstmt.setString(2, empName);
pstmt.setString(3, empAddress);
pstmt.setString(4, empPhone);
pstmt.executeUpdate();
response.sendRedirect("index.html"); // Redirect back to form after successful submission
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
doGet(request, response);
}
}

EmployeeDetailsServlet.java
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
* Servlet implementation class EmployeeDetailsServlet
*/
public class EmployeeDetailsServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public EmployeeDetailsServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>Employee Details</title></head><body>");
out.println("<h2>Employee Details</h2>");
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
// Connect to your database
// String url = "jdbc:mysql://localhost:3306/your_database_name";
//String username = "your_username";
// String password = "your_password";
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "Work@09time");
// Query to select employee details
String query = "SELECT emp_id, emp_name, emp_address, emp_phone FROM employees";
pstmt = conn.prepareStatement(query);
rs = pstmt.executeQuery();
// Display employee details in appropriate format
out.println("<table border='1'><tr><th>Employee
ID</th><th>Name</th><th>Address</th><th>Phone</th></tr>");
while (rs.next()) {
out.println("<tr>");
out.println("<td>" + rs.getString("emp_id") + "</td>");
out.println("<td>" + rs.getString("emp_name") + "</td>");
out.println("<td>" + rs.getString("emp_address") + "</td>");
out.println("<td>" + rs.getString("emp_phone") + "</td>");
out.println("</tr>");
}
out.println("</table>");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) rs.close();
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
out.println("</body></html>");
}
//response.getWriter().append("Served at: ").append(request.getContextPath());
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
OUTPUT:
PROGRAM-18

Write a JSP program to Print current date & time.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"


pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.Date" %>
<%@ page import="java.time.LocalDateTime" %>
<%@ page import="java.time.format.DateTimeFormatter" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Current Date & Time</title>
</head>
<body>
<h1>Current Date & Time</h1>
<%-- Using java.util.Date --%>
<%
Date currentDate = new Date();
out.println("<p>Using java.util.Date: " + currentDate + "</p>");
%>
<%-- Using java.time.LocalDateTime --%>
<%
LocalDateTime currentDateTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = currentDateTime.format(formatter);
out.println("<p>Using java.time.LocalDateTime: " + formattedDateTime + "</p>");
%>
</body>
</html>
</body>
</html>
OUTPUT:
PROGRAM-19

Write a JSP program for basic arithmetic functions.

<!DOCTYPE html>
<html>
<head>
<title>Basic Arithmetic Functions</title>
</head>
<body>
<h1>Basic Arithmetic Functions</h1>
<form method="post" action="">
<label for="num1">Enter first number:</label>
<input type="number" name="num1" id="num1" required><br><br>
<label for="num2">Enter second number:</label>
<input type="number" name="num2" id="num2" required><br><br>
<input type="submit" value="Calculate">
</form>
<%-- Process the form submission --%>
<%!
// Method to perform arithmetic operations
public double calculate(double num1, double num2, String operator) {
double result = 0;
switch (operator) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
if (num2 != 0) {
result = num1 / num2;
} else {
result = Double.NaN; // Division by zero, return NaN (Not a Number)
}
break;
}
return result;
}
%>
<%-- Perform calculations upon form submission --%>
<%
if (request.getMethod().equals("POST")) {
double num1 = Double.parseDouble(request.getParameter("num1"));
double num2 = Double.parseDouble(request.getParameter("num2"));
// Perform arithmetic operations
double sum = calculate(num1, num2, "+");
double difference = calculate(num1, num2, "-");
double product = calculate(num1, num2, "*");
double quotient = calculate(num1, num2, "/");
// Display results
out.println("<h2>Results:</h2>");
out.println("<p>Sum: " + sum + "</p>");
out.println("<p>Difference: " + difference + "</p>");
out.println("<p>Product: " + product + "</p>");
if (!Double.isNaN(quotient)) {
out.println("<p>Quotient: " + quotient + "</p>");
} else {
out.println("<p>Quotient: Division by zero error</p>");
}
}
%>
</body>
</html>

OUTPUT:
PROGRAM-20

Write a JSP program to display Strings.

<html>
<head>
<title>Display Strings</title>
</head>
<body>
<h1>Display Strings</h1>
<%-- Using scriptlets to display strings --%>
<%
// Define strings
String greeting = "Hello, World!";
String message = "Welcome to JSP programming.";
// Display strings (The out.println() method is used to output the strings to the web page.)
out.println("<p>" + greeting + "</p>");
out.println("<p>" + message + "</p>");
%>
</body>
</html>

OUTPUT:
PROGRAM-22

Write a JSP program to upload file into the server.

File.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>File Upload</title>
</head>
<body>
<h2>File Upload</h2>
<form action="UploadFileServlet" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file"><br><br>
<input type="submit" value="Upload">
</form>
</body>
</html>

UploadFileServlet.java
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.MultipartConfig;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.Part;
@WebServlet("/UploadFileServlet")
@MultipartConfig
public class UploadFileServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String uploadDirectory = getServletContext().getRealPath("/") + "upload/uploaded_files";
File uploadDir = new File(uploadDirectory);
if (!uploadDir.exists()) {
uploadDir.mkdirs();
}
Part filePart = request.getPart("file");
String fileName = getFileName(filePart);
InputStream inputStream = filePart.getInputStream();
Files.copy(inputStream, new File(uploadDirectory + File.separator + fileName).toPath(),
StandardCopyOption.REPLACE_EXISTING);
response.sendRedirect("file.jsp"); // Redirect to a success page
}
private String getFileName(Part part) {
String contentDisp = part.getHeader("content-disposition");
String[] tokens = contentDisp.split(";");
for (String token : tokens) {
if (token.trim().startsWith("filename")) {
return token.substring(token.indexOf("=") + 2, token.length() - 1);
}
}
return "";
}
}

OUTPUT:-
Program – 21
Write a JSP program to show and display at least 3active control.

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;

public class SwingLayoutDemok {

public static void main(String[] args) {


// Create the main frame
JFrame frame = new JFrame("Swing Layout Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);

// Create buttons
JButton button1 = new JButton("Button 1");
JButton button2 = new JButton("Button 2");
JButton button3 = new JButton("Button 3");

// Create panels
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();

// Set layout manager for panel1


panel1.setLayout(new GridLayout(1, 1));
panel1.add(button1);

// Set layout manager for panel2


panel2.setLayout(new FlowLayout());
panel2.add(button2);

// Set layout manager for panel3


panel3.setLayout(new BorderLayout());
panel3.add(button3, BorderLayout.CENTER);

// Create tabbed pane


JTabbedPane tabbedPane = new JTabbedPane();
tabbedPane.addTab("Grid Layout", panel1);
tabbedPane.addTab("Flow Layout", panel2);
tabbedPane.addTab("Border Layout", panel3);

// Add tabbed pane to the frame


frame.add(tabbedPane);

// Display the frame


frame.setVisible(true);
}
}

OUTPUT:-
Program – 23

Write a JSP program count no. of visitors on website.

count-visitor.jsp

count-visitor.jsp

<%@ page import="java.io.*,java.util.*" %>


<html>
<head>
<title>Count visitor</title>
</head>
<body>
<form>
<fieldset style="width:20%; background-color:#e6ffe6;">
<legend>Count visitor</legend>
<%
Integer hitsCount =
(Integer)application.getAttribute("hitCounter");
if( hitsCount ==null || hitsCount == 0 )
{
/* First visit */
out.println("Welcome to my website!!");
hitsCount = 1;
}
else
{
/* return visit */
out.println("Welcome to my website!!");
hitsCount += 1;
}
application.setAttribute("hitCounter", hitsCount);
%>
<p>You are visitor number: <%= hitsCount%></p>
</fieldset>
</form>
</body>
</html>
web.xml

<web-app>
<servlet>
<servlet-name>xyz</servlet-name>
<jsp-file>/count-visitor.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>xyz</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>

OUTPUT:-
Program – 24

Write a JSP program session tracking.

SessionDemo.jsp

<%@ page import="java.io.*,java.util.*" %>


<%
// Get session creation time.
Date createTime = new Date(session.getCreationTime());
// Get last access time of this web page.
Date lastAccessTime = new Date(session.getLastAccessedTime());

String title = "Welcome Back to my website";


Integer visitCount = new Integer(0);
String visitCountKey = new String("visitCount");
String userIDKey = new String("userID");
String userID = new String("Surendra");

// Check if this is new comer on your web page.


if (session.isNew())
{
title = "Welcome to my website";
session.setAttribute(userIDKey, userID);
session.setAttribute(visitCountKey, visitCount);
}
visitCount = (Integer)session.getAttribute(visitCountKey);
visitCount = visitCount + 1;
userID = (String)session.getAttribute(userIDKey);
session.setAttribute(visitCountKey, visitCount);
%>
<html>
<head>
<title>Session Tracking</title>
</head>
<body>
<center>
<h1>Session Tracking Example</h1>
</center>
<table border="1" align="center">
<tr bgcolor="#ffcccc">
<th>Session info</th>
<th>Value</th>
</tr>
<tr >
<td>id</td>
<td><% out.print( session.getId()); %></td>
</tr>
<tr>
<td>Creation Time</td>
<td><% out.print(createTime); %></td>
</tr>
<tr>
<td>Time of Last Access</td>
<td><% out.print(lastAccessTime); %></td>
</tr>
<tr>
<td>User ID</td>
<td><% out.print(userID); %></td>
</tr>
<tr>
<td>Number of visits</td>
<td><% out.print(visitCount); %></td>
</tr>
</table>
</body>
</html>

web.xml

<web-app>
<servlet>
<servlet-name>xyz</servlet-name>
<jsp-file>/SessionDemo.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>xyz</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>

OUTPUT:-
Program – 25

Write a JSP program for error handling.

index.jsp

<form action="process.jsp">

No1:<input type="text" name="n1" /><br/><br/>

No1:<input type="text" name="n2" /><br/><br/>

<input type="submit" value="divide"/>

</form>

process.jsp

<%@ page errorPage="error.jsp" %>

<%

String num1=request.getParameter("n1");

String num2=request.getParameter("n2");

int a=Integer.parseInt(num1);

int b=Integer.parseInt(num2);

int c=a/b;

out.print("division of numbers is: "+c);

%>

error.jsp

<%@ page isErrorPage="true" %>

<h3>Sorry an exception occured!</h3>

Exception is: <%= exception %>

OUTPUT:-
Program – 13

Write a simple servlet that just generates plain text.

HelloWorld.java

package hall;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("Hello World");
}
}

OUTPUT:-
Program – 14

Write a Program which displays cookie id.

index.html

<form action="login">
User Name:<input type="text" name="userName"/><br/>
Password:<input type="password" name="userPassword"/><br/>
<input type="submit" value="submit"/></form>

MyServlet1.java

import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class MyServlet1 extends


HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response) {
try{
response.setContentType("text/html");
PrintWriter pwriter = response.getWriter();

String name = request.getParameter("userName");


String password = request.getParameter("userPassword");
pwriter.print("Hello "+name);
pwriter.print("Your Password is: "+password);

//Creating two cookies


Cookie c1=new Cookie("userName",name);
Cookie c2=new Cookie("userPassword",password);

//Adding the cookies to response header


response.addCookie(c1);
response.addCookie(c2);
pwriter.print("<br><a href='welcome'>View Details</a>");
pwriter.close();
}catch(Exception exp){
System.out.println(exp);
}
}}

MyServlet2.java

import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class MyServlet2 extends


HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response){
try{
response.setContentType("text/html");
PrintWriter pwriter = response.getWriter();

//Reading cookies
Cookie c[]=request.getCookies();
//Displaying User name value from cookie
pwriter.print("Name: "+c[1].getValue());
//Displaying user password value from cookie
pwriter.print("Password: "+c[2].getValue());
pwriter.close();
}catch(Exception exp){
System.out.println(exp);
}
}}

web.xml

<web-app><display-name>BeginnersBookDemo</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list><servlet>
<servlet-name>Servlet1</servlet-name>
<servlet-class>MyServlet1</servlet-class></servlet><servlet-mapping>
<servlet-name>Servlet1</servlet-name>
<url-pattern>/login</url-pattern></servlet-mapping><servlet>
<servlet-name>Servlet2</servlet-name>
<servlet-class>MyServlet2</servlet-class></servlet><servlet-mapping>
<servlet-name>Servlet2</servlet-name>
<url-pattern>/welcome</url-pattern></servlet-mapping></web-app>

OUTPUT:-

Welcome Screen:

After clicking submit:

After Clicking View Details:


Program – 15

Write a program that provide the GenericServlet class and its method implementation.

index.html

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Generic Servlet


Demo</title></head><body><a href="welcome">Click to call Servlet</a></body></html>

ExampleGeneric.java

import java.io.*;import javax.servlet.*;

public class ExampleGeneric extends GenericServlet{


public void service(ServletRequest req,ServletResponse res)throws IOException,ServletException{
res.setContentType("text/html");
PrintWriter pwriter=res.getWriter();
pwriter.print("<html>");
pwriter.print("<body>");
pwriter.print("<h2>Generic Servlet Example</h2>");
pwriter.print("<p>Hello BeginnersBook Readers!</p>");
pwriter.print("</body>");
pwriter.print("</html>");
}}

web.xml

<web-app><display-name>BeginnersBookServlet</display-name><welcome-file-list><welcome-
file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-
file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-
file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list>

<servlet><servlet-name>MyGenericServlet</servlet-name><servlet-class>ExampleGeneric</servlet-
class></servlet>

<servlet-mapping><servlet-name>MyGenericServlet</servlet-name><url-pattern>/welcome</url-
pattern></servlet-mapping>
</web-app>
OUTPUT:-
PROGRAM -11

Write a program to demonstrate the Remote method invocat ion in java.

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;

// Define the remote interface


interface Hello extends Remote {
String sayHello() throws RemoteException;
}

// Implement the remote interface


class HelloImpl extends UnicastRemoteObject implements Hello {
public HelloImpl() throws RemoteException {
super();
}

public String sayHello() throws RemoteException {


return "Hello, world!";
}
}

public class RmiExample {


public static void main(String[] args) {
try {
// Create a HelloImpl object
HelloImpl obj = new HelloImpl();

// Bind the remote object's stub in the registry


Registry registry = LocateRegistry.createRegistry(1099);
registry.rebind("Hello", obj);

System.out.println("Server ready");

// Get the registry


Registry clientRegistry = LocateRegistry.getRegistry("localhost", 1099);

// Lookup the remote object


Hello stub = (Hello) clientRegistry.lookup("Hello");

// Invoke the remote method


String message = stub.sayHello();
System.out.println("Message from server: " + message);
} catch (Exception e) {
System.err.println("Exception: " + e.toString());
e.printStackTrace();
}
}
}
OUTPUT:-
Program – 16

Write a HTTP servlet program to display Hello! This is Your First Servlet on browser and also
deploy the complete process into the container<web.xml> file.

.Java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class FirstServlet extends HttpServlet {


protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");

PrintWriter out = response.getWriter();


out.println("<html>");
out.println("<head><title>First Servlet</title></head>");
out.println("<body>");
out.println("<h1>Hello! This is Your First Servlet</h1>");
out.println("</body>");
out.println("</html>");
}
}

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">

<servlet>
<servlet-name>FirstServlet</servlet-name>
<servlet-class>com.example.FirstServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/first</url-pattern>
</servlet-mapping>

</web-app>

OUTPUT:-

You might also like