0% found this document useful (0 votes)
40 views33 pages

Java Lab

This Java code implements basic CRUD (create, read, update, delete) database operations using JDBC to connect to a SQL Server database. It creates a table, inserts sample data, updates a record, deletes a record, and retrieves data from the table. The code connects to a local SQL Server Express database, executes SQL statements using JDBC to perform the CRUD operations, and handles potential exceptions.

Uploaded by

Sofia Sharma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
40 views33 pages

Java Lab

This Java code implements basic CRUD (create, read, update, delete) database operations using JDBC to connect to a SQL Server database. It creates a table, inserts sample data, updates a record, deletes a record, and retrieves data from the table. The code connects to a local SQL Server Express database, executes SQL statements using JDBC to perform the CRUD operations, and handles potential exceptions.

Uploaded by

Sofia Sharma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 33

LAB-2.

Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

public class StudentForm{


private JFrame frame;
private JTextField nameField;
private JTextField addressField;
private JTextField contactField;
private JComboBox<String> levelComboBox;
private JComboBox <String> facultyComboBox;
private JTextField emailField;

private ArrayList<Student> students;

public static void main(String[] args){


StudentForm studentForm = new StudentForm();
studentForm.initialize();
}

public void initialize(){


students = new ArrayList<>();
frame = new JFrame("Registration Form");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);

JLabel nameLabel = new JLabel("Name:");


nameField = new JTextField();
nameLabel.setBounds(10,10,80,25);
nameField.setBounds(100,10,200,25);

JLabel addressLabel = new JLabel("Address:");


addressField = new JTextField();
addressLabel.setBounds(10,40,80,25);
addressField.setBounds(100,40,200,25);

JLabel contactLabel = new JLabel("Contact");


contactField = new JTextField();
contactLabel.setBounds(10,70,80,25);
contactField.setBounds(100,70,200,25);

JLabel levelLabel = new JLabel("Level:");


String[] levels = {"High School","Bachelor","Master"};
levelComboBox = new JComboBox<>(levels);
levelLabel.setBounds(10,100,80,25);
levelComboBox.setBounds(100,100,80,25);

JLabel facultyLabel = new JLabel("Faculty:");


String[] faculties = {"Science","Arts","IT","Commerce"};
facultyComboBox = new JComboBox<>(faculties);
facultyLabel.setBounds(10,130,80,25);
facultyComboBox.setBounds(100,130,200,25);

JLabel emailLabel = new JLabel("Email");


emailField = new JTextField();
emailLabel.setBounds(10,160,80,25);
emailField.setBounds(100,160,200,25);

JButton submitButton = new JButton("Submit");


submitButton.addActionListener(new SubmitButtonListener());
submitButton.setBounds(150,200,100,25);

frame.add(nameLabel);
frame.add(nameField);
frame.add(addressLabel);
frame.add(addressField);
frame.add(contactLabel);
frame.add(contactField);
frame.add(levelLabel);
frame.add(levelComboBox);
frame.add(facultyLabel);
frame.add(facultyComboBox);
frame.add(emailLabel);
frame.add(emailField);
frame.add(submitButton);
frame.setSize(320,280);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}

private class SubmitButtonListener implements ActionListener{


public void actionPerformed(ActionEvent e){
String name = nameField.getText();
String address =addressField.getText();
String contact = contactField.getText();
String level = (String) levelComboBox.getSelectedItem();
String faculty = (String) facultyComboBox.getSelectedItem();
String email = emailField.getText();

Student student = new Student(name,address,contact,level,faculty,email);


students.add(student);

nameField.setText("");
addressField.setText("");
contactField.setText("");
emailField.setText("");

if (students.size() == 3) {
displayStudents();
}
}
private void displayStudents() {
for (Student student : students) {
System.out.println(student.toString());
System.out.println("---------------------------");
}
}
}
}

class Student{
private String name;
private String address;
private String contact;
private String level;
private String faculty;
private String email;

public Student(String name, String address, String contact,String level,String


faculty,String email){
this.name=name;
this.address=address;
this.contact=contact;
this.level=level;
this.faculty=faculty;
this.email=email;
}
public String toString(){
return
"Name: " +name+ "\n"+
"Address: " +address+ "\n"+
"Contact: " +contact+ "\n"+
"Level: " +level+ "\n"+
"Faculty: " +faculty+ "\n"+
"Email: " +email;
}

LAB-3

1. Implement the KeyListener for key events.


Code:
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class KeyListenerExample implements KeyListener {

public static void main(String[] args) {


JFrame frame = new JFrame("Key Listener Example");
JPanel panel = new JPanel();
panel.addKeyListener(new KeyListenerExample());

panel.setFocusable(true);
panel.requestFocusInWindow();

frame.getContentPane().add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setVisible(true);
}

@Override
public void keyTyped(KeyEvent e) {
// This method is called when a key is typed (pressed and released).
System.out.println("Key Typed: " +e.getKeyChar());
}

@Override
public void keyPressed(KeyEvent e) {
// This method is called when a key is pressed down.
System.out.println("Key Pressed: " + e.getKeyChar());
}
@Override
public void keyReleased(KeyEvent e) {
// This method is called when a key is released.
System.out.println("Key Released: " + e.getKeyChar());
}
}

2. Implement the MouseListener for mouse events.


Code:
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JPanel;
import javax.swing.JFrame;

public class MouseListenerExample implements MouseListener {

public static void main(String[] args){


JFrame frame = new JFrame("Mouse Listener Example");
JPanel panel = new JPanel();

panel.addMouseListener(new MouseListenerExample());

frame.getContentPane().add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,200);
frame.setVisible(true);
}
public void mouseEntered(MouseEvent e){
System.out.println("Mouse Entered ");

}
public void mouseClicked(MouseEvent e){
System.out.println("Mouse Clicked at (" + e.getX() + "," +e.getY() +")");

}
public void mousePressed(MouseEvent e){
System.out.println("Mouse Pressed at (" + e.getX() + "," +e.getY() +")");

}
public void mouseReleased(MouseEvent e){
System.out.println("Mouse Released at (" + e.getX() + "," +e.getY() +")");

public void mouseExited(MouseEvent e){


System.out.println("Mouse Exited ");
}
}

3. Implement the WindowListener for window events.


Code:
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
public class WindowListenerExample implements WindowListener{

public static void main(String[] args){


JFrame frame = new JFrame("Window Listener Example");

frame.addWindowListener(new WindowListenerExample());

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,200);
frame.setVisible(true);

}
public void windowOpened(WindowEvent e){
System.out.println("Window Opened");
}
public void windowClosing(WindowEvent e){
System.out.println("Window Closing");
}
public void windowClosed(WindowEvent e){
System.out.println("Window Closed");
}
public void windowIconified(WindowEvent e){
System.out.println("Window Iconified");
}
public void windowDeiconified(WindowEvent e){
System.out.println("Window Deiconified");
}
public void windowActivated(WindowEvent e){
System.out.println("Window Activated");
}
public void windowDeactivated(WindowEvent e){
System.out.println("Window Deactivated");
}

4. Use KeyAdapter class for the key event in which if you press any key in the
keyboard, it should display which key is typed.
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

public class KeyAdapterExample {


public static void main(String[] args){
JFrame frame = new JFrame("Key Adapter Example");

JTextArea textArea = new JTextArea("Press any keyword...");


textArea.setFont (new Font("Arial",Font.BOLD,20));
textArea.setBackground(Color.BLACK);
textArea.setForeground(Color.WHITE);
textArea.setEditable(false);
textArea.addKeyListener(new MyKeyListener());

frame.getContentPane().add(new JScrollPane(textArea));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500,400);
frame.setVisible(true);
}
static class MyKeyListener extends KeyAdapter{
private boolean keyPressed = false;

public void keyPressed(KeyEvent e){


if (!keyPressed){
JTextArea textArea = (JTextArea) e.getSource();
textArea.setText("");
keyPressed = true;
}
}
public void keyTyped(KeyEvent e){
char keyChar = e.getKeyChar();
JTextArea textArea = (JTextArea) e.getSource();
textArea.append ("Key Typed: " +keyChar+ "\n");
}

}
LAB-4

Write a program to perform basic operations in database using JDBC that


should include create, insert, update and delete operations.

Code:
import java.sql.*;
public class CrudOperation {

public static void main(String[] args){

Statement stmt = null;


Connection conn = null;

try {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String DB_URL = "jdbc:sqlserver://DESKTOP-
K85JA6I\\SQLEXPRESS:1433;databaseName=BCA;integratedSecurity=true;e
ncrypt=true;trustServerCertificate=true;";

conn = DriverManager.getConnection(DB_URL);
stmt= conn.createStatement();

createTable(stmt);
insertData(stmt);
updateData(stmt);
deleteData(stmt);
viewTable(stmt);
}
catch (SQLException se){
se.printStackTrace();
}
catch (Exception e){
e.printStackTrace();
}
finally{
try{
if(stmt != null){
stmt.close();
}
}
catch (SQLException se2){
}
try {
if(conn !=null){
conn.close();
}
}
catch (SQLException se){
se.printStackTrace();
}
}
System.out.println("Program completed successfully");
}
private static void createTable(Statement stmt) throws SQLException{
String sql = "CREATE TABLE Employee (id INT PRIMARY KEY , Name
VARCHAR(50), Age INT)";
stmt.executeUpdate(sql);
System.out.println("Table Creates Successfully");

}
private static void insertData(Statement stmt) throws SQLException{
String sql = "INSERT INTO Employee (id,Name, Age) VALUES
(01,'Ram', 27),(02,'Hari',38),(03,'Shyam',32)";
stmt.executeUpdate(sql);
System.out.println("Data inserted successfully");
}
private static void updateData(Statement stmt)throws SQLException{
String sql = "UPDATE Employee SET Age = 31 WHERE Name='Ram'";
stmt.executeUpdate(sql);
System.out.println("Data Updated Successfully");
}
private static void deleteData(Statement stmt)throws SQLException{
String sql = "DELETE FROM Employee WHERE Age > 36";
stmt.executeUpdate(sql);
System.out.println("Data Deleted Successfully");
}
private static void viewTable(Statement stmt)throws SQLException{
String sql = "SELECT * FROM Employee";
ResultSet rs = stmt.executeQuery(sql);

System.out.println("ID\tName\tAge");
while (rs.next()){
int id = rs.getInt("id");
String name = rs.getString("Name");
int age = rs.getInt("Age");
System.out.println(id + "\t" + name + "\t"+age);
}
rs.close();
}

LAB-5

Create the following registration form and insert these data into the table using
JDBC
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;

public class Registration extends JFrame {


private static final String DB_URL = "jdbc:sqlserver://DESKTOP-
K85JA6I\\SQLEXPRESS:1433;databaseName=Student;integratedSecurity=true
;encrypt=true;trustServerCertificate=true;";

private JTextField nameField;


private JTextField addressField;
private JTextField contactField;
private JComboBox<String> facultyComboBox;
private JComboBox<String> levelComboBox;
private JTextField emailField;

public Registration() {
setTitle("Registration Form");
setSize(700, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);

JPanel mainPanel = new JPanel();


mainPanel.setLayout(new GridLayout(7, 2, 10, 10));
mainPanel.setBounds(10, 10, 380, 200);
add(mainPanel);

mainPanel.add(new JLabel("Name: "));


nameField = new JTextField();
nameField.setBounds(150, 10, 200, 25);
mainPanel.add(nameField);

mainPanel.add(new JLabel("Address: "));


addressField = new JTextField();
addressField.setBounds(150, 40, 200, 25);
mainPanel.add(addressField);

mainPanel.add(new JLabel("Contact: "));


contactField = new JTextField();
contactField.setBounds(150, 70, 200, 25);
mainPanel.add(contactField);

mainPanel.add(new JLabel("Faculty: "));


String[] facultyOptions = {"Engineering", "IT", "Science", "Arts"};
facultyComboBox = new JComboBox<>(facultyOptions);
facultyComboBox.setBounds(150, 100, 200, 25);
mainPanel.add(facultyComboBox);

mainPanel.add(new JLabel("Level: "));


String[] levelOptions = {"Basic", "High School", "Bachelor", "Master"};
levelComboBox = new JComboBox<>(levelOptions);
levelComboBox.setBounds(150, 130, 200, 25);
mainPanel.add(levelComboBox);

mainPanel.add(new JLabel("Email: "));


emailField = new JTextField();
emailField.setBounds(150, 160, 200, 25);
mainPanel.add(emailField);

JButton submitButton = new JButton("Submit");


submitButton.setBounds(150, 220, 100, 30);
submitButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
insertData();
}
});
add(submitButton);
setVisible(true);
}

private void insertData() {


String name = nameField.getText();
String address = addressField.getText();
String contact = contactField.getText();
String faculty = (String) facultyComboBox.getSelectedItem();
String level = (String) levelComboBox.getSelectedItem();
String email = emailField.getText();

try (Connection conn = DriverManager.getConnection(DB_URL);


PreparedStatement stmt = conn.prepareStatement(
"INSERT INTO Registration (name, address, contact, faculty,
level, email) VALUES (?, ?, ?, ?, ?, ?)")) {

stmt.setString(1, name);
stmt.setString(2, address);
stmt.setString(3, contact);
stmt.setString(4, faculty);
stmt.setString(5, level);
stmt.setString(6, email);

int rowsInserted = stmt.executeUpdate();

if (rowsInserted > 0) {
JOptionPane.showMessageDialog(this, "Data inserted successfully.");
} else {
JOptionPane.showMessageDialog(this, "Data insertion failed.");
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}

public static void main(String[] args) {


Registration registration = new Registration();
registration.setVisible(true);
}
}

LAB-6

Demonstrate the creation and use of JavaBeans with proper steps.


LAB-7

7.1 Create a servlet that performs basic arithmetic operations on two numbers
which are taken from the textboxes of an HTML page and display the result.
Code:
<html>
<head>
<title>Calculator</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form action ="calculator" method="post">
<input type ="text" name="num1" placeholder="First
Number"><br><br>
<input type="text" name="num2" placeholder="Second
Number"><br><br>
<select name="operation">
<option value="add">Add</option>
<option value="subtract">Subtract</option>
<option value="multiply">Multiply</option>
<option value="divide">Divide</option>

</select><br><br>
<input type="submit" value="Calculate">
</form>
</body>
</html>
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
*
* @author Admin
*/
@WebServlet(urlPatterns = {"/calculator"})
public class calculator extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse


response)
throws ServletException, IOException {
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2= Integer.parseInt(request.getParameter("num2"));

String operation = request.getParameter("operation");


int result = 0;

if (operation.equals("add")){
result = num1 + num2;
}
else if(operation.equals("subtract")){
result = num1 - num2;
}
else if(operation.equals("multiply")){
result = num1*num2;
}
else if(operation.equals("divide")){
result = num1/num2;
}

response.setContentType("text/html");
response.getWriter().println("<html><body>");
response.getWriter().println("<h2>Calculataor</h2>");
response.getWriter().println("<p>Number 1: " + num1 + "</p>");
response.getWriter().println("<p>Number 2: " + num2 + "</p>");
response.getWriter().println("<p>Operation: " + operation + "</p>");
response.getWriter().println("<p>Result: " + result + "</p>");
response.getWriter().println("</body></html>");

}
protected void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
response.sendRedirect("index.html");
}
}

7.2 Create a servlet that takes cost price and selling price from an HTML page
and find either profit or loss based on the condition and also notify these
information to the user.

Code:
<html>
<head>
<title>Profit/Loss Calculator</title>
</head>
<body>
<h2>Profit/Loss Calculator</h2>
<form action="profitLoss" method="post">
<input type="text" name="costPrice" placeholder="Cost Price"><br><br>
<input type="text" name="sellingPrice" placeholder="Selling
Price"><br><br>
<input type="submit" value="Calculate">
</form>
</body>
</html>

import java.io.IOException;
import java.io.PrintWriter;
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(urlPatterns = {"/profitLoss"})
public class profitLoss extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse


response)
throws ServletException, IOException {
String costPriceParam = request.getParameter("costPrice");
String sellingPriceParam = request.getParameter("sellingPrice");

if (costPriceParam == null || sellingPriceParam == null) {


response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Error: Missing parameters</h2>");
out.println("<p>Both cost price and selling price must be
provided.</p>");
out.println("</body></html>");
return;
}
double costPrice = Double.parseDouble(costPriceParam);
double sellingPrice = Double.parseDouble(sellingPriceParam);

double profit = sellingPrice - costPrice;


String result;

if (profit > 0) {
result = "Profit";
} else if (profit < 0) {
result = "Loss";
} else {
result = "No Profit, No Loss";
}

response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Profit/Loss Calculator</h2>");
out.println("<p>Cost Price: " + costPrice + "</p>");
out.println("<p>Selling Price: " + sellingPrice + "</p>");
out.println("<p>Result: " + result + "</p>");
out.println("</body></html>");
}
protected void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
response.sendRedirect("profitloss.html");
}
}
7.3 Create a servlet that performs basic operations in database (insert, update,
delete) for the similar GUI as in the Lab-5 and also show the data stored in the
database

LAB-8

8.1 Create a JSP to add two numbers which are taken from an HTML page and
display the result.
<!DOCTYPE html>
<html>
<head>
<title>Add Numbers</title>
</head>
<body>
<h2>Add Numbers</h2>
<form action="addNumber.jsp" method="get">
<label for="num1">Number 1:</label>
<input type="number" id="num1" name="num1" required><br><br>

<label for="num2">Number 2:</label>


<input type="number" id="num2" name="num2" required><br><br>

<input type="submit" value="Add">


</form>
</body>
</html>

JSP File

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<!DOCTYPE html>
<html>
<head>
<title>Add Numbers</title>
</head>
<body>
<%
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2 = Integer.parseInt(request.getParameter("num2"));

int sum = num1 + num2;


%>
<p>Number 1: <%= num1 %></p>
<p>Number 2: <%= num2 %></p>
<p>Result: <%= sum %></p>
</body>
</html>
8.2 Create a JSP page that contains three textboxes to input three numbers and a
button. Whenever the button is clicked, it should display the smallest number
among three input numbers.
Code:
<!DOCTYPE html>
<html>
<head>
<title>Smallest Number</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<h1> Smallest Number </h1>
<form action="smallestNumber.jsp" >
<label for="num1">Number 1: </label>
<input type="number" id="num1" name="num1"><br><br>
<label for="num2">Number 2: </label>
<input type="number" id="num2" name="num2"><br><br>
<label for="num3">Number 3: </label>
<input type="number" id="num3" name="num3"><br><br>
<input type="submit" value="Smallest Number">
</form>
</body>
</html>

JSP File

<%--
Document : newjsp
Created on : May 25, 2023, 9:36:59 PM
Author : Admin
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Smallest Number</title>
</head>
<body>

<%
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2 = Integer.parseInt(request.getParameter("num2"));
int num3 = Integer.parseInt(request.getParameter("num3"));

int smallest = num1;


if(num2<smallest){
smallest= num2;
}
if(num3<smallest){
smallest=num3;
}
%>
<p>The smallest number is: <%= smallest %></p>

</body>
</html>

8.3 Create a JSP to compute profit or loss based on the condition where cost
price and selling price should be taken from an HTML page and also notify
these information to the user.

Code:

<html>
<head>
<title>Profit Loss Calculator</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<h1> Profit-Loss?</h1>
<form action="profitLoss.jsp">
<label for='costPrice'>Cost Price:</label>
<input type="number" id="costPrice" name="costPrice"
required><br><br>

<label for='sellingPrice'>Selling Price:</label>


<input type="number" id="sellingPrice" name="sellingPrice"
required><br><br>
<input type='submit' value="Calculate">
</form>
</body>
</html>

JSP File
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<title>Profit or Loss Result</title>
</head>
<body>
<h1>Profit or Loss Result</h1>

<%-- Retrieve the form data --%>


<%
String costPriceParam = request.getParameter("costPrice");
String sellingPriceParam = request.getParameter("sellingPrice");

double costPrice = 0.0;


double sellingPrice = 0.0;

try {
costPrice = Double.parseDouble(costPriceParam);
sellingPrice = Double.parseDouble(sellingPriceParam);
} catch (NumberFormatException e) {
// Handle invalid input or conversion errors
// Display an error message or redirect back to the form with an error
notification
}

double profitOrLoss = sellingPrice - costPrice;


%>

<p>Cost Price: <%= costPrice %></p>


<p>Selling Price: <%= sellingPrice %></p>

<%-- Determine if it's a profit or loss and notify the user --%>
<% if (profitOrLoss > 0) { %>
<p>Profit: <%= profitOrLoss %></p>
<p>Congratulations! You made a profit.</p>
<% } else if (profitOrLoss < 0) { %>
<p>Loss: <%= Math.abs(profitOrLoss) %></p>
<p>Oops! You incurred a loss.</p>
<% } else { %>
<p>No Profit or Loss</p>
<p>Break-even! You neither made a profit nor incurred a loss.</p>
<% } %>

</body>
</html>

You might also like