0% found this document useful (0 votes)
11 views46 pages

BCA Practical Completion Certificate

Uploaded by

abhisheksah72672
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views46 pages

BCA Practical Completion Certificate

Uploaded by

abhisheksah72672
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

PRACTICAL SUBMISSION

CERTIFICATE

Yashwantrao Chavan Maharashtra Open University


DnyaGangotri, Govardhan, Near Gangapur Dam, Nashik - 422222

School of Computer Science


(Bachelor of Computer Application)
Study Centre: LN College [31272]

B.C.A P131
Session: December 2025
Class: -
Subject: -
Name: -
P.R.N No: -
Academic Year: -

Subject Teacher External Examiner Principal

DATE:

PLACE: MUMBA
COLLEGE PRACTICAL COMPLETION CERTIFICATE

CLASS: - _______
YEAR: - ______
PRN No: -____________________
This certificate serves as confirmation that Mr. _______________________
has successfully completed the ____________________- Practical as part of his
_______coursework for the academic year 2025-26. His practical work has been
reviewed and evaluated by the subject teacher and external examiner, meeting all
academic standards and requirements.

________________ ___________________ ________________


Subject Teacher External Examiner Principal

DATE:__________
PLACE:MUMBAI
BCA (SEMESTER – V)
INDEX
P Activities Date Page Signature
No: No.
01 Servlet -I

02 Servlet -II

03 Servlet -III
04 JSP - I

05 JSP - II

06 JDBC
07 Java Email

08 Hibernate- I

09 Hibernate- II

10 Spring- I
11 Spring- II

12 JAVA with JSON- I

13 JAVA with JSON- II


14 JAVA with JSON- III

15 JAVA with JSON- IV


ADVANCE JAVA - PRACTICAL
PRACTICAL No: - 1 (Servlet -I)
1) Write a servlet to determine whether the number is prime or not.
A)

[Link]
package Mypackage;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

@WebServlet("/PrimeNumberServlet")
public class PrimeNumberServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

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


[Link]("text/html");
PrintWriter out;
try {
out = [Link]();

// Get the number parameter from the request


String numberParam = [Link]("number");
if (numberParam != null && ![Link]()) {
try {
int number = [Link](numberParam);
boolean isPrime = checkPrime(number);
[Link]("number", number);
[Link]("isPrime", isPrime);
[Link]("/[Link]").forward(request, response);
}
catch (NumberFormatException e) {
[Link]("Invalid number format. Please provide a valid integer.");
}
}
else {
[Link]("Please provide a number parameter.");
}
}
catch (IOException e) {
[Link](); // Handle the exception more gracefully in a production environment.
}
}
private boolean checkPrime(int number) {
if (number <= 1) {
return false;
}
for (int i = 2; i <= [Link](number); i++) {
if (number % i == 0) {
return false;
}
}
return true;
1
ADVANCE JAVA - PRACTICAL
}
}

[Link]
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link] [Link]
version="4.0">
<display-name>PrimeNumberServlet</display-name>
<servlet>
<servlet-name>PrimeNumberServlet</servlet-name>
<servlet-class>[Link]</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PrimeNumberServlet</servlet-name>
<url-pattern>/Mypackage/PrimeNumberServlet</url-pattern>
</servlet-mapping>
</web-app>

[Link]
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Prime Number Checker</title>
</head>
<body>
<h2>Prime Number Checker</h2>
<form action="PrimeNumberServlet" method="get" onsubmit="return validateForm()">
Enter a number: <input type="text" name="number">
<input type="submit" value="Check">
</form>

<%
if ([Link]("isPrime") != null) {
boolean isPrime = (boolean) [Link]("isPrime");
if (isPrime) {
[Link]("The number " + [Link]("number") + " is prime.");
} else {
[Link]("The number " + [Link]("number") + " is not prime.");
} }
%>
</body>
</html>

OUTPUT:

2
ADVANCE JAVA - PRACTICAL

PRACTICAL No: - 2 (Servlet -II)


2) Write a servlet program where user enters a name from a form, and you send back the length of the
name to him.
A)

[Link]

package mypackage2;

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

@WebServlet("/Lengthofthename")
public class Lengthofthename extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doPost(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {

// Get the user-entered name parameter from the form


String userName = [Link]("userName");

// Calculate the length of the name


int nameLength = [Link]();

// Set the response content type


[Link]("text/html");

// Get the PrintWriter


PrintWriter out = [Link]();

// Write the HTML response


[Link]("<html>");
[Link]("<head><title>Name Length</title></head>");
[Link]("<body>");
[Link]("<h2>Hello, " + userName + "!</h2>");
[Link]("<p>Your name has " + nameLength + " characters.</p>");
[Link]("</body>");
[Link]("</html>");
}

3
ADVANCE JAVA - PRACTICAL
}

[Link]
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="[Link]
xmlns="[Link]
xsi:schemaLocation="[Link] [Link]
id="WebApp_ID" version="6.0">

<servlet>
<servlet-name>Lengthofthename</servlet-name>
<servlet-class>[Link]</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Lengthofthename</servlet-name>
<url-pattern>/[Link]</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>[Link]</welcome-file>
</welcome-file-list>
</web-app>

[Link]

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


<!DOCTYPE html>
<html>
<head>
<title>Enter Your Name</title>
</head>
<body>
<form action="Lengthofthename" method="post">
<label for="userName">Enter your name:</label>
<input type="text" id="userName" name="userName" required>
<br>
<input type="submit" value="Submit">
</form>
</body>
</html>

OUTPUT:

4
ADVANCE JAVA - PRACTICAL

5
ADVANCE JAVA - PRACTICAL
PRACTICAL No: - 3 (Servlet -III)
3) Write a servlet program to accept a number, if number is even redirect to [Link] if number is odd
redirect to [Link].
A)

[Link]
package mypackage3;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

@WebServlet("/Redirectuser")
public class Redirectuser extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doPost(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
// Get the number parameter from the form
String numberParam = [Link]("number");

try {
// Parse the number
int number = [Link](numberParam);

// Check if the number is even or odd


String redirectURL;
if (number % 2 == 0) {
// If the number is even, redirect to [Link]
redirectURL = "[Link]
} else {
// If the number is odd, redirect to [Link]
redirectURL = "[Link]
}

// Redirect the user to the specified URL


[Link](redirectURL);

} catch (NumberFormatException e) {
// Handle the case where the input is not a valid number
[Link]().println("Please enter a valid number.");
}
}
}

[Link]
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="[Link]
xmlns="[Link]
xsi:schemaLocation="[Link] [Link]
id="WebApp_ID" version="6.0">
<display-name>PRACTICAL-3</display-name>
<welcome-file-list>

6
ADVANCE JAVA - PRACTICAL
<welcome-file>[Link]</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>Redirectuser</display-name>
<servlet-name>Redirectuser</servlet-name>
<servlet-class>[Link]</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Redirectuser</servlet-name>
<url-pattern>/[Link]</url-pattern>
</servlet-mapping>
</web-app>

[Link]
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<title>Number Redirect</title>
</head>
<body>
<form action="Redirectuser" method="post">
<label for="number">Enter a number:</label>
<input type="text" id="number" name="number" required>
<br>
<input type="submit" value="Submit">
</form>
</body>
</html>

OUTPUT:

7
ADVANCE JAVA - PRACTICAL

8
ADVANCE JAVA - PRACTICAL
PRACTICAL No: - 4 (JSP – I)
4) Write a JSP code to accept a number and revert whether the number is prime or not.
A)

[Link]
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Prime Number Checker</title>
</head>
<body>
<%
// Get the number parameter from the request
String numberParam = [Link]("number");
if (numberParam != null && ![Link]()) {
try {
// Parse the number
int number = [Link](numberParam);

// Check if the number is prime


boolean isPrime = true;
if (number <= 1) {
isPrime = false;
} else {
for (int i = 2; i <= [Link](number); i++) {
if (number % i == 0) {
isPrime = false;
break;
}
}
}
// Display the result
[Link]("<p>The number " + number + " is " + (isPrime ? "prime." : "not prime.") + "</p>");
} catch (NumberFormatException e) {
// Handle the case where the input is not a valid number
[Link]("<p>Please enter a valid number.</p>");
}
}
%>
<form action="" method="get">
<label for="number">Enter a number:</label>
<input type="text" id="number" name="number" required>
<br>
<input type="submit" value="Check Prime">
</form>
</body>
</html>

OUTPUT:

9
ADVANCE JAVA - PRACTICAL

PRACTICAL No: - 5 (JSP – II)


5) Make 2 JSP Pages, accept the username and password from first page, if the username is tom and
password is tommy, login will be successful and redirect it to [Link] page and store the username
in session from login and display it on [Link].
A)

[Link]
package mypackage5;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

@WebServlet("/loginProcess")
public class LoginProcessServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doPost(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
// Get username and password from the request
String username = [Link]("username");
String password = [Link]("password");

// Check if the username and password are correct


if ("tom".equals(username) && "tommy".equals(password)) {
// Set the username in the session
HttpSession session = [Link]();
[Link]("username", username);

// Redirect to the [Link] page


[Link]("[Link]");
} else {
// Set an error message in case of failed login
[Link]("errorMessage", "Incorrect username or password. Please try again.");

// Forward back to the [Link] page


[Link]("[Link]").forward(request, response);
}
}
}

[Link]
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="[Link]
xmlns="[Link]
xsi:schemaLocation="[Link] [Link]
10
ADVANCE JAVA - PRACTICAL
id="WebApp_ID" version="6.0">
<servlet>
<servlet-name>LoginProcessServlet</servlet-name>
<servlet-class>LoginProcessServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginProcessServlet</servlet-name>
<url-pattern>/[Link]</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>[Link]</welcome-file>
</welcome-file-list>
</web-app>

[Link]
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Login Page</title>
</head>
<body>
<form action="/PRACTICAL-5/loginProcess" method="post">
<label for="username">Username:</label>
<input type="text" id="username" name="username" required>
<br>
<label for="password">Password:</label>
<input type="password" id="password" name="password" required>
<br>
<input type="submit" value="Login">

</form>
<%
// Check if an error message exists in the request
String errorMessage = (String) [Link]("errorMessage");
if (errorMessage != null && ![Link]()) {
%>

<p style="color: red;"><%= errorMessage %></p>


<%
}
%>
</body>
</html>

[Link]
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Logged In Page</title>
</head>
<body>
<h2>Welcome, <%= [Link]("username") %>!</h2>
<p>You are now logged in.</p>
</body>

11
ADVANCE JAVA - PRACTICAL
</html>

[Link]
<project xmlns="[Link] xmlns:xsi="[Link]
xsi:schemaLocation="[Link] [Link]
<modelVersion>4.0.0</modelVersion>
<groupId>emailsend</groupId>
<artifactId>PRATCIAL-6</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>PRATCIAL-6 Maven Webapp</name>
<url>[Link]

<properties>
<[Link]>17</[Link]>
<[Link]>17</[Link]>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Servlet API -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>[Link]-api</artifactId>

<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!-- JavaMail API - ->
<dependency>

<groupId>[Link]</groupId>
<artifactId>[Link]</artifactId>
<version>1.6.2</version>
</dependency>
</dependencies>
</project>

OUTPUT:

12
ADVANCE JAVA - PRACTICAL
Practical No: - 6 (Java Email)
1. Send a text email using Java code
2. Send a HTML Email using Java Code
3. Send an HTML with an attachment using Java Code

A)
[Link]

package emailsend;
import [Link];
import [Link];
import [Link];
import [Link].*;
import [Link].*;
import [Link];
import [Link];
import [Link].*;
@WebServlet("/HtmlEmailSender")
public class HtmlEmailSender extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doPost(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
String to = [Link]("to");
String subject = [Link]("subject");
String messageBody = "<html><body><h2>" + subject + "</h2><p>" + [Link]("messageBody") +
"</p></body></html>";

String resultMessage = sendHtmlEmail(to, subject, messageBody);


[Link]("text/html;charset=UTF-8");
PrintWriter out = [Link]();
[Link]("<html><body><h2>" + resultMessage + "</h2><p>Message Body:</p><p>" + messageBody +
"</p></body></html>");
}

private String sendHtmlEmail(String to, String subject, String messageBody) {


String smtpHost = "[Link]";
String smtpPort = "587";
String senderEmail = "itsnewlife20s@[Link]";
String senderPassword = "ymhn liaq npln vcen";

if (to == null || [Link]().isEmpty()) {


return "Recipient email is null or empty. Email not sent.";
}

Properties properties = new Properties();


[Link]("[Link]", smtpHost);
[Link]("[Link]", smtpPort);
[Link]("[Link]", "true");
[Link]("[Link]", "true");

Session session = [Link](properties, new Authenticator() {


protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(senderEmail, senderPassword);
}

13
ADVANCE JAVA - PRACTICAL
});

try {
Message message = new MimeMessage(session);
[Link](new InternetAddress(senderEmail));
[Link]([Link], [Link](to));
[Link](subject);
[Link](messageBody, "text/html");
[Link](message);

return "HTML email sent successfully!";


} catch (MessagingException e) {
[Link]();
return "Error sending HTML email: " + [Link]();
}
}
}

[Link]

package emailsend;
import [Link];
import [Link].*;
import [Link].*;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
import [Link];
import [Link];
import [Link];
import [Link];

@WebServlet("/HtmlEmailWithAttachmentSender")
@MultipartConfig
public class HtmlEmailWithAttachmentSender extends HttpServlet {

private static final long serialVersionUID = 1L;

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


String to = [Link]("to");
String subject = [Link]("subject");
String messageBody = [Link]("messageBody");
Part attachmentPart = [Link]("attachment");
sendHtmlEmailWithAttachment(to, subject, messageBody, attachmentPart);
[Link]("text/plain");
[Link]().write("Email With Attachment sent successfully!");
}

private void sendHtmlEmailWithAttachment(String to, String subject, String messageBody, Part attachmentPart) {
String smtpHost = "[Link]";
String smtpPort = "587";
String senderEmail = "itsnewlife20s@[Link]";
String senderPassword = "ymhn liaq npln vcen";

14
ADVANCE JAVA - PRACTICAL
Properties properties = new Properties();
[Link]("[Link]", smtpHost);
[Link]("[Link]", smtpPort);
[Link]("[Link]", "true");
[Link]("[Link]", "true");

Session session = [Link](properties, new Authenticator() {


protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(senderEmail, senderPassword);
}
});
try {
Message message = new MimeMessage(session);
[Link](new InternetAddress(senderEmail));
[Link]([Link], [Link](to));
[Link](subject);

Multipart multipart = new MimeMultipart();


MimeBodyPart htmlPart = new MimeBodyPart();
[Link](messageBody, "text/html");
[Link](htmlPart);

if (attachmentPart != null) {
MimeBodyPart attachment = new MimeBodyPart();
String fileName = [Link]();
InputStream attachmentContent = [Link]();
[Link](new DataHandler(new ByteArrayDataSource(attachmentContent,
[Link]())));
[Link](fileName);
[Link](attachment);
}
[Link](multipart);
[Link](message);
[Link]("Sent HTML message with attachment successfully....");
} catch (MessagingException | IOException e) {
[Link]();
}
}
}

[Link]

<?xml version="1.0" encoding="UTF-8"?>


<project xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link] [Link]
<modelVersion>4.0.0</modelVersion>

<groupId>PRACTICAL-6</groupId>
<artifactId>emailsend</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<[Link]>17</[Link]>
<[Link]>17</[Link]>
</properties>

15
ADVANCE JAVA - PRACTICAL

<dependencies>
<!-- JavaMail API -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>[Link]</artifactId>
<version>1.6.2</version>
</dependency>
<!-- Servlet API -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>[Link]-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>[Link]</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.0</version>
</plugin>
</plugins>
</build>
</project>

[Link]
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link] [Link]
version="3.1">
<servlet>
<servlet-name>HtmlEmailSender</servlet-name>
<servlet-class>[Link]</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HtmlEmailSender</servlet-name>
<url-pattern>/[Link]</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>HtmlEmailWithAttachmentSender</servlet-name>
<servlet-class>[Link]</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HtmlEmailWithAttachmentSender</servlet-name>
<url-pattern>/[Link]</url-pattern>
</servlet-mapping>
</web-app>

[Link]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">

16
ADVANCE JAVA - PRACTICAL
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HTML Email Form</title>
</head><body>
<h2>Send HTML Email</h2>
<form id="emailForm" method="post" onsubmit="return setFormAction()">
<label for="to">To:</label>
<input type="email" id="to" name="to" required><br>
<label for="subject">Subject:</label>
<input type="text" id="subject" name="subject" required><br>
<label for="messageBody">Message Body:</label>
<textarea id="messageBody" name="messageBody" rows="4" required></textarea><br>
<label for="attachment">Attachment:</label>
<input type="file" id="attachment" name="attachment"><br>
<input type="submit" value="Send Email">
</form>
<script>
function setFormAction() {
var form = [Link]('emailForm');
var hasAttachment = [Link]('attachment').value !== '';
if (hasAttachment) {
[Link] = 'HtmlEmailWithAttachmentSender';
[Link] = 'multipart/form-data';
} else {
[Link] = 'HtmlEmailSender';
}
return true; // submit the form
}
</script>
</body></html>

OUTPUT:

1) HTML Email

2) HTML Email with an Attachment

17
ADVANCE JAVA - PRACTICAL

3) Text Email using Java

Practical No: - 7 (Hibernate - I)


7) Table (Employee: id int Primary key, name varchar(200), dept varchar(50), designation varchar(100),salary
float, dateofjoin date)
1. Write an Hibernate API to add an employee in given table.
2. Write an Hibernate API to update the name of employee on id 1
3. Write an Hibernate API to delete an employee on id 3

A)
1st Query: Write an Hibernate API to add an employee in given table.
[Link]
package hibernatejava;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class AddEmployee {
public static void main(String[] args) {
Configuration config = new Configuration().configure().addAnnotatedClass([Link]);
SessionFactory factory = [Link]();
Session session = [Link]();
Transaction tx = [Link]();
List<Employee> employees = createEmployeeList();
for (Employee employee : employees) {
[Link](employee);
}
[Link]();
[Link]();
[Link]();
18
ADVANCE JAVA - PRACTICAL
[Link]("Data entered successfully!");
}
private static List<Employee> createEmployeeList() {
List<Employee> employees = new ArrayList<>();
[Link](new Employee("Amit Patel", "IT", "Software Engineer", 80000.00, [Link]("2016-07-12")));
[Link](new Employee("Sneha Gupta", "IT", "Network Administrator", 85000.00, [Link]("2017-04-18")));
[Link](new Employee("Rajesh Kumar", "IT", "Data Analyst", 75000.00, [Link]("2018-09-22")));
[Link](new Employee("Neha Sharma", "HR", "HR Manager", 95000.00, [Link]("2017-06-05")));
[Link](new Employee("Ankur Kapoor", "HR", "HR Specialist", 88000.00, [Link]("2016-08-15")));
[Link](new Employee("Priya Desai", "Finance", "Financial Analyst", 90000.00, [Link]("2019-11-30")));
[Link](new Employee("Rohit Joshi", "Marketing", "Marketing Coordinator", 82000.00, [Link]("2016-02-
10")));
[Link](new Employee("Divya Singh", "Sales", "Sales Representative", 78000.00, [Link]("2017-09-05")));
return employees;
}
}
OUTPUT (1):
Eclipse IDE Mysql Workbench

2ND Query: Write an Hibernate API to update the name of employee on id 1


[Link]
package hibernatejava;
import [Link];
import [Link];
import [Link];
import [Link];

public class UpdateEmployeeName {


public static void main(String[] args) {
SessionFactory factory = new Configuration().configure().addAnnotatedClass([Link]).buildSessionFactory();
Session session = [Link]();
Transaction tx = null;

try {
tx = [Link]();
Employee employeeToUpdate = [Link]([Link], 1);
if (employeeToUpdate != null) {
[Link]("Yash Parmar");
}
[Link]();
[Link]("Name Updated successfully!");
} catch (Exception e) {
if (tx != null && [Link]()) {
[Link]();
}
[Link]();
} finally {
[Link]();
19
ADVANCE JAVA - PRACTICAL
[Link]();
}
}
}
OUTPUT (2):
Eclipse IDE Mysql Workbench

3RD Query: Write an Hibernate API to delete an employee on id 3


[Link]
package hibernatejava;
import [Link];
import [Link];
import [Link];
import [Link];
public class DeleteEmployee {
public static void main(String[] args) {
SessionFactory factory = new Configuration().configure().addAnnotatedClass([Link]).buildSessionFactory();
Session session = [Link]();
Transaction tx = [Link]();
Employee employeeToDelete = [Link]([Link], 3);
if (employeeToDelete != null) {
[Link](employeeToDelete);
}

[Link]();
[Link]();
[Link]();
[Link]("Employee on id 3 successfully Deleted!");
}
}

OUTPUT (3):
Eclipse IDE Mysql Workbench

[Link] (Entity Class)

package hibernatejava;
import [Link].*;
import [Link];
@Entity

20
ADVANCE JAVA - PRACTICAL
@Table(name = "employee")
public class Employee {
@Id
@GeneratedValue(strategy = [Link])
private int id;
private String Employee_name;
private String department;
private String designation;
private double salary;
@Temporal([Link])
@Column(name = "dateofjoin")
private Date dateOfJoin;
public Employee() {
// Default constructor required by Hibernate
}
public Employee(String Employee_name, String department, String designation, double salary, Date dateOfJoin) {
this.Employee_name = Employee_name;
[Link] = department;
[Link] = designation;
[Link] = salary;
[Link] = dateOfJoin;
}
// Getters and setters...
@Override
public String toString() {
return [Link]("Employee{id=%d, Employee_name='%s', department='%s', designation='%s', salary=%.2f,
dateOfJoin=%s}",
id, Employee_name, department, designation, salary, dateOfJoin);
}
}

[Link]
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"C:\Users\parma\Documents\hibernate-configuration-3.0 (1).dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="[Link].driver_class">[Link]</property>
<property name="[Link]">jdbc:mysql://localhost:3306/PRACTICAL_7</property>
<property name="[Link]">root</property>
<property name="[Link]">Rox@159753</property>
<!-- Specify dialect -->
<property name="[Link]">[Link]</property>
<!-- Echo all executed SQL to stdout -->
<property name="hibernate.show_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<property name="[Link]">update</property>
<!-- Mention entity class packages -->
<mapping class="[Link]"/>
</session-factory>
</hibernate-configuration>

[Link]
21
ADVANCE JAVA - PRACTICAL

<project xmlns="[Link] xmlns:xsi="[Link]


xsi:schemaLocation="[Link] [Link]
<modelVersion>4.0.0</modelVersion>
<groupId>hibernatejava</groupId>
<artifactId>PRACTICAL-7</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>PRACTICAL-7</name>
<url>[Link]
<properties>
<[Link]>UTF-8</[Link]>
</properties>
<dependencies>
<!-- Hibernate ORM -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>hibernate-core</artifactId>
<version>[Link]</version> <!-- Use the latest version available -->
</dependency>
<!-- Java Persistence API (JPA) -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>[Link]-api</artifactId>
<version>2.2</version> <!-- Use the latest version available -->
</dependency>
<!-- MySQL Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version> <!-- Use the latest version available -->
</dependency>
</dependencies>
</project>

Practical No: - 8 (Hibernate - II)


8).
1. Write an Hibernate API to get all the employee working in IT department using Hibernate Query Language
2. Write a Hibernate API to get all the employee who joined after 2016- 01-01 and work in HR department
using Hibernate Criterion Query Language
3. Write a Hibernate API to find the maximum salary in IT department using Projection

A)
1st Query: Write an Hibernate API to get all the employee working in IT department using Hibernate Query
Language.

[Link]
package hibernatejava;
import [Link];
import [Link];
import [Link];
import [Link];

public class GetITDepartmentEmployees {

22
ADVANCE JAVA - PRACTICAL
public static void main(String[] args) {
SessionFactory factory = new Configuration().configure().addAnnotatedClass([Link]).buildSessionFactory();
Session session = [Link]();

List<Employee> itEmployees = [Link]("FROM Employee WHERE department = 'IT'", [Link]).list();

// Use itEmployees or remove the declaration if not needed


for (Employee employee : itEmployees) {
[Link](employee); // Or perform other actions with the employee data
}

[Link]();
[Link]();
}
}

OUTPUT (1):

2nd Query: Write a Hibernate API to get all the employee who joined after 2016- 01-01 and work in HR
department using Hibernate Criterion Query Language.

[Link]
package hibernatejava;
import [Link];
import [Link];
import [Link];
import [Link];
public class GetHRDepartmentEmployees {
public static void main(String[] args) {

// Suppress Hibernate logs


[Link]("[Link]").setLevel([Link]);
SessionFactory factory = new Configuration().configure().addAnnotatedClass([Link]).buildSessionFactory();
Session session = [Link]();
// Use HQL to get all employees working in the IT department
String hqlQuery = "FROM Employee WHERE department = 'HR'";
List<Employee> itEmployees = [Link](hqlQuery, [Link]).list();
// Print the HQL query
[Link]("Executing Query: " + hqlQuery);
// Print or process the IT department employees
for (Employee employee : itEmployees) {
[Link](employee);
}
[Link]();
[Link]();
}
}

OUTPUT (2):

23
ADVANCE JAVA - PRACTICAL

3rd Query: Write a Hibernate API to find the maximum salary in IT department using Projection.
Maximumsalary_IT.java
package hibernatejava;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class Maximumsalary_IT {

public static void main(String[] args) {


// Suppress Hibernate logs
[Link]("[Link]").setLevel([Link]);

try (SessionFactory factory = new Configuration().configure().addAnnotatedClass([Link]).buildSessionFactory();


Session session = [Link]()) {
// Use the generic version of Query<Double>
Query<Double> query = [Link]("select max(salary) from Employee where department = 'IT'", [Link]);
List<Double> maxSalaries = [Link]();
if (![Link]()) {
double maxSalary = [Link](0);
[Link]("Maximum salary in IT department: " + maxSalary);
} else {
[Link]("No employees found in IT department.");
}
}
}
}

OUTPUT (3):

Practical No: - 9 (Spring - I)


9).
1. Write a Spring API using ApplicationContext to load a Bean by name Hello with property message and
load the property using spring bean xml.
2. Write a Spring API to demonstrate Setter Dependency Injection
3. Write a Spring API to demonstrate Constructor Dependency Injection

A)
Query(1): Write a Spring API using ApplicationContext to load a Bean by name Hello with property message
and load the property using spring bean xml.

[Link]

24
ADVANCE JAVA - PRACTICAL
package demospringJAVA.PRACTICAL_8;

import [Link];
import [Link];

public class SpringApi1 {


public static void main(String[] args) {
String xmlConfigPath = "src/main/resources/[Link]";
try (ConfigurableApplicationContext context = new FileSystemXmlApplicationContext(xmlConfigPath)) {
HelloBean helloBean = (HelloBean) [Link]("Hello");
[Link]();
}
}
}

OUTPUT (1):

Query(2): Write a Spring API to demonstrate Setter Dependency Injection.


[Link]
package demospringJAVA.PRACTICAL_8;

import [Link];
import [Link];

public class SpringApiSetter {


public static void main(String[] args) {
String xmlConfigPath = "src/main/resources/[Link]";
try (ConfigurableApplicationContext context = new FileSystemXmlApplicationContext(xmlConfigPath)) {
HelloBean helloBean = (HelloBean) [Link]("HelloBeanSetter");
[Link]();
}
}
}

OUTPUT (2):

Query(3): Write a Spring API to demonstrate Constructor Dependency Injection.


[Link]
package demospringJAVA.PRACTICAL_8;
import [Link];
import [Link];
public class SpringApiConstructor {
public static void main(String[] args) {
String xmlConfigPath = "src/main/resources/[Link]";

try (ConfigurableApplicationContext context = new FileSystemXmlApplicationContext(xmlConfigPath)) {


HelloBean helloBean = (HelloBean) [Link]("HelloBeanConstructor");

25
ADVANCE JAVA - PRACTICAL
[Link]();
}
}
}
OUTPUT (3):

[Link]
<beans xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link]
[Link]

<!-- Bean loaded by name "Hello" with property message -->


<bean id="Hello" class="demospringJAVA.PRACTICAL_8.HelloBean">
<property name="message" value="Hello, Spring! (Bean loaded by name)"/>
</bean>

<!-- Define the Hello bean with Setter Dependency Injection -->
<bean id="HelloBeanSetter" class="demospringJAVA.PRACTICAL_8.HelloBean">
<property name="message" value="Hello, Spring! (Setter DI)"/>
</bean>
<!-- Define the Hello bean with Constructor Dependency Injection -->
<bean id="HelloBeanConstructor" class="demospringJAVA.PRACTICAL_8.HelloBean">
<!-- Specify the type of the constructor argument -->
<constructor-arg type="[Link]" value="Hello, Spring! (Constructor DI)"/>
</bean>
</beans>
[Link] (Entity class)
package demospringJAVA.PRACTICAL_8;
public class HelloBean {
private String message;
// Default constructor
public HelloBean() {
}
// Constructor for Constructor Dependency Injection
public HelloBean(String message) {
[Link] = message;
}
// Setter method for Setter Dependency Injection
public void setMessage(String message) {
[Link] = message;
}
// Autowired method for Autowiring
public void autowiredMethod(String message) {
[Link] = message;
}
public void greet() {
[Link](message);
}
}

26
ADVANCE JAVA - PRACTICAL
[Link]
<project xmlns="[Link] xmlns:xsi="[Link]
xsi:schemaLocation="[Link] [Link]
<modelVersion>4.0.0</modelVersion>
<groupId>demospringJava</groupId>
<artifactId>PRACTICAL-8</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>PRACTICAL-8</name>
<url>[Link]
<properties>
<[Link]>UTF-8</[Link]>
<[Link]>17</[Link]>
<[Link]>17</[Link]>
</properties>
<dependencies>
<!-- [Link] -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-core</artifactId>
<version>6.0.11</version>
</dependency>
<!-- [Link] -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-context</artifactId>
<version>6.0.11</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version> <!-- Use a version compatible with JUnit 4 -->
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>PRACTICAL-8</finalName>
<plugins>
<plugin>
<groupId>[Link]</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>17</source>
<target>17</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
Practical No: - 10 (Spring - II)
10).
1. Write a Spring API to store value in backend table using Hibernate Template.
2. Write a Spring MVC API to accept two numbers and return their addition.
3. Write a Spring MVC API to accept a string and determine if it is palindrome or not.

27
ADVANCE JAVA - PRACTICAL

A) Query(3): Write a Spring API to store value in backend table using Hibernate Template.

[Link] (main class)


package springstudentapi;
import [Link];
import [Link];
@SpringBootApplication
public class SpringBootAPI {
public static void main(String[] args) {
[Link]([Link], args);
}
}

[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

@Component
public class StudentController implements CommandLineRunner {
@Autowired
private BCAStudentRepository bcaStudentRepository;
@Override
public void run(String... args) throws Exception {
BCAStudent s1 = new BCAStudent("Sneha Kapoor", "[Link]", 22000, 0, "Female", 23);
[Link](s1);
BCAStudent s2 = new BCAStudent("Rahul Mehta", "[Link]", 19000, 1000, "Male", 21);
[Link](s2);
BCAStudent s3 = new BCAStudent("Divya Das", "[Link]", 14000, 6000, "Female", 18);
[Link](s3);
}
}

[Link]
package [Link];

import [Link];
import [Link];

public interface BCAStudentRepository extends JpaRepository<BCAStudent, Long> {

[Link] (Entity class)


package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Entity

28
ADVANCE JAVA - PRACTICAL
@Table(name = "veena_bca_student")
public class BCAStudent {
@Id
@GeneratedValue(strategy = [Link])
private long id;
private String Student_name;
private String class_year;
private int fees;
private int due_amount;
private String gender;
private int age;
public BCAStudent(String name, String classYear, int fees, int dueAmount, String gender, int age) {
this.Student_name = name;
this.class_year = classYear;
[Link] = fees;
this.due_amount = dueAmount;
[Link] = gender;
[Link] = age;
}
public String getName() {
return Student_name;
}
public void setName(String name) {
this.Student_name = name;
}
public String getClassYear() {
return class_year;
}
public void setClassYear(String classYear) {
this.class_year = classYear;
}
public int getFees() {
return fees;
}
public void setFees(int fees) {
[Link] = fees;
}
public int getDueAmount() {
return due_amount;
}
public void setDueAmount(int dueAmount) {
this.due_amount = dueAmount;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
[Link] = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
[Link] = age;
}
}

29
ADVANCE JAVA - PRACTICAL

[Link]

# Database Configuration
[Link]-class-name=[Link]
[Link]=jdbc:mysql://localhost:3306/veena_college
[Link]=root
[Link]=Rox@159753
[Link]=[Link].MySQL8Dialect
[Link]-auto=update

# Only show SQL statements on INFO level


[Link]=OFF

OUTPUT (1):

Eclipse Console after inserting Data into table

MySQL veena_bca_student Table after inserting tata using Spring API

30
ADVANCE JAVA - PRACTICAL
Query(2): Write a Spring MVC API to accept two numbers and return their addition.

A)
addition_API.java

package springaddition;
import [Link];
import [Link];

@SpringBootApplication
public class addition_API {
public static void main(String[] args) {
[Link](addition_API.class, args);
[Link]("Application started! "
+ "Copy This URL: [Link]
}
}

[Link]

package springaddition;
import [Link];
import [Link];
import [Link];

@RestController
public class AdditionController {
@GetMapping("/add")
public String addNumbers(@RequestParam int num1, @RequestParam int num2) {
int sum = num1 + num2;

return "Spring MVC API : The sum of " + num1 + " and " + num2 + " is: " + sum;
}
}

[Link]

<?xml version="1.0" encoding="UTF-8"?>


<project xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link] [Link]
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.1</version>
<relativePath/>
</parent>
<groupId>AdditionController</groupId>
<artifactId>PRACTICLA-10-2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>PRACTICLA-10</name>
<description>Student API project using Spring Boot</description>
31
ADVANCE JAVA - PRACTICAL
<properties>
<[Link]>17</[Link]>
</properties>
<dependencies>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>[Link]</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>AdditionController</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>

OUTPUT (2):

Eclipse Console:

Accusing API using URL in browser

logs generated by Spring Boot application during its execution

32
ADVANCE JAVA - PRACTICAL

33
ADVANCE JAVA - PRACTICAL
Query 3: Write a Spring MVC API to accept a string and determine if it is palindrome or not.

[Link](main)
package springpalindromeAPI;
import [Link];
import [Link];

@SpringBootApplication
public class palindromeAPI {

public static void main(String[] args) {


[Link]([Link], args);
}
}

[Link]
package springpalindromeAPI;
import [Link];
import [Link];
import [Link].*;

@SpringBootApplication
@RestController
@RequestMapping("/palindrome")
public class PalindromeApplication {

public static void main(String[] args) {


[Link]([Link], args);
}
@PostMapping
public @ResponseBody String checkPalindrome(@RequestBody PalindromeInput input) {
String text = [Link]();
String cleanText = [Link]("[^a-zA-Z0-9]", "").toLowerCase();
boolean isPalindrome = [Link](new StringBuilder(cleanText).reverse().toString());
if (isPalindrome) {
return text + "\n" + " is a palindrome!";
} else {
return text + "\n" + "is not a palindrome."; // Added newline and explicit "not"
}
}
}

class PalindromeInput {
private String input;
public String getInput() {
return input;
}
public void setInput(String input) {
[Link] = input;
}
}

[Link]
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="[Link] xmlns:xsi="[Link]
xsi:schemaLocation="[Link] [Link]
34
ADVANCE JAVA - PRACTICAL
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.1.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>palindromeAPI</groupId>
<artifactId>PRACTCIAL-10-3</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>PRACTCIAL-10-3</name>
<description>Demo project for Spring Boot</description>
<properties>
<[Link]>17</[Link]>
</properties>
<dependencies>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>[Link]</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>palindromeAPI</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
Successfully Running Spring Boot API

OUTPUT (3):

35
ADVANCE JAVA - PRACTICAL

Practical No: - 11 (JAVA with JSON-I)


11) Define a web service method that returns the contents of a database in a JSON string. The contents
should be displayed in a tabular format.

A)
[Link] (Main Class)
package datajeson;
import [Link];
import [Link];
@SpringBootApplication
public class JsonDataApplication {
public static void main(String[] args) {
[Link]([Link], args);
}
}

[Link]
package [Link];
import [Link];
import [Link];
public interface StudentRepository extends JpaRepository<Student, Long> {
}

[Link]
package [Link];
import [Link];
import [Link].*;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@RestController
public class StudentController {
@Autowired
private StudentRepository repository;
@GetMapping("/students")
public String getStudents() {
List<Student> students = [Link]();
// Convert to JSON
JSONArray jsonArray = new JSONArray();{

36
ADVANCE JAVA - PRACTICAL
for(Student s : students) {
JSONObject jsonObject = new JSONObject();
[Link]("id", [Link]());
[Link]("name", [Link]());
[Link]("age", [Link]());
[Link](jsonObject); }
String json = [Link](4);
// Print Table
[Link]("| ID | Name | Age |");
[Link]("-------------------");
for(int i=0; i<[Link](); i++){
JSONObject obj = [Link](i);
Long id = [Link]("id");
String name = [Link]("name");
int age = [Link]("age");
[Link](id +" \t"+ name +" \t"+ age); }
return json; } } }

[Link] (Entity)
package [Link];
import [Link];
import [Link];
import [Link];
@Entity
public class Student {
@Id
@GeneratedValue
private Long id;
private String name;
private Integer age;
public Long getId() {
return id;
}
public void setId(Long id) {
[Link] = id;
}
public String getName() {
return name;
}
public void setName(String name) {
[Link] = name;
}
public Integer age() {
return age;
}
public void setage(Integer age) {
[Link] = age;
}
}

[Link]
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="[Link] xmlns:xsi="[Link]
xsi:schemaLocation="[Link] [Link]
<modelVersion>4.0.0</modelVersion>
<parent>

37
ADVANCE JAVA - PRACTICAL
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>datajeson</groupId>
<artifactId>PRACTICAL-11</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>datajeson</name>
<description>Demo project for Spring Boot</description>
<properties>
<[Link]>17</[Link]>
</properties>
<dependencies>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>json</artifactId>
<version>20220320</version>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>[Link]</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

[Link]
# Database Configuration
[Link]=jdbc:mysql://localhost:3306/yashdb
[Link]=root
[Link]=Rox@123789
[Link]-auto=update

38
ADVANCE JAVA - PRACTICAL
OUTPUT:

 using Postman ^ using Chrome Browser ^

Practical No: - 12 (JAVA with JSON-II)


12) Write a JSP which accepts the parameter in JSON String and later convert that value and display on the
screen.

A)

[Link]
package jsonstring;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@WebServlet("/MyJSONServlet")
public class MyJSONServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
[Link]("MyServlet");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Get JSON string

39
ADVANCE JAVA - PRACTICAL
String jsonString = [Link]("json_data");
// JSON parser
JSONParser parser = new JSONParser();
// Parse JSON
JSONObject jsonObject = null;
try {
jsonObject = (JSONObject) [Link](jsonString);
} catch (ParseException e) {
[Link]();
[Link]().write("Unable to parse JSON");
return; }
// Construct a string to display all key-value pairs
StringBuilder convertedValue = new StringBuilder("<br>");
// Iterate through all keys and values
Iterator<?> keys = [Link]().iterator();
while ([Link]()) {
String key = (String) [Link]();
Object value = [Link](key);
[Link](key).append(": ").append(value).append("<br>");
}
// Set request attribute
[Link]("convertedValue", [Link]());
// Forward to JSP page
RequestDispatcher rd = [Link]("/[Link]");
[Link](request, response);
}
}
[Link]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JSON Parameter Demo</title>
<style>
#json_data {
min-height: 30px; /* Adjust this value based on your design */
resize: both; /* Enables manual resizing */ }
</style>
</head>
<body>
<h1>SEND JSON DATA</h1>
<form method="POST" action="/JSONWebApp/MyJSONServlet">
<label for="json_data">Enter JSON string:</label><br>
<textarea id="json_data" name="json_data"></textarea>
<br>
<button type="submit">Submit</button>
</form>
</body>
</html>

[Link]
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<% String convertedValue = (String) [Link]("convertedValue"); %>
<!DOCTYPE html>
<html lang="en">

40
ADVANCE JAVA - PRACTICAL
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Converted Value</title>
</head>
<body>
<h1>Accepting the Parameter in JSON</h1>
<% if (convertedValue != null) { %>
<p>JSON String Values: <%= convertedValue %></p>
<% } else { %>
<p>No value received yet.</p>
<% } %>
</body>
</html>

OUTPUT:

Practical No: - 13 (JAVA with JSON-III)


13) Write a Java Code to print the String from a JSON Object.

A)

[Link]
package json_Object;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@WebServlet("/json")
public class JsonServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
// Read JSON input from the request
StringBuilder jsonInput = new StringBuilder();
try (BufferedReader reader = [Link]()) {
String line;
while ((line = [Link]()) != null) {
[Link](line);
}
}

41
ADVANCE JAVA - PRACTICAL
// Parse the JSON input
JSONObject inputData = new JSONObject([Link]());
// Convert the JSON object to a formatted string
String formattedJson = formatJson(inputData);
// Set content type and status code
[Link]("text/plain");
[Link](HttpServletResponse.SC_OK);
// Write the formatted JSON string to the response
[Link]().write(formattedJson);
}
// Format the JSON object as a string with indentation
private String formatJson(JSONObject jsonObject) {
return [Link](2);
}
}

[Link]
<!DOCTYPE html>
<html>
<head>
<title>JSON Web App</title>
<script src="[Link]
</head>
<body>
<h1>JSON Web App</h1>
<form id="jsonForm">
<label for="jsonInput">Enter JSON OBJECT:</label><br>
<textarea id="jsonInput" name="jsonInput" rows="4" cols="50" required></textarea><br><br>
<button type="button" onclick="fetchJson()">Fetch JSON</button>
</form>
<div id="jsonResponse"></div>

<script>
function fetchJson() {
var jsonData = $('#jsonInput').val();
$.ajax({
url: 'json',
type: 'POST',
contentType: 'application/json',
data: jsonData,
success: function (data) {
// Extract and display structured data with line breaks
var structuredData = extractStructuredData(data).replace(/\n/g, '<br>');
$('#jsonResponse').html(structuredData);
},
error: function (xhr, status, error) {
[Link]('Error fetching JSON:', error);
}
});
}
// Extract structured data from the JSON string
function extractStructuredData(jsonString) {
var jsonObject = [Link](jsonString);
var structuredData = "";

for (var i = 0; i < [Link]; i++) {

42
ADVANCE JAVA - PRACTICAL
var color = [Link][i];
structuredData += "Color: " + [Link] + "<br>";
structuredData += "Category: " + [Link] + "<br>";
if ([Link]) {
structuredData += "Type: " + [Link] + "<br>";
}
structuredData += "Hex: " + [Link] + "<br>";
structuredData += "RGBA: " + [Link](", ") + "<br><br>";
}
return structuredData;
}
</script>
</body>
</html>
OUTPUT:

43

You might also like