Advanced Java Programming Lab Manual
Advanced Java Programming Lab Manual
Certificate
Place: __________________
Date: __________________
Index (Progressive
Assessment Sheet)
Experiment No: 0
Deliver technical programs and services to cater the current needs of society
and industry, and to contribute in sustainable growth of society.
2. Problem analysis: Identify, formulate, review research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of mathematics,
natural sciences, and engineering sciences.
5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and
modern engineering and IT tools including prediction and modeling to complex
engineering activities with an understanding of the limitations.
6. The engineer and society: Apply reasoning informed by the contextual knowledge to
assess societal, health, safety, legal and cultural issues and the consequent responsibilities
relevant to the professional engineering practice.
8. Ethics: Apply ethical principles and commit to professional ethics and responsibilities
and norms of the engineering practice.
11. Project management and finance: Demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s own work, as a member
and leader in a team, to manage projects and in multidisciplinary environments.
Advanced Java Programming (3160707) 220220131013
12. Life-long learning: Recognize the need for, and have the preparation and ability to
engage in independent and life-long learning in the broadest context of technological
change.
1. Graduates will be able to explore and propose effective solutions to the problems in the area of
Computer Engineering as per the needs of society and industry.
2. Graduates will be able to apply standard practice and strategies to develop quality software
products using modern techniques, programming skills, tools & an open ended programming
environment and work in a team.
3. Graduates will manifest the skills of continuous learning in the fast changing field of
Computer Engineering.
CO-1: Implement Networking and Data base connectivity in Java for given application.
CO-2: Implement webpage with dynamic content and server side web application using Servlet and
JSP.
CO-4: Use Object Relation Mapping using Hibernate to build database dependent applications.
Practical – 1
Aim:-Implement TCP Server and client for transferring files using Socket and ServerSocket.
Code :-
TCP SERVER :-
import [Link].*;
import [Link].*;
class Pract1Server{
public static void main(String args[]) throws Exception {
ServerSocket ss = new ServerSocket(7777);
Socket s = [Link]();
[Link]("connected..........");
FileInputStream fin = new FileInputStream("[Link]");
DataOutputStream dout = new DataOutputStream([Link]());
int r;
while ((r = [Link]()) != -1) {
[Link](r);
}
[Link]("\nFiletranfer Completed");
[Link]();
[Link]();
}
}
TCP CLIENT :-
import [Link].*;
import [Link].*;
public class Pract1Client{
public static void main(String[] args) throws Exception {
Socket s = new Socket("[Link]", 7777);
if ([Link]()) {
[Link]("Connected to server");
}
FileOutputStream fout = new FileOutputStream("[Link]");
DataInputStream din = new DataInputStream([Link]());
int r;
while ((r = [Link]()) != -1) {
[Link]((char) r);
}
[Link]();
}
}
7
Advanced Java Programming (3160707) 220220131013
Output:-
8
Advanced Java Programming (3160707) 220220131013
Practical - 2
Aim:- Implement UDP Server and client for transferring files using DatagramSocket and DatagramPacket.
Code :-
UDP SERVER :-
import [Link];
import [Link];
import [Link];
import [Link];
while (true) {
[Link](receivePacket);
buffer = [Link]();
[Link](buffer, 0, [Link]());
[Link]();
[Link]("File received successfully.");
} catch (IOException e) {
[Link]();
}
}
}
UDP CLIENT :-
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
9
Advanced Java Programming (3160707) 220220131013
} catch (IOException e) {
[Link]();
} }}
Output:-
10
Advanced Java Programming (3160707) 220220131013
Practical - 3
Aim:- Write code to Connect Java Application with MySQL database.
Code :-
package Pract3;
import [Link].*;
public class Pract3 {
public Connection con;
Output:-
11
Advanced Java Programming (3160707) 220220131013
Practical - 4
Aim:- Implement cookies to store firstname and lastname using Java server pages.
Code :-
[Link] :-
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Setting Cookies</title>
</head>
<body>
<h1>Setting Cookies</h1>
<form action="[Link]" method="GET">
First Name: <input type="text" name="first_name"><br /><br/>
Last Name: <input type="text" name="last_name" /><br/><br/><input type="submit" value="Submit" />
</form>
</body>
</html>
[Link] :-
<%
Cookie firstName = new Cookie("first_name", [Link]("first_name"));
Cookie lastName = new Cookie("last_name", [Link]("last_name"));
[Link](60 * 60);
[Link](60 * 60);
[Link](firstName);
[Link](lastName);
%>
<html>
<body>
<h1>Setting Cookies</h1>
<ul>
<b>First Name:</b>
<%=[Link]("first_name")%><br /><br/>
<b>Last Name:</b>
<%=[Link]("last_name")%>
</body>
</html>
12
Advanced Java Programming (3160707) 220220131013
Output:-
13
Advanced Java Programming (3160707) 220220131013
Practical-5
Aim:- Implement the shopping cart for users for the online shopping. Apply the concept of session.
Code :-
[Link]
<html>
<head>
<metacharset="ISO-8859-1">
<title>OnlineShoppingCart</title>
<linkrel="stylesheet"href="./[Link]">
</head>
<body>
<divclass="head">
<h1>LaptopStore</h1>
<hr>
</div>
<formaction="ShoppingCartServlet"method="post">
<divclass="body">
<divclass="card">
<div
class="hd"> Mac
book
</div>
<divclass="img1">
</div>
<divclass="desc">
Description:AppleMacBookPro14M1ProchipmacOSMonterey
Laptop (16GB RAM, 512GB SSD)
<br><br>
<b>price:₹189900</b>
<br><br>
<spanclass="crt"><inputtype="checkbox"name="laptop"
value="Macbook"> Add to cart </span><br><br>
</div>
</div>
<divclass="card">
<div
class="hd"> Len
ovo
</div>
<divclass="img2">
</div>
<divclass="desc">
Description:LenovoLegion710thGenIntelCorei715.6inchFull HD
Gaming Laptop (16GB/1TB SSD)
<br><br>
<b>price:₹143999</b>
<br><br>
<spanclass="crt"><inputtype="checkbox"name="laptop"
value="Lenovo"> Add to cart </span><br><br>
</div>
</div>
<divclass="card">
<div
class="hd"> AS
14
Advanced Java Programming (3160707) 220220131013
US
</div>
<divclass="img3">
</div>
<divclass="desc">
Description:ASUSTUFGamingF15,15.6-inchFHD144Hz,IntelCore i5-
10300H 10th Gen (8GB RAM/512GB SSD)
<br><br>
<b>price:₹63990</b>
<br><br>
<spanclass="crt"><inputtype="checkbox"name="laptop"
value="ASUS"> Add to cart </span><br><br>
</div>
</div>
</div>
<inputtype="submit"value="ViewCart">
</form>
</body>
</html>
[Link]
<html>
<head>
<metacharset="ISO-8859-1">
<title>OnlineShoppingCart</title>
<linkrel="stylesheet"href="./[Link]">
</head>
<body>
<divclass="head">
<h1>LaptopStore</h1>
<hr>
</div>
<formaction="ShoppingCartServlet"method="post">
<divclass="body">
<divclass="card">
<div
class="hd"> Mac
book
</div>
<divclass="img1">
</div>
<divclass="desc">
Description:AppleMacBookPro14M1ProchipmacOSMonterey
Laptop (16GB RAM, 512GB SSD)
<br><br>
<b>price:₹189900</b>
<br><br>
<spanclass="crt"><inputtype="checkbox"name="laptop"
value="Macbook"> Add to cart </span><br><br>
</div>
</div>
<divclass="card">
<div class="hd"> Lenovo
15
Advanced Java Programming (3160707) 220220131013
</div>
<divclass="img2">
</div>
<divclass="desc">
Description:LenovoLegion710thGenIntelCorei715.6inchFull HD
Gaming Laptop (16GB/1TB SSD)
<br><br>
<b>price:₹143999</b>
<br><br>
<spanclass="crt"><inputtype="checkbox"name="laptop"
value="Lenovo"> Add to cart </span><br><br>
</div>
</div>
<divclass="card">
<div
class="hd"> AS
US
</div>
<divclass="img3">
</div>
<divclass="desc">
Description:ASUSTUFGamingF15,15.6-inchFHD144Hz,IntelCore i5-
10300H 10th Gen (8GB RAM/512GB SSD)
<br><br>
<b>price:₹63990</b>
<br><br>
<spanclass="crt"><inputtype="checkbox"name="laptop"
value="ASUS"> Add to cart </span><br><br>
</div>
</div>
</div>
<inputtype="submit"value="ViewCart">
</form>
</body>
</html>
[Link]
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
[Link];
import [Link];
import [Link];
[Link];
@WebServlet("/Cart")
publicclassShoppingCartServletextendsHttpServlet{
private static final long serialVersionUID = 1L;
/**
*@see HttpServlet#HttpServlet()
16
Advanced Java Programming (3160707) 220220131013
publicShoppingCartServlet(){
super();
//TODOAuto-generatedconstructorstub
}
/**
* @paramrequest
* @paramresponse
* @[Link]
* @[Link]
* @seeHttpServlet#doGet(HttpServletRequestrequest,
HttpServletResponse response)
*/
@Override
protectedvoiddoGet(HttpServletRequestrequest,
HttpServletResponseresponse)throwsServletException,IOException{
//TODOAuto-generatedmethodstub
[Link]().append("Servedat:").append([Link]());
[Link]("text/html");
Map<String,Integer>map=newHashMap<String,Integer>();
[Link]("Macbook", 189900);
[Link]("Lenovo",143999);
[Link]("ASUS",63990);
Stringnames[]=[Link]("laptop");
PrintWriter out = [Link]();
[Link]("<h1>Cart</h1>");
for(inti=0;i<[Link];i++){
int value = [Link](names[i]);
[Link](names[i]+" "+value+"<br>");
}
intans=0;
for(inti=0;i<[Link];i++){
ans = ans + [Link](names[i]);
}
[Link](" <br>");
[Link]("Total "+ans);
}
/**
* @paramresponse
* @[Link]
* @[Link]
* @see
* @paramrequestHttpServlet#doPost(HttpServletRequestrequest,
HttpServletResponse response)
*/
@Override
protected void doPost(HttpServletRequest
request,HttpServletResponseresponse)throwsServletException,IOExcep
tion{
//TODOAuto-generatedmethodstub
doGet(request, response);
}
}
17
Advanced Java Programming (3160707) 220220131013
Output:-
18
Advanced Java Programming (3160707) 220220131013
Practical-6
Aim:- Implement student registration form with enrolment number, firstname, lastname, semester,
contact number. Store the details in database. Also implement search, delete and modify facility for
student records.
Code:-
[Link]
import [Link];
[Link];
import [Link];
import [Link];
[Link];
import [Link];
import [Link];
import [Link];
/*
* Clicknbfs://nbhost/SystemFileSystem/Templates/Licenses/[Link]
* Clicknbfs://nbhost/SystemFileSystem/Templates/GUIForms/[Link]
*/
/**
*
* @authoradmin
*/
[Link]{
Connection con;
ResultSet rs;
PreparedStatementpst;
Stringurl="jdbc:mysql://localhost:3306/student_data";
String user="root";
Stringpass="Alankar@@1976";
public NewJFrame() {
initComponents();
try {
[Link]("[Link]");
con=[Link](url,user,pass);
pst=[Link]("select * from data");
rs=[Link]();
if([Link]()){
[Link]([Link](1));
[Link]([Link](2));
[Link]([Link](3));
[Link]([Link](4));
[Link]([Link](5));
}
}
catch (ClassNotFoundException | SQLException e) {
[Link](this,"ErrorInConnectivity");
}
}
@SuppressWarnings("unchecked")
//<editor-folddefaultstate="collapsed"desc="GeneratedCode">
private void initComponents() {
19
Advanced Java Programming (3160707) 220220131013
setDefaultCloseOperation([Link].EXIT_ON_CLOSE);
setFont(new [Link]("Arial", 1, 14)); // NOI18N
setForeground([Link](204,0,255));
[Link]("Enrollment Number");
[Link]("Last Name");
[Link]("First Name");
[Link](new [Link]() {
publicvoidactionPerformed([Link]){
lnameActionPerformed(evt);
}
});
[Link]([Link](){
public void actionPerformed([Link] evt) {
enrollmentActionPerformed(evt);
}
});
[Link]("Insert");
[Link]([Link](){
public void actionPerformed([Link] evt) {
jButton1ActionPerformed(evt);
}
});
[Link]("Search");
[Link]([Link](){
public void actionPerformed([Link] evt) {
jButton2ActionPerformed(evt);
}
});
[Link]("Update");
[Link]([Link](){
public void actionPerformed([Link] evt) {
jButton3ActionPerformed(evt);
}
20
Advanced Java Programming (3160707) 220220131013
});
[Link]("Delete");
[Link]([Link](){
public void actionPerformed([Link] evt) {
jButton4ActionPerformed(evt);
}
});
[Link]([Link]("SegoeUI",3,24));//NOI18N
[Link](new [Link](0, 102, 204));
[Link]("Student Registration Form");
[Link]("Semester");
[Link]("ContactNumber");
[Link]=[Link](getContentPane());
getContentPane().setLayout(layout);
[Link](
[Link]([Link])
.addGroup([Link]()
.addGap(115,115,115)
.addGroup([Link]([Link])
.addGroup([Link]([Link],false)
.addComponent(jLabel1,[Link].DEFAULT_SIZE,
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel5,[Link].DEFAULT_SIZE,
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel2,[Link].DEFAULT_SIZE,
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel3,[Link].DEFAULT_SIZE,
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel6,[Link].DEFAULT_SIZE,
[Link].DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup([Link]()
.addComponent(jButton1)
.addGap(18,18,18)
.addComponent(jButton2)))
.addGroup([Link]([Link])
.addGroup([Link]()
.addPreferredGap([Link],
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup([Link]([Link],false)
.addComponent(contact)
.addComponent(semester)
.addComponent(enrollment,[Link].DEFAULT_SIZE,186,Short.MAX_VALUE)
.addComponent(fname)
.addComponent(lname))
.addGap(363,363,363))
.addGroup([Link]()
.addGap(18,18,18)
.addComponent(jButton3)
.addGap(18,18,18)
.addComponent(jButton4)
.addContainerGap([Link].DEFAULT_SIZE,Short.MAX_VALUE))))
21
Advanced Java Programming (3160707) 220220131013
.addGroup([Link]()
.addGap(130,130,130)
.addComponent(jLabel4,[Link].PREFERRED_SIZE,312,
[Link].PREFERRED_SIZE)
.addGap(0,0,Short.MAX_VALUE))
);
[Link](
[Link]([Link])
.addGroup([Link]()
.addGap(22,22,22)
.addComponent(jLabel4)
.addGap(18,18,18)
.addGroup([Link]([Link])
.addComponent(jLabel1,[Link].PREFERRED_SIZE,22,
[Link].PREFERRED_SIZE)
.addComponent(enrollment, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE,[Link].PREFERRED_SIZE))
.addPreferredGap([Link])
.addGroup([Link]([Link])
.addComponent(jLabel3,[Link].PREFERRED_SIZE,22,
[Link].PREFERRED_SIZE)
.addComponent(fname, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE,[Link].PREFERRED_SIZE))
.addPreferredGap([Link])
.addGroup([Link]([Link])
.addComponent(lname, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE,[Link].PREFERRED_SIZE)
.addComponent(jLabel2,[Link].PREFERRED_SIZE,22,
[Link].PREFERRED_SIZE))
.addPreferredGap([Link])
.addGroup([Link]([Link])
.addComponent(jLabel5)
.addComponent(semester, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE,[Link].PREFERRED_SIZE))
.addPreferredGap([Link])
.addGroup([Link]([Link])
.addComponent(jLabel6)
.addComponent(contact, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE,[Link].PREFERRED_SIZE))
.addGap(18,18,18)
.addGroup([Link]([Link])
.addComponent(jButton2)
.addComponent(jButton1)
.addComponent(jButton3)
.addComponent(jButton4))
.addContainerGap(123,Short.MAX_VALUE))
);
pack();
setLocationRelativeTo(null);
}//</editor-fold>
privatevoidenrollmentActionPerformed([Link]){
//TODOaddyourhandlingcodehere:
}
privatevoidlnameActionPerformed([Link]){
22
Advanced Java Programming (3160707) 220220131013
//TODOaddyourhandlingcodehere:
}
privatevoidjButton4ActionPerformed([Link]){
//TODOaddyourhandlingcodehere:
try{
pst=[Link]("deletefromdatawhereenrollment=?");
[Link](1, [Link]());
[Link]();
[Link](this,"Success");
} catch (SQLException ex) {
[Link]([Link]()).log([Link],null,ex);
}
}
privatevoidjButton1ActionPerformed([Link]){
//TODOaddyourhandlingcodehere:
try{
pst=[Link]("insertintodata(enrollment,firstname,lastname,semester,contact)values(?,?,?,?,?)");
[Link](1,[Link]());
[Link](2,[Link]());
[Link](3,[Link]());
[Link](4,[Link]());
[Link](5,[Link]());
[Link]();
[Link](this,"Success");
} catch (SQLException ex) {
[Link]([Link]()).log([Link],null,ex);
}
}
privatevoidjButton2ActionPerformed([Link]){
//TODOaddyourhandlingcodehere:
Strings=[Link](this,"EnterEnrollmentforsearch");
try{
//TODOaddyourhandlingcodehere:
pst=[Link]("select*fromdatawhereenrollment=?");
[Link](1, s);
rs=[Link]();
if([Link]()){
[Link]([Link](1));
[Link]([Link](2));
[Link]([Link](3));
[Link]([Link](4));
[Link]([Link](5));
[Link](this,"Success");
}
} catch (SQLException ex) {
[Link]([Link]()).log([Link],null,ex);
}
}
privatevoidjButton3ActionPerformed([Link]){
//TODOaddyourhandlingcodehere:
try{
pst=[Link]("updatedatasetfirstname=?,lastname=?,semester=?,contact=?whereenrollment=?");
23
Advanced Java Programming (3160707) 220220131013
[Link](1, [Link]());
[Link](2, [Link]());
[Link](3, [Link]());
[Link](4, [Link]());
[Link](5,[Link]());
[Link]();
[Link](this,"Success");
} catch (SQLException ex) {
[Link]([Link]()).log([Link],null,ex);
}
}
/**
*@paramargsthecommandlinearguments
*/
publicstaticvoidmain(Stringargs[]){
/*SettheNimbuslookandfeel*/
//<editor-folddefaultstate="collapsed"desc="Lookandfeelsettingcode(optional)">
/*IfNimbus(introducedinJavaSE6)isnotavailable,staywiththedefaultlookandfeel.
*Fordetailssee[Link]
*/
try{
for([Link]:[Link]()){ if
("Nimbus".equals([Link]())) {
[Link]([Link]());
break;
}
}
} catch (ClassNotFoundException ex) {
[Link]([Link]()).log([Link],null,ex);
} catch (InstantiationException ex) {
[Link]([Link]()).log([Link],null,ex);
} catch (IllegalAccessException ex) {
[Link]([Link]()).log([Link],null,ex);
} catch ([Link] ex) {
[Link]([Link]()).log([Link],null,ex);
}
//</editor-fold>
/* Create and display the form */
[Link](newRunnable(){
publicvoidrun(){
newNewJFrame().setVisible(true);
}
});
}
24
Advanced Java Programming (3160707) 220220131013
Output:-
25
Advanced Java Programming (3160707) 220220131013
26
Advanced Java Programming (3160707) 220220131013
27
Advanced Java Programming (3160707) 220220131013
Practical-7
Aim:- Design a web project which demonstrate the CRUD operations using servlet technology.
Code :-
String userName=[Link]("user_name");
String guestName = [Link]("guest_name");
int roomNumber = [Link]([Link]("room_number"));
String contactNumber = [Link]("contact_number");
String checkIn = [Link]("check_in");
String checkOut = [Link]("check_out");
try {
Connection conn = [Link]();
String sql = "INSERT INTO reservations (user_name,guest_name,room_number,contact_number,check_in, check_out)
VALUES (?, ?, ?, ? ,?,?)";
PreparedStatement ps = [Link](sql);
[Link](1, userName);
[Link](2, guestName);
[Link](3, roomNumber);
[Link](4, contactNumber);
[Link](5, checkIn);
[Link](6, checkOut);
}
}
[Link]("text/html");
PrintWriter out = [Link]();
if ("admin".equals(role)) {
// Admin: Fetch all reservations
query = "SELECT * FROM reservations";
ps = [Link](query);
} else {
// Customer: Fetch only their reservations
query = "SELECT * FROM reservations WHERE user_name = ?";
ps = [Link](query);
[Link](1, username);
}
ResultSet rs = [Link]();
[Link]("<html><head><title>View Reservations</title></head><body>");
[Link]("<h2>Reservation List</h2>");
[Link]("<table border='1'>");
[Link]("<tr><th>ID</th><th>Username</th><th>Room Number</th><th>Check-In</th><th>Check-Out</th></tr>");
if (!hasData) {
[Link]("<tr><td colspan='5'>No reservations found.</td></tr>");
}
[Link]("</table>");
if ("admin".equals(role)) {
[Link]("<br><a href='[Link]'>Back to Dashboard</a>");
} else {
[Link]("<br><a href='[Link]'>Back to Dashboard</a>");
}
[Link]("</body></html>");
} catch (Exception e) {
[Link]();
[Link]("<h3>Error: " + [Link]() + "</h3>");
}
}
}
try {
[Link]("<html><body>");
if (rowsInserted > 0) {
[Link]("<h2>Reservation Updated Successfully!</h2>");
} else {
[Link]("<h2>Failed to Update Reservation.</h2>");
}
[Link]("</body></html>");
} catch (Exception e) {
[Link]();
[Link]("<h2>Error: " + [Link]() + "</h2>");
}
}
}
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
try {
Connection conn = [Link]();
String sql = "DELETE FROM reservations WHERE id=?";
PreparedStatement ps = [Link](sql);
[Link](1, reservationId);
int rowsInserted= [Link]();
[Link]("<html><body>");
if (rowsInserted > 0) {
[Link]("<h2>Reservation Deleted Successfully!</h2>");
} else {
[Link]("<h2>Failed to Delete Reservation.</h2>");
}
[Link]("</body></html>");
} catch (Exception e) {
[Link]();
[Link]("<h2>Error: " + [Link]() + "</h2>");
}
}
}
31
Advanced Java Programming (3160707) 220220131013
Output:
32
Advanced Java Programming (3160707) 220220131013
Practical-8
Aim:- Design a web page that takes the Username from user and if it is a valid username from user and if it
is a valid username prints “Welcome Username”. Use JSF to implement.
Code :-
[Link]
<?xmlversion='1.0'encoding='UTF-8'?>
<!DOCTYPEhtml>
<htmlxmlns="[Link]
<h:head>
<title>login</title>
</h:head>
<h:body>
<h2>210220131103-Prac8</h2>
<hr>
<h:form>
<h3>JSFLoginLogout</h3>
<h:outputTextvalue="Username"/>
<h:inputTextid="username"value="#{[Link]}"></h:inputText>
<h:messagefor="username"></h:message>
<br></br><br></br>
<h:outputTextvalue="Password"/>
<h:inputSecretid="password"value="#{[Link]}"></h:inputSecretinputSecret><h:message
for="password"></h:message>
<br></br><br></br>
<h:commandButtonaction="#{[Link]}"value="Login"></h:commandButton>
</h:form>
</h:body>
</html>
[Link]
[Link];
[Link];
[Link];
import [Link];
import [Link]
import [Link];
import [Link];
import [Link];
[Link];
@ManagedBean@SessionScoped
publicclassLoginimplementsSerializable{
privatestaticfinallongserialVersionUID=1094801825228386363L;
private String pwd;
privateStringmsg;
privateStringuser;
publicStringgetPwd(){returnpwd;}
public void setPwd(String pwd) {
[Link] = pwd; }
publicStringgetMsg(){returnmsg;}
publicvoidsetMsg(Stringmsg){[Link]=msg;}
33
Advanced Java Programming (3160707) 220220131013
publicStringgetUser(){returnuser;}
publicvoidsetUser(Stringuser){[Link]=user;}
//validate login public String
validateUsernamePassword(){
booleanvalid=[Link](user,pwd);if(valid){
HttpSessionsession=[Link]();[Link]("username",user); return
"admin";
}else{
[Link]().add Message( null,
newFacesMessage(FacesMessage.SEVERITY_WARN,
"Incorrect Username and Passowrd",
"PleaseentercorrectusernameandPassword")); return
"login";
}
}
//logoutevent,invalidatesessionpublicStringlogout(){
HttpSessionsession=[Link]();[Link]();return"login";
}
}
[Link]
package [Link];
[Link];importj
[Link]; import
[Link];
[Link];
[Link];
public class LoginDAO {
publicstaticbooleanvalidateStringuser,Stringpassword)
Connection con = null;
PrearedStatementPS=null;
try {
con= [Link]();
ps=[Link]("Selectuname,passwordfromUserswhereuname =?andpassword=?");[Link](1, user);
[Link](2, password);
ResultSetrs=[Link](); if
([Link]()) {
//resultfound,meansvalidinputsreturntrue;
}
returnfalse;
}catch(SQLExceptionex){
[Link]("Loginerror"+[Link]());returnfalse;[Link](con);
}
}
[Link]
<?xmlversion='1.0'encoding='UTF-8'?>
<faces-config version="2.2" xmlns="[Link]
xmlns:xsi="[Link]
[Link]
<navigation-rule>
<from-view-id>/[Link]</from-view-id>
<navigation-case>
<from-outcome>admin</from-outcome>
<to-view-id>/[Link]</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
34
Advanced Java Programming (3160707) 220220131013
[Link]
[Link];
import [Link];
import [Link];
public class DataConnect {
public static Connection getConnection() { try {
[Link]("[Link]"); Connection con =
[Link]("jdbc:mysql://localhost:3306/jsfdemo",
"root", " Alankar@@1976");
returncon;
}catch(Exceptionex){[Link]("[Link]()Error"
+[Link]());
return null;
}
}
publicstaticvoidclose(Connectioncon){try{ [Link]();
}catch(Exceptionex){[Link](ex);}
}
}
Output:-
35
Advanced Java Programming (3160707) 220220131013
Practical-9
Aim:- Design a Java/Web application to demonstrate hibernate framework.
Code:-
[Link]
<hibernate-configuration>
<session-factory>
<property name="[Link].driver_class">[Link]</property>
<property name="[Link]">jdbc:mysql://localhost:3306/hotel_db</property>
<property name="[Link]">root</property>
<property name="[Link]">UTsav@9975</property>
<property name="[Link]">[Link].MySQL8Dialect</property>
<property name="hibernate.show_sql">true</property>
<property name="[Link]">update</property>
<mapping class="[Link]"/>
<mapping class="[Link]"/>
<mapping resource="[Link]"/>
<mapping resource="[Link]"/>
</session-factory>
</hibernate-configuration>
[Link]
<hibernate-configuration>
<session-factory>
<property name="[Link].driver_class">[Link]</property>
<property name="[Link]">jdbc:mysql://localhost:3306/hotel_db</property>
<property name="[Link]">root</property>
<property name="[Link]">UTsav@9975</property>
<property name="[Link]">[Link].MySQL8Dialect</property>
<property name="hibernate.show_sql">true</property>
<property name="[Link]">update</property>
<mapping class="[Link]"/>
<mapping class="[Link]"/>
<mapping resource="[Link]"/>
<mapping resource="[Link]"/>
</session-factory>
</hibernate-configuration>
36
Advanced Java Programming (3160707) 220220131013
[Link]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"[Link]
<hibernate-mapping>
<class name="[Link]" table="reservations">
</class>
</hibernate-mapping>
[Link]
package [Link];
import [Link];
import [Link];
static {
try {
// Load [Link] and build SessionFactory
sessionFactory = new Configuration().configure("[Link]").buildSessionFactory();
} catch (Throwable ex) {
[Link]("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
37
Advanced Java Programming (3160707) 220220131013
[Link]
package [Link];
/**
*
* @author DISHITA
*/
public class Users {
private int id;
private String username;
private String password;
private String role; // Changed from Role enum to String
// Default constructor
public Users() {}
// Constructor
public Users(int id, String username, String password, String role) {
[Link] = id;
[Link] = username;
[Link] = password;
[Link] = role;
}
@Override
public String toString() {
return "User{id=" + id + ", username='" + username + "', role=" + role + "}";
}
}
38
Advanced Java Programming (3160707) 220220131013
[Link]
package [Link];
public Reservations() {}
39
Advanced Java Programming (3160707) 220220131013
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
/**
*
* @author DISHITA
*/
public class UserDAO {
if (existingUser != null) {
return "Username already exists! Choose another one.";
}
[Link](user);
[Link]();
return "Registration successful! Redirecting to login...";
} catch (Exception e) {
if (transaction != null) [Link]();
[Link]();
return "Registration failed due to an error!";
}
}
40
Advanced Java Programming (3160707) 220220131013
[Link]("password", password);
return [Link](); // Returns a single result or null
} catch (Exception e) {
[Link]();
return null;
}
}
}
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
41
Advanced Java Programming (3160707) 220220131013
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
import [Link];
import [Link];
@Override
public void init() {
reservationDAO = new ReservationDAO();
[Link]([Link]());
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
Reservations reservation = new Reservations();
[Link](username);
[Link]([Link]("guestName"));
[Link]([Link]("roomNumber"));
[Link]([Link]("contactNumber"));
42
Advanced Java Programming (3160707) 220220131013
[Link]([Link]("checkIn"));
[Link]([Link]("checkOut"));
[Link](reservation);
[Link]("message", "Reservation added successfully!");
} catch (Exception e) {
[Link]("error", "Failed to add reservation: " + [Link]());
}
[Link]("reservations", reservations);
[Link]("[Link]").forward(request, response);
}
}
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
import [Link];
@Override
public void init() {
reservationDAO = new ReservationDAO();
[Link]([Link]());
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
int id = [Link](idStr);
Reservations reservation = [Link](id);
if (reservation == null) {
[Link]("error", "Reservation not found.");
} else {
[Link]("reservation", reservation);
}
43
Advanced Java Programming (3160707) 220220131013
} catch (NumberFormatException e) {
[Link]("error", "Invalid reservation ID format.");
} catch (Exception e) {
[Link]("error", "Error retrieving reservation: " + [Link]());
}
[Link]("[Link]").forward(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
int id = [Link](idStr);
boolean success = [Link](id);
if (success) {
[Link]("message", "Reservation deleted successfully.");
} else {
[Link]("error", "Reservation not found or already deleted.");
}
} catch (NumberFormatException e) {
[Link]("error", "Invalid reservation ID format.");
} catch (Exception e) {
[Link]("error", "Failed to delete reservation: " + [Link]());
}
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
44
Advanced Java Programming (3160707) 220220131013
import [Link];
if (user != null) {
// Create session and store user info
HttpSession session = [Link]();
[Link]("username", [Link]());
[Link]("role", [Link]());
if ([Link]().equalsIgnoreCase("ADMIN")) {
[Link]("[Link]");
} else {
[Link]("[Link]");
}
} else {
[Link]("error", "Invalid username or password.");
[Link]("[Link]").forward(request, response);
}
}
}
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
45
Advanced Java Programming (3160707) 220220131013
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
[Link]("message", resultMessage);
[Link]("[Link]").forward(request, response);
}
}
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
import [Link];
@Override
public void init() {
reservationDAO = new ReservationDAO();
[Link]([Link]()); // important
}
@Override
46
Advanced Java Programming (3160707) 220220131013
try {
int id = [Link](idStr);
Reservations reservation = [Link](id);
if (reservation != null) {
[Link]([Link]("guestName"));
[Link]([Link]("roomNumber"));
[Link]([Link]("contactNumber"));
[Link]([Link]("checkIn"));
[Link]([Link]("checkOut"));
[Link](reservation);
}
} catch (Exception e) {
[Link]("ViewReservationsServlet");
}
}
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
import [Link];
import [Link];
@Override
public void init() {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
if (reservation != null) {
[Link]("reservation", reservation);
[Link]("[Link]").forward(request, response);
return;
} else {
[Link]("error", "Reservation not found.");
[Link]("[Link]").forward(request, response);
return;
}
}
List<Reservations> reservations;
if ("ADMIN".equalsIgnoreCase(role)) {
reservations = [Link]();
} else {
reservations = [Link](username);
}
[Link]("reservations", reservations);
[Link]("[Link]").forward(request, response);
} catch (Exception e) {
[Link]("error", "Error fetching reservations: " + [Link]());
[Link]("[Link]").forward(request, response);
}
}
}
Output:
48
Advanced Java Programming (3160707) 220220131013
49
Advanced Java Programming (3160707) 220220131013
Practical-10
Aim:- Design a Java/Web application to demonstrate spring framework. Use of MVC
architecture is optional.
Code:-
[Link]
<beans xmlns="[Link]
xmlns:xsi="[Link]
xsi:schemaLocation="[Link]
[Link]
</beans>
[Link]
package [Link];
/**
*
* @author DISHITA
*/
public class User {
private int id;
private String username;
private String password;
private String role;
50
Advanced Java Programming (3160707) 220220131013
[Link]
package [Link];
51
Advanced Java Programming (3160707) 220220131013
[Link]
package [Link];
import [Link];
import [Link];
52
Advanced Java Programming (3160707) 220220131013
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
53
Advanced Java Programming (3160707) 220220131013
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
54
Advanced Java Programming (3160707) 220220131013
import [Link].*;
import [Link];
@Override
public void init() {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if (username == null) {
[Link]("error", "You must be logged in to add a reservation.");
[Link]("[Link]").forward(request, response);
return;
}
[Link](reservation);
[Link]("message", "Reservation\n" +
" // Inform the user and forward to the view reservations page\n" +
" added successfully!");
[Link]("[Link]").forward(request, response);
}
}
55
Advanced Java Programming (3160707) 220220131013
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
import [Link];
@Override
public void init() {
reservationDAO = new ReservationDAO();
[Link]([Link]());
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
int id = [Link](idStr);
Reservations reservation = [Link](id);
if (reservation == null) {
[Link]("error", "Reservation not found.");
} else {
[Link]("reservation", reservation);
}
} catch (NumberFormatException e) {
[Link]("error", "Invalid reservation ID format.");
} catch (Exception e) {
[Link]("error", "Error retrieving reservation: " + [Link]());
}
[Link]("[Link]").forward(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
56
Advanced Java Programming (3160707) 220220131013
try {
int id = [Link](idStr);
boolean success = [Link](id);
if (success) {
[Link]("message", "Reservation deleted successfully.");
} else {
[Link]("error", "Reservation not found or already deleted.");
}
} catch (NumberFormatException e) {
[Link]("error", "Invalid reservation ID format.");
} catch (Exception e) {
[Link]("error", "Failed to delete reservation: " + [Link]());
}
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
import [Link];
@Override
public void init() {
ApplicationContext context = new ClassPathXmlApplicationContext("[Link]");
userDAO = (UserDAO) [Link]("userDAO");
}
57
Advanced Java Programming (3160707) 220220131013
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if ([Link](username, password)) {
String role = [Link](username);
[Link]
package [Link];
import [Link];
import [Link].*;
import [Link];
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
58
Advanced Java Programming (3160707) 220220131013
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Override
public void init() {
ApplicationContext context = new ClassPathXmlApplicationContext("[Link]");
userDAO = (UserDAO) [Link]("userDAO");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if ([Link](user)) {
[Link]("[Link]");
} else {
[Link]().println("Registration Failed!");
}
}
}
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
import [Link];
import [Link];
59
Advanced Java Programming (3160707) 220220131013
@Override
public void init() {
ApplicationContext context = new ClassPathXmlApplicationContext("[Link]");
reservationDAO = (ReservationDAO) [Link]("reservationDAO");
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
[Link]("[Link]?error=" + [Link]("Missing
reservation ID", "UTF-8"));
return;
}
try {
int id = [Link]([Link]());
Reservation reservation = [Link](id);
if (reservation != null) {
[Link]("reservation", reservation);
[Link]("[Link]").forward(request, response);
} else {
[Link]("error", "Reservation not found.");
[Link]("[Link]").forward(request, response);
}
} catch (NumberFormatException e) {
[Link]("error", "Invalid reservation ID.");
[Link]("[Link]").forward(request, response);
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
int id = [Link]([Link]());
Reservation existingReservation = [Link](id);
if (existingReservation == null) {
[Link]("[Link]?error=" + [Link]("Reservation
not found", "UTF-8"));
return;
}
60
Advanced Java Programming (3160707) 220220131013
[Link](guestName);
[Link](roomNumber);
[Link](checkIn);
[Link](checkOut);
[Link](existingReservation);
[Link]("[Link]?success=" + [Link]("Reservation
updated successfully", "UTF-8"));
} catch (NumberFormatException e) {
[Link]("[Link]?error=" + [Link]("Invalid
reservation ID", "UTF-8"));
} catch (Exception e) {
[Link]();
[Link]("[Link]?error=" + [Link]("Update failed",
"UTF-8"));
}
}
}
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
61
Advanced Java Programming (3160707) 220220131013
@Override
public void init() throws ServletException {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if (username == null) {
[Link]("[Link]");
return;
}
List<Reservation> reservations;
if ("admin".equals(role)) {
reservations = [Link]();
} else {
reservations = [Link](username);
}
[Link]("reservations", reservations);
[Link]("[Link]").forward(request, response);
}
}
Output:
62
Advanced Java Programming (3160707) 220220131013
63
Advanced Java Programming (3160707) 220220131013
64