Akshay Lab Practical
Akshay Lab Practical
1. Define a class Bank Account to perform the withdraw and balance enquiry operation.
create a object to manage accounts for multiple users.
import java.util.Scanner;
class BankAccount {
String accountHolder;
double balance;
BankAccount(String holder, double initialBalance)
{ accountHolder = holder;
balance = initialBalance;
}
switch (menuChoice)
{ case 1:
System.out.print("Enter amount to deposit: ");
double depositAmount = input.nextDouble();
userAccount.deposit(depositAmount);
break;
case 2:
System.out.print("Enter amount to withdraw: ");
double withdrawAmount = input.nextDouble();
userAccount.withdraw(withdrawAmount);
break;
case 3:
System.out.println(userAccount);
break;
case 4:
System.out.println("Exiting...");
break;
default:
System.out.println("Invalid choice. Please try again.");
}
} while (menuChoice != 4);
Output:
Menu:
1. Deposit Amount
2. Withdraw Amount
3. Display Information
4. Exit
Please enter your choice: 1
Enter amount to deposit: 1000
Deposited: 1000 New balance:3000
Menu:
1. Deposit Amount
2. Withdraw Amount
3. Display Information
4. Exit
Please enter your choice: 2
Enter amount to withdraw: 2000
Withdrew: 2000 New balance:1000
Menu:
1. Deposit Amount
2. Withdraw Amount
3. Display Information
4. Exit
Please enter your choice: 3
Account Holder: Akshay Gunjal, Balance: 1000
import java.util.Scanner;
class Circle
{
double radius;
public void inputRadius()
{
Scanner sc = new Scanner(System.in);
System.out.print("Enter the radius of the circle: ");
radius = sc.nextDouble();
}
}
class Area extends Circle
{
public double calculateArea()
{
return Math.PI * radius * radius;
}
}
Output:
interface Animal
{ void eat();
interface Bird
{ void fly();
}
}
class Bat implements Animal, Animal.Bird
{ @Override
public void eat() {
System.out.println("The bat eats insects.");
}
@Override
public void fly()
{ System.out.println("The bat can fly.");
}
}
public class MultipleInheritanceExample
{ public static void main(String[] args) {
Bat bat = new Bat();
bat.eat();
bat.fly();
}
}
Output :
The bat eats insects
The bat can fly
4. Implement menu driven program using an ArrayList.
import java.util.ArrayList;
import java.util.Scanner;
do {
System.out.println("\nMenu:");
System.out.println("1. Add Element");
System.out.println("2. Remove Element");
System.out.println("3. Display Elements");
System.out.println("4. Search Element");
System.out.println("5. Exit");
System.out.print("Enter your choice: ");
choice = scanner.nextInt();
scanner.nextLine();
switch (choice)
{ case 1:
System.out.print("Enter element to add: ");
String element = scanner.nextLine();
list.add(element);
System.out.println("Element added successfully.");
break;
case 2:
System.out.print("Enter element to remove: ");
String removeElement = scanner.nextLine();
if (list.remove(removeElement))
{ System.out.println("Element removed
successfully.");
} else {
System.out.println("Element not found.");
}
break;
case 3:
System.out.println("Elements in the list: " + list);
break;
case 4:
System.out.print("Enter element to search: ");
String searchElement = scanner.nextLine();
if (list.contains(searchElement))
{ System.out.println("Element found in the list.");
} else {
System.out.println("Element not found.");
}
break;
case 5:
System.out.println("Exiting program...");
break;
default:
System.out.println("Invalid choice! Please try again.");
}
} while (choice != 5);
scanner.close();
}
}
Output:
Menu:
1. Add Element
2. Remove Element
3. Display Elements
4. Search Element
5. Exit
Enter your choice: 1
Enter element to add: 50
Element added successfully.
Menu:
1.Add Element
2.Remove Element
3.Display Elements
4.Search Element
5.Exit
Enter your choice: 1
Enter element to add: 60
Element added successfully.
Menu:
1.Add Element
2.Remove Element
3.Display Elements
4.Search Element
5.Exit
Enter your choice: 1
Enter element to add: 70
Element added successfully.
Menu:
1.Add Element
2.Remove Element
3.Display Elements
4.Search Element
5.Exit
Enter your choice: 2
Enter element to
remove :60
Element removed successfully.
import java.util.Vector;
class Item {
String name;
double price;
int quantity;
@Override
public String toString() {
return name + " - Rs" + price + " x " + quantity + " = Rs" + getTotalPrice();
}
}
class ShoppingCart {
private Vector<Item> cart;
public ShoppingCart()
{ cart = new Vector<>();
}
class Task {
String description;
boolean isCompleted;
@Override
public String toString() {
return "[ " + (isCompleted ? "✓" : "✗") + " ] " + description;
}
}
public ToDoList() {
tasks = new HashMap<>();
taskIdCounter = 1;
}
while (true) {
System.out.println("\nTo-Do List Menu:");
System.out.println("1. Add Task");
System.out.println("2. Remove Task");
System.out.println("3. Mark Task as Completed");
System.out.println("4. View Tasks");
System.out.println("5. Exit");
System.out.print("Choose an option: ");
switch (choice)
{ case 1:
System.out.print("Enter task description: ");
String description = scanner.nextLine();
toDoList.addTask(description);
break;
case 2:
System.out.print("Enter task ID to remove: ");
int removeId = scanner.nextInt();
toDoList.removeTask(removeId);
break;
case 3:
System.out.print("Enter task ID to mark as completed: ");
int completeId = scanner.nextInt();
toDoList.markTaskCompleted(completeId);
break;
case 4:
toDoList.viewTasks();
break;
case 5:
System.out.println("Exiting To-Do List...");
scanner.close();
return;
default:
System.out.println("Invalid choice. Please select again.");
}
}
}
}
Output:
To-Do List Menu:
1. Add Task
2. Remove Task
3. Mark Task as Completed
4. View Tasks
5. Exit
Choose an option: 1
Enter task description: sleep
Task added with ID: 1
@Override
public void run() {
for (int i = 1; i <= 5; i++) {
System.out.println(threadName + " (Runnable) is running... Iteration: " + i);
try {
Thread.sleep(700);
} catch (InterruptedException e)
{ System.out.println(threadName + " was interrupted.");
}
}
System.out.println(threadName + " (Runnable) has finished execution.");
}
}
Output:
Main thread starting...
Main thread execution completed.
Thread-4 (Runnable) is running... Iteration: 1
Thread-2 is running... Iteration: 1
Thread-3 (Runnable) is running... Iteration: 1
Thread-1 is running... Iteration: 1
Thread-2 is running... Iteration: 2
Thread-1 is running... Iteration: 2
Thread-3 (Runnable) is running... Iteration: 2
Thread-4 (Runnable) is running... Iteration: 2
Thread-1 is running... Iteration: 3
Thread-2 is running... Iteration: 3
Thread-4 (Runnable) is running... Iteration: 3
Thread-3 (Runnable) is running... Iteration: 3
Thread-1 is running... Iteration: 4
Thread-2 is running... Iteration: 4
Thread-2 is running... Iteration: 5
8. Write a program to Demonstrate Thread Lifecycle (New, Runnable, Blocked, Waiting,
Terminated
class DemoThread implements Runnable
{ private final Object lock;
@Override
public void run()
{ try {
System.out.println(Thread.currentThread().getName() + " is in RUNNABLE state.");
Thread.sleep(1000); // TIMED_WAITING state
synchronized (lock) {
System.out.println(Thread.currentThread().getName() + " has entered BLOCKED state
(waiting for lock).");
Thread.sleep(1000); // Still holding lock
System.out.println(Thread.currentThread().getName() + " is now in RUNNABLE state
again.");
}
synchronized (lock) {
System.out.println(Thread.currentThread().getName() + " is now WAITING.");
lock.wait(); // Moves to WAITING state
}
} catch (InterruptedException e)
{ e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + " has TERMINATED.");
}
}
try {
Thread.sleep(500);
System.out.println(thread1.getName() + " state: " + thread1.getState()); // Expected:
TIMED_WAITING
Thread.sleep(1000);
System.out.println(thread2.getName() + " state: " + thread2.getState()); // Expected:
BLOCKED
Thread.sleep(2000);
synchronized (lock) {
lock.notifyAll(); // Notify waiting threads
}
} catch (InterruptedException e)
{ e.printStackTrace();
}
try {
thread1.join();
thread2.join();
} catch (InterruptedException e)
{ e.printStackTrace();
}
// Example 2: ArrayIndexOutOfBoundsException
int[] numbers = { 1, 2, 3 };
System.out.println(numbers[5]); // Accessing invalid index
// Example 3: NumberFormatException
int num = Integer.parseInt("abc"); // Trying to parse invalid number
index.html
<!DOCTYPE html>
<!--
Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this
license
Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/Html.html to edit this template
-->
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<h1>hello world</h1>
<div><h2>TODO write content<h2></div>
</body>
</html>
FirstSercvlet.java
package com.servlets;
import java.io.IOException;
import javax.servlet.*;
@Override
public void service(ServletRequest req, ServletResponse resp)throws ServletException,
IOException
{
System.out.println("Servicinf");
@Override
public void destroy()
{
System.out.println("Destroying Object --");
}
@Override
public ServletConfig getServletConfig()
{
return this.conf;
}
@Override
public String getServletInfo()
{
return "We have created this servlet";
}
}
Web.xml
<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>first</servlet-name>
<servlet-class>com.servlets.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>first</servlet-name>
<url-pattern>/web</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
Output:
hello world
RegisterServlet.java
package com.practice;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.http.*;
String name1=request.getParameter("user_name");
String password1=request.getParameter("user_password");
String email1=request.getParameter("user_email");
String gender1=request.getParameter("user_gender");
Index.html
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css"/>
<title>Form page </title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div class ="container">
<h1>My form</h1>
<tr>
<td>Enter Password</td><!-- comment -->
<td> <input type ="password" name="user_password" /></td>
</tr>
<tr>
<td>Enter Your Email</td><!-- comment -->
<td> <input type="email" name="user_email" /> </td>
</tr>
<tr>
<td>Select Gender</td><!-- comment -->
<td> <input type="radio" name="user_gender" value="Male">male
<input type="radio" name="user_gender" value="Female">Female </td>
</tr>
<tr>
<td>
<input type="checkbox" value="checked" name="condition" />
</td>
<td>
Agree
</td>
</tr>
<tr>
<td>
<button type="submit">Register</button>
<button type="reset">Reset</button>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
Web.xml
<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>registere</servlet-name>
<servlet-class>com.practice.RegisterServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>registere</servlet-name>
<url-pattern>/RegisterServlet</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
Output:
My form
Enter Your name Akshay Gunjal
Agree
Register Reset
registration Page
Password : Akshay123
Email ID : [email protected]
Gender : Male
12. Write a Java Servlet program to demonstrate the use of cookies in a web application.
CookieServlet.java
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;
DisplayCookieServlet.java
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 DisplayCookieServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Output :
sum.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-
8"%>
<html>
<head><title>Sum of Two Numbers</title></head>
<body>
<form method="post">
Enter Number 1: <input type="text" name="num1"><br>
Enter Number 2: <input type="text" name="num2"><br>
<input type="submit" value="Calculate Sum">
</form>
<%
String n1 = request.getParameter("num1");
String n2 = request.getParameter("num2");
Output :
Enter Number 1: 60
Enter Number 2: 10
Sum: 70
14. Write a program to implement JSP tags
jsp_tags.jsp
Output :
Multiplication Result: 20
Date: 15-March-2025
Hello, Akshay
15. Write a program to create a registration form using JSP. Store data in the database.
Also displays registration details on the web page.
MySQL Command:
use mydb;
register.jsp
register_process.jsp
while (rs.next())
{ out.println("<tr>");
out.println("<td>" + rs.getInt("id") + "</td>");
out.println("<td>" + rs.getString("name") + "</td>");
out.println("<td>" + rs.getString("email") + "</td>");
out.println("</tr>");
}
con.close();
} catch (Exception e) {
out.println("<h3>Error: " + e.getMessage() + "</h3>");
}
%>
</table>
</body>
</html>
Web.xml
<web-app>
<servlet>
<servlet-name>JSP</servlet-name>
<jsp-file>/register.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>JSP</servlet-name>
<url-pattern>/register</url-pattern>
</servlet-mapping>
</web-app>
Output :
Name: Akshay Gunjal
Email: [email protected]
Password: *******
Registration Successful!
MySQL Command :
create database feedback_db;
use feedback_db;
create table feedback(id int auto_increment primary key, name varchar(30),email
varchar(30),message text);
feedbackForm.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Feedback Form</title>
</head>
<body>
<h2>Feedback Form</h2>
<form action="FeedbackServlet" method="post">
Name: <input type="text" name="name" required><br><br>
Email: <input type="email" name="email" required><br><br>
Message:<br><textarea name="message" rows="5" cols="30"
required></textarea><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
FeedbackServelet.java
package com.jdbc;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/FeedbackServlet")
public class FeedbackServlet extends HttpServlet
{ @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// Retrieve form data
String name = request.getParameter("name");
String email = request.getParameter("email");
String message = request.getParameter("message");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
try {
// Load JDBC driver
Class.forName("com.mysql.jdbc.Driver");
// Establish connection
connection = DriverManager.getConnection(jdbcURL, dbUser, dbPassword);
Output:
Feedback Form
Name: Akshay Gunjal
Email: [email protected]
Message: Working
Database :
Select * from feedback;
id name email message
1 Akshay Gunjal [email protected] Working