0% found this document useful (0 votes)
2 views

Java_Practical

The document outlines practical exercises for establishing database connections in Java using JDBC, including code examples for Apache Derby and MySQL databases. It also covers CRUD operations on a 'Student' table and demonstrates the creation of a web application using Servlets, including session management and a simple bank system. Each practical includes specific aims, code snippets, and steps to implement the tasks.

Uploaded by

Piyush Patil
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)
2 views

Java_Practical

The document outlines practical exercises for establishing database connections in Java using JDBC, including code examples for Apache Derby and MySQL databases. It also covers CRUD operations on a 'Student' table and demonstrates the creation of a web application using Servlets, including session management and a simple bank system. Each practical includes specific aims, code snippets, and steps to implement the tasks.

Uploaded by

Piyush Patil
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
You are on page 1/ 18

IU2241230188 Advance Java(AJT) 6CSE-E

Practical-1
Aim: Write down basic steps to establish database connection from java. Also
write the connection code for different db.
Basic Steps to Establish a Database Connection in Java:
1. Load the JDBC Driver: This is required to use the JDBC API for database
communication.
2. Establish a Connection: Using DriverManager.getConnection() with
appropriate credentials (URL, username, password).
3. Create a Statement: To execute SQL queries using Statement,
PreparedStatement, or CallableStatement.
4. Execute the Query: Perform database operations like SELECT, INSERT,
UPDATE, or DELETE.
5. Process the ResultSet (if applicable): Fetch and process data retrieved
from the database.
6. Close the Connection: Always close ResultSet, Statement, and
Connection to free resources.

JDBC Connection Code for Different Databases:


1. Apache Derby Database Connection in NetBeans
Add Apache Derby JDBC Driver:
For Embedded Mode: org.apache.derby.jdbc.EmbeddedDriver
For Network Mode: org.apache.derby.jdbc.ClientDriver
In NetBeans:
• Right-click on Libraries → Add JAR/Folder
• Select derby.jar (for embedded) or derbyclient.jar (for network).
• These files are available in the Derby installation folder (lib directory).
Code: import java.sql.*; public class DerbyConnection { public static void
main(String[] args) { String dbURL = "jdbc:derby://localhost:1527/DerbyConnection";
String user = "root”; String password = "root"; try {
Class.forName("org.apache.derby.jdbc.ClientDriver"); Connection con =
DriverManager.getConnection(dbURL, user, password);
System.out.println("Connected to Derby Database successfully!"); con.close(); } catch
(Exception e) { e.printStackTrace(); } } }
2. MySQL Database Connection in NetBeans

1
IU2241230188 Advance Java(AJT) 6CSE-E

2. MySQL Database Connection in NetBeans

Download MySQL Connector JAR: Download

• Add to NetBeans: Right-click on Libraries → Add JAR/Folder → Select mysqlconnector-


java-x.x.x.jar

Code:

import java.sql.*; public class SQLConnection { public static void main(String[] args) { String
url = "jdbc:mysql://localhost:3306/mysql"; String user = "root"; String password = "root"; try
{ Class.forName("com.mysql.cj.jdbc.Driver"); Connection con =
DriverManager.getConnection(url, user, password); System.out.println("Connected to SQL
Server successfully!"); con.close(); } catch (Exception e) { e.printStackTrace(); } } }

2
IU2241230188 Advance Java(AJT) 6CSE-E

Practical-2
Aim: Users can create a new database and also create a new table under that database.
Once a database has been created then the user can perform database operation by calling
above functions. Use following Java Statement interface to implement program: 1.Statement
2.Preparedstatement 3.Callablestatement Write a JDBC application which will perform CRUD
operation on the Student table

Code: Database Creation and Table Creation

InsertData
Code:
package DB;import java.sql.*;import java.util.Scanner;

public class InsertData {public static void main(String[] args) { try


{Class.forName("org.apache.derby.jdbc.ClientDriver");Connection con =
DriverManager.getConnection("jdbc:derby://localhost:1527/Student", "root", "root"); Statement s =
con.createStatement();Scanner sc = new Scanner(System.in); System.out.println("Inserting Data into
student table : ");System.out.print("Enter Student ID: "); int sid = sc.nextInt(); sc.nextLine();
System.out.print("Enter Student Name: ");String sname = sc.nextLine();System.out.print("Enter
Student Address: ");String saddr = sc.nextLine();System.out.print("Enter Gender: ");String gender =
sc.next();sc.nextLine(); System.out.print("Enter Gmail: ");String gmail =
sc.nextLine();System.out.print("Enter Course: "); String course = sc.nextLine();System.out.print("Enter
Date of Birth (YYYY-MM-DD): ");String dob = sc.next(); sc.nextLine(); System.out.print("Enter Phone
Number: ");String phone = sc.nextLine();

String query = "INSERT INTO student VALUES (" + sid + ", '" + sname + "', '" + saddr + "', '" + gender +
"', '" + gmail + "', '" + course + "', '" + dob + "', '" + phone + "')";
s.execute(query);System.out.println("Data inserted successfully!"); s.close();con.close(); } catch
(SQLException err) {System.out.println("ERROR: " + err);} catch (Exception err) {

System.out.println("ERROR: " + err);} }}

3
IU2241230188 Advance Java(AJT) 6CSE-E

UpdateData

import java.sql.*; import java.util.Scanner; public class UpdateData { public static void
main(String[] args) { try { Class.forName("org.apache.derby.jdbc.ClientDriver"); Connection
con = DriverManager.getConnection("jdbc:derby://localhost:1527/students", "root", "root");
Statement s = con.createStatement(); Scanner sc = new Scanner(System.in);
System.out.println("Update Data in student table : ");
System.out.println("________________________________________");
System.out.print("Enter Student ID: "); int sid = sc.nextInt(); sc.nextLine();
System.out.print("Enter Student Name: "); String sname = sc.nextLine();
System.out.print("Enter Student Address: "); String saddr =
sc.nextLine();System.out.print("Enter Gender: "); String gender = sc.next(); sc.nextLine();
System.out.print("Enter Gmail: "); String gmail = sc.nextLine(); System.out.print("Enter
Course: ");String course = sc.nextLine();System.out.print("Enter Date of Birth (YYYY-MM-DD):
");String dob = sc.next(); sc.nextLine();System.out.print("Enter Phone Number: "); String
4
IU2241230188 Advance Java(AJT) 6CSE-E

phone = sc.nextLine();String query = "UPDATE student SET s_name='" + sname + "',


s_address='" + saddr + "', gender='" + gender

+ "', gmail='" + gmail + "', course='" + course + "', dob='" + dob + "', phone_no='" + phone + "'
WHERE s_id=" +sid;s.execute(query); System.out.println("Data updated successfully!");
s.close(); con.close();} catch (SQLException err) { System.out.println("ERROR: " + err); } catch
(Exception err) { System.out.println("ERROR: " + err); }} }

Output:

Delete

package DB; import java.sql.*; import java.util.Scanner; public class DeleteData { public static
void main(String[] args) { try { Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection con = DriverManager.getConnection("jdbc:derby://localhost:1527/students",
"root", "root"); Statement s = con.createStatement(); Scanner sc = new Scanner(System.in);
System.out.println("Delete Data from student table : "); System.out.print("Enter Student ID:
"); int sid = sc.nextInt(); String query = "DELETE FROM student WHERE s_id=" + sid;
s.execute(query); System.out.println("Data deleted successfully!"); s.close(); con.close(); }
catch (SQLException err) { System.out.println("ERROR: " + err); } catch (Exception err) {
System.out.println("ERROR: " + err); } } }

Output:

5
IU2241230188 Advance Java(AJT) 6CSE-E

Display:

package DB; import java.sql.*; import java.util.Scanner; public class DisplayData { public
static void main(String[] args) { try { Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection con = DriverManager.getConnection("jdbc:derby://localhost:1527/students",
"root", "root"); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT
* FROM student"); Scanner sc = new Scanner(System.in); while (rs.next()) {
System.out.println("Student ID : " + rs.getInt("s_id")); System.out.println("Name : " +
rs.getString("s_name")); System.out.println("Address : " + rs.getString("s_address"));
System.out.println("Gender : " + rs.getString("gender")); System.out.println("Gmail : " +
rs.getString("gmail")); System.out.println("Course : " +
rs.getString("course"));System.out.println("Date of Birth : " + rs.getString("dob"));
System.out.println("Phone No : " + rs.getString("phone_no")); System.out.print("Press Enter
to view the next record..."); sc.nextLine(); } s.close(); con.close(); sc.close(); } catch
(Exception err) { System.out.println("ERROR: " + err); } } }

Output:

6
IU2241230188 Advance Java(AJT) 6CSE-E

Pracitical-3
Aim: Write a JDBC application to display records from the database using metadata.

Code:
package DB; import java.sql.*; public class JD { public static void main(String[] args) { String DB_URL =
"jdbc:mysql://localhost:3306/employeesdb"; String USER = "root”; String PASSWORD = "root"; String QUERY =
"SELECT * FROM employees"; try { Class.forName("com.mysql.cj.jdbc.Driver");Connection conn =
DriverManager.getConnection(DB_URL, USER, PASSWORD); Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(QUERY); ResultSetMetaData metaData = rs.getMetaData(); int columnCount
= metaData.getColumnCount(); System.out.println("Table Columns:"); for (int i = 1; i <= columnCount; i++) {
System.out.print(metaData.getColumnName(i) + "\t"); } System.out.println("\n-------------------------------------------
------"); while (rs.next()) { for (int i = 1; i <= columnCount; i++) { System.out.print(rs.getString(i) + "\t"); }
System.out.println(); } rs.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } } }

Output:

7
IU2241230188 Advance Java(AJT) 6CSE-E

Practical-4
Aim: Create a web application for servlet and study web descriptor files. Write a servlet code which
performs servletcontext and servletconfig object.

Creating a Web Application for Servlet and Studying Web Descriptor Files.

In a basic Java web application using Servlets, we use web.xml (web descriptor file) for configuration.
Below is a simple servlet program demonstrating the use of ServletContext and ServletConfig
objects.

Step 1: Create a Dynamic Web Project

1. Open NetBeans and go to File → New Project.

2. Select Java with Ant → Web Application and click Next.

3. Enter Project Name

4. Select Server as Apache Tomcat

5. Click Finish.

Step 2: Add web.xml (Deployment Descriptor)

1. Right-click the project → Select New → Other


2. Choose Web → Standard Deployment Descriptor (web.xml) → Click Next
3. Click Finish to generate the web.xml file inside the WEB-INF folder.
4. Modify web.xml to configure the servlet.

Step 3: Create a Servlet Using HttpServlet

1. Right-click on Source Packages → Select New → Servlet


2. Enter Servlet Name
3. Choose the package → Click Finish.

CODE:

Web.xml

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


xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"><servlet><servlet-name>MyServlet</servlet-
name><servlet-class>com.example.MyServlet</servlet-class><init-param><param-
name>configParam</param-name><param-value>This is Bharrguv’s ServletConfig
Parameter</param-value></init-param></servlet>

<servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/MyServlet</url-


pattern></servlet-mapping> <context-param> <param-name>contextParam</param-name> <param-
value>This is Bharrguv’s ServletContext Parameter</param-value></context-param></web-app>

8
IU2241230188 Advance Java(AJT) 6CSE-E

Code:

public class Servlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException { response.setContentType("text/html"); PrintWriter out =
response.getWriter(); ServletConfig config = getServletConfig(); String configParam =
config.getInitParameter("configParam"); ServletContext context = getServletContext(); String
contextParam = context.getInitParameter("contextParam"); out.println("<html><body>");
out.println("<h2>Using ServletConfig and ServletContext</h2>"); out.println("<p>ServletConfig
Parameter: " + configParam + "</p>"); out.println("</p>ServletContext Parameter: " + contextParam
+ "</p>"); out.println("</body></html>"); } }

Output

9
IU2241230188 Advance Java(AJT) 6CSE-E

Practical-5
Aim: : Implement login form and perform session management using different methods.

Code:

Login Servlet (LoginServlet.java)

import java.io.IOException;import javax.servlet.*;@WebServlet("/LoginServlet")public class


LoginServlet extends HttpServlet {protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {String username =
request.getParameter("username");String password = request.getParameter("password");

if ("admin".equals(username) && "password".equals(password)) { HttpSession session =


request.getSession(); session.setAttribute("user", username);

response.sendRedirect("home.jsp"); } else { response.getWriter().println("Invalid login. <a


href='index.html'>Try again</a>");}}}

Output:

Home Servlet (HomeServlet.java)

Code:

import java.io.IOException;import javax.servlet.*;@WebServlet("/HomeServlet")

public class HomeServlet extends HttpServlet { protected void doGet(HttpServletRequest


request, HttpServletResponse response) throws ServletException, IOException {HttpSession
session = request.getSession(false); if (session != null && session.getAttribute("user") != null)
{response.getWriter().println("Welcome, " + session.getAttribute("user") + "!");

10
IU2241230188 Advance Java(AJT) 6CSE-E

response.getWriter().println("<br><a href='LogoutServlet'>Logout</a>");} else {


response.sendRedirect("index.html");}}}

Logout Servlet (LogoutServlet.java)

Code:

import java.io.IOException;import javax.servlet.*;@WebServlet("/LogoutServlet")

public class LogoutServlet extends HttpServlet {protected void doGet(HttpServletRequest


request, HttpServletResponse response) throws ServletException, IOException { HttpSession
session = request.getSession(false);if (session != null)
{session.invalidate();}response.sendRedirect("index.html");}}

Output:

11
IU2241230188 Advance Java(AJT) 6CSE-E

Practical-6
Aim: Develop a web application for a bank system which performs the
following task. 1.Create database and master table for bank 2.Perform insert,
update and delete operation. 3.Validate the attributes.

JSP Login Form (index.jsp)


Code:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-
8"%><!DOCTYPE html><html><head><title>Bank Login</title></head><body><h2>Login</h2><form
action="LoginServlet" method="post"><input type="text" name="username" placeholder="Enter
Username" required><br><br><input type="password" name="password" placeholder="Enter
Password" required><br><br><input type="submit" value="Login"></form></body></html>

Login Servlet (LoginServlet.java)

import java.io.IOException;import javax.servlet.*;@WebServlet("/LoginServlet")public class


LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {String username =
request.getParameter("username");String password = request.getParameter("password");if
("admin".equals(username) && "password".equals(password)) { HttpSession session =
request.getSession();session.setAttribute("user", username); response.sendRedirect("home.jsp"); }
else {response.getWriter().println("Invalid login. <a href='index.jsp'>Try again</a>");}}}

JSP Account Management (home.jsp)

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@


page import="java.sql.*" %><!DOCTYPE html><html><head><title>Bank
Management</title></head><body><h2>Bank Account Management</h2><form
action="AccountServlet" method="post"><input type="text" name="accNumber"
placeholder="Account Number" required><br><br><input type="text" name="accHolder"
placeholder="Account Holder Name" required><br><br><input type="number" name="balance"
placeholder="Balance" required><br><br><input type="submit" name="action" value="Add"><input
type="submit" name="action" value="Update"><input type="submit" name="action"
value="Delete"></form><h3>Account List</h3><table border="1"><tr><th>Account
Number</th><th>Holder Name</th><th>Balance</th></tr><% try (Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/BankDB", "root",
"password");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("SELECT *
FROM accounts")) {while (rs.next()) {out.println("<tr><td>" + rs.getString("acc_number") +
"</td><td>" + rs.getString("acc_holder") + "</td><td>" + rs.getDouble("balance") + "</td></tr>");}

12
IU2241230188 Advance Java(AJT) 6CSE-E

} catch (Exception e) { out.println("<tr><td colspan='3'>Error loading data</td></tr>");


}%></table><br><a href="LogoutServlet">Logout</a></body></html>

Account Management Servlet (AccountServlet.java)

import java.io.IOException;import java.sql.*;import javax.servlet.*;@WebServlet("/AccountServlet")

public class AccountServlet extends HttpServlet {protected void doPost(HttpServletRequest request,


HttpServletResponse response) throws ServletException, IOException {String accNumber =
request.getParameter("accNumber");String accHolder = request.getParameter("accHolder");double
balance = Double.parseDouble(request.getParameter("balance"));String action =
request.getParameter("action");try {Connection con
=DriverManager.getConnection("jdbc:mysql://localhost:3306/BankDB", "root",
"password");PreparedStatement stmt;if ("Add".equals(action)) {stmt =
con.prepareStatement("INSERT INTO accounts VALUES (?, ?, ?)");stmt.setString(1,
accNumber);stmt.setString(2, accHolder);stmt.setDouble(3, balance);} else if
("Update".equals(action)) {stmt = con.prepareStatement("UPDATE accounts SET acc_holder=?,
balance=? WHERE acc_number=?");stmt.setString(1, accHolder);stmt.setDouble(2,
balance);stmt.setString(3, accNumber);} else { stmt = con.prepareStatement("DELETE FROM
accounts WHERE acc_number=?");stmt.setString(1,
accNumber);}stmt.executeUpdate();response.sendRedirect("home.jsp");} catch (Exception e) {
response.getWriter().println("Error: " + e.getMessage());}}}

Logout Servlet (LogoutServlet.java)

import java.io.IOException;import javax.servlet.*;@WebServlet("/LogoutServlet")public class


LogoutServlet extends HttpServlet {protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {HttpSession session =
request.getSession(false);if (session != null) session.invalidate();response.sendRedirect("index.jsp");}}

Output:

13
IU2241230188 Advance Java(AJT) 6CSE-E

14
IU2241230188 Advance Java(AJT) 6CSE-E

Practical-7
Aim: Write down the program for testing the include action and forward action
for servlet collaboration.
HeaderServlet.java (Include Action)
import java.io.*;import javax.servlet.*;@WebServlet("/HeaderServlet")public class
HeaderServlet extends HttpServlet {protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {PrintWriter out =
response.getWriter();out.println("<h1>My Web App</h1><hr>");}}

LoginServlet.java (Handles Login & Forwarding)


import java.io.IOException;import javax.servlet.*;@WebServlet("/LoginServlet")public class
LoginServlet extends HttpServlet {protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {String username =
request.getParameter("username");if (username != null && !username.isEmpty()) {HttpSession
session = request.getSession();session.setAttribute("user",
username);request.getRequestDispatcher("welcome.jsp").forward(request, response);} else
{response.sendRedirect("index.html");}}}

LogoutServlet.java (Handles Logout)


import java.io.*;import javax.servlet.*;@WebServlet("/LogoutServlet")

public class LogoutServlet extends HttpServlet {protected void doGet(HttpServletRequest request,


HttpServletResponse response) throws ServletException, IOException {HttpSession session =
request.getSession(false);if (session != null)
session.invalidate();response.sendRedirect("index.html");}}

index.html (Login Page)


<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport"
content="width=device-width, initial-scale=1.0"><title>Login Page</title></head><body><div
id="header"><jsp:include page="HeaderServlet" /></div><h2>Login Page</h2><form action="LoginServlet"
method="post"><input type="text" name="username" placeholder="Enter Username"><br><br><button
type="submit">Login</button></form></body></html>

welcome.jsp (Forwarded Page)


<%@ page import="javax.servlet.http.HttpSession" %><%HttpSession sessionObj =
request.getSession(false);String user = (sessionObj != null) ? (String) sessionObj.getAttribute("user") : null;if

15
IU2241230188 Advance Java(AJT) 6CSE-E

(user == null) {response.sendRedirect("index.html");}%><!DOCTYPE html><html lang="en"><head><meta


charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Welcome
Page</title></head><body><div id="header"><jsp:include page="HeaderServlet"
/></div><h2>Welcome!</h2> <p>Hello, <%= user %>!</p><a
href="LogoutServlet">Logout</a></body></html>

Output:

16
IU2241230188 Advance Java(AJT) 6CSE-E

Practical-8
Aim: Write down the program for testing the include and forward
action tag in jsp.
index.jsp (Main Page with Include & Forward Actions)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %><%@ page
import="javax.servlet.http.HttpSession" %><%String user = (String) session.getAttribute("user");%><!DOCTYPE
html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,
initial-scale=1.0"><title>Include & Forward Example</title><style>body { font-family: Arial, sans-serif; text-align:
center; }.hidden { display: none; }.container { padding: 20px; border: 1px solid #ddd; width: 300px; margin: auto;
}</style></head><body><!-- Include Action: Common Header --><jsp:include page="header.jsp" /><% if (user ==
null) { %> <!-- Page 1: Login --><div id="page1" class="container"><h2>Login Page</h2><form action="login.jsp"
method="post"><input type="text" name="username" placeholder="Enter Username"><br><br><button
type="submit">Login</button></form></div><% } else { %><!-- Page 2: Welcome --><div id="page2"
class="container"><h2>Welcome!</h2><p>Hello, <%= user %>!</p><form action="logout.jsp"
method="post"><button type="submit">Logout</button></form> </div> <% } %></body></html>

header.jsp (Included Header)


<h1>My Web App</h1><hr>

login.jsp (Login Processing)


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
%><%@ page import="javax.servlet.http.HttpSession" %><% String username =
request.getParameter("username");if (username != null && !username.trim().isEmpty())
{HttpSession sessionObj = request.getSession();sessionObj.setAttribute("user",
username);response.sendRedirect("index.jsp"); } else
{response.sendRedirect("index.jsp");}%>

logout.jsp (Logout Processing)


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %><%@
page import="javax.servlet.http.HttpSession"%><%HttpSession sessionObj =
request.getSession(false);if (sessionObj != null) {sessionObj.invalidate();
}response.sendRedirect("index.jsp");%>

Output:

17
IU2241230188 Advance Java(AJT) 6CSE-E

18

You might also like