Sneh Advanced Java
Sneh Advanced Java
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 java.io.*;
import java.net.*;
class Pract1Server{
public static void main(String args[]) throws Exception {
ServerSocket ss = new ServerSocket(7777);
Socket s = ss.accept();
System.out.println("connected..........");
FileInputStream fin = new FileInputStream("Send.txt");
DataOutputStream dout = new DataOutputStream(s.getOutputStream());
int r;
while ((r = fin.read()) != -1) {
dout.write(r);
}
System.out.println("\nFiletranfer Completed");
s.close();
ss.close();
}
}
TCP CLIENT :-
import java.io.*;
import java.net.*;
public class Pract1Client{
public static void main(String[] args) throws Exception {
Socket s = new Socket("127.0.0.1", 7777);
if (s.isConnected()) {
System.out.println("Connected to server");
}
FileOutputStream fout = new FileOutputStream("received.txt");
DataInputStream din = new DataInputStream(s.getInputStream());
int r;
while ((r = din.read()) != -1) {
fout.write((char) r);
}
s.close();
}
}
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 java.io.FileOutputStream;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
while (true) {
serverSocket.receive(receivePacket);
buffer = receivePacket.getData();
fileOutputStream.write(buffer, 0, receivePacket.getLength());
fileOutputStream.close();
System.out.println("File received successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
UDP CLIENT :-
import java.io.FileInputStream;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
9
Advanced Java Programming (3160707) 220220131013
} catch (IOException e) {
e.printStackTrace();
} }}
Output:-
10
Advanced Java Programming (3160707) 220220131013
Practical - 3
Aim:- Write code to Connect Java Application with MySQL database.
Code :-
package Pract3;
import java.sql.*;
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 :-
index.html :-
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Setting Cookies</title>
</head>
<body>
<h1>Setting Cookies</h1>
<form action="main.jsp" 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>
main.jsp :-
<%
Cookie firstName = new Cookie("first_name", request.getParameter("first_name"));
Cookie lastName = new Cookie("last_name", request.getParameter("last_name"));
firstName.setMaxAge(60 * 60);
lastName.setMaxAge(60 * 60);
response.addCookie(firstName);
response.addCookie(lastName);
%>
<html>
<body>
<h1>Setting Cookies</h1>
<ul>
<b>First Name:</b>
<%=request.getParameter("first_name")%><br /><br/>
<b>Last Name:</b>
<%=request.getParameter("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 :-
Index.html
<html>
<head>
<metacharset="ISO-8859-1">
<title>OnlineShoppingCart</title>
<linkrel="stylesheet"href="./newcss.css">
</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>
newcss.css
<html>
<head>
<metacharset="ISO-8859-1">
<title>OnlineShoppingCart</title>
<linkrel="stylesheet"href="./newcss.css">
</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>
ShoppingCartServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
importjavax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
@WebServlet("/Cart")
publicclassShoppingCartServletextendsHttpServlet{
private static final long serialVersionUID = 1L;
/**
*@see HttpServlet#HttpServlet()
16
Advanced Java Programming (3160707) 220220131013
publicShoppingCartServlet(){
super();
//TODOAuto-generatedconstructorstub
}
/**
* @paramrequest
* @paramresponse
* @throwsjavax.servlet.ServletException
* @throwsjava.io.IOException
* @seeHttpServlet#doGet(HttpServletRequestrequest,
HttpServletResponse response)
*/
@Override
protectedvoiddoGet(HttpServletRequestrequest,
HttpServletResponseresponse)throwsServletException,IOException{
//TODOAuto-generatedmethodstub
response.getWriter().append("Servedat:").append(request.getContextPath());
response.setContentType("text/html");
Map<String,Integer>map=newHashMap<String,Integer>();
map.put("Macbook", 189900);
map.put("Lenovo",143999);
map.put("ASUS",63990);
Stringnames[]=request.getParameterValues("laptop");
PrintWriter out = response.getWriter();
out.println("<h1>Cart</h1>");
for(inti=0;i<names.length;i++){
int value = map.get(names[i]);
out.println(names[i]+" "+value+"<br>");
}
intans=0;
for(inti=0;i<names.length;i++){
ans = ans + map.get(names[i]);
}
out.println(" <br>");
out.println("Total "+ans);
}
/**
* @paramresponse
* @throwsjavax.servlet.ServletException
* @throwsjava.io.IOException
* @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:-
NewJFrame.java
import java.sql.Connection;
importjava.sql.DriverManager;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
importjava.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/*
* Clicknbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txttochangethislicense
* Clicknbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.javatoeditthistemplate
*/
/**
*
* @authoradmin
*/
publicclassNewJFrameextendsjavax.swing.JFrame{
Connection con;
ResultSet rs;
PreparedStatementpst;
Stringurl="jdbc:mysql://localhost:3306/student_data";
String user="root";
Stringpass="Alankar@@1976";
public NewJFrame() {
initComponents();
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con=DriverManager.getConnection(url,user,pass);
pst=con.prepareStatement("select * from data");
rs=pst.executeQuery();
if(rs.next()){
enrollment.setText(rs.getString(1));
fname.setText(rs.getString(2));
lname.setText(rs.getString(3));
semester.setText(rs.getString(4));
contact.setText(rs.getString(5));
}
}
catch (ClassNotFoundException | SQLException e) {
JOptionPane.showMessageDialog(this,"ErrorInConnectivity");
}
}
@SuppressWarnings("unchecked")
//<editor-folddefaultstate="collapsed"desc="GeneratedCode">
private void initComponents() {
19
Advanced Java Programming (3160707) 220220131013
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setFont(new java.awt.Font("Arial", 1, 14)); // NOI18N
setForeground(newjava.awt.Color(204,0,255));
jLabel1.setText("Enrollment Number");
jLabel2.setText("Last Name");
jLabel3.setText("First Name");
lname.addActionListener(new java.awt.event.ActionListener() {
publicvoidactionPerformed(java.awt.event.ActionEventevt){
lnameActionPerformed(evt);
}
});
enrollment.addActionListener(newjava.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt) {
enrollmentActionPerformed(evt);
}
});
jButton1.setText("Insert");
jButton1.addActionListener(newjava.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText("Search");
jButton2.addActionListener(newjava.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jButton3.setText("Update");
jButton3.addActionListener(newjava.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
20
Advanced Java Programming (3160707) 220220131013
});
jButton4.setText("Delete");
jButton4.addActionListener(newjava.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jLabel4.setFont(newjava.awt.Font("SegoeUI",3,24));//NOI18N
jLabel4.setForeground(new java.awt.Color(0, 102, 204));
jLabel4.setText("Student Registration Form");
jLabel5.setText("Semester");
jLabel6.setText("ContactNumber");
javax.swing.GroupLayoutlayout=newjavax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(115,115,115)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING,false)
.addComponent(jLabel1,javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel5,javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel2,javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel3,javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel6,javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addComponent(jButton1)
.addGap(18,18,18)
.addComponent(jButton2)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,false)
.addComponent(contact)
.addComponent(semester)
.addComponent(enrollment,javax.swing.GroupLayout.DEFAULT_SIZE,186,Short.MAX_VALUE)
.addComponent(fname)
.addComponent(lname))
.addGap(363,363,363))
.addGroup(layout.createSequentialGroup()
.addGap(18,18,18)
.addComponent(jButton3)
.addGap(18,18,18)
.addComponent(jButton4)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,Short.MAX_VALUE))))
21
Advanced Java Programming (3160707) 220220131013
.addGroup(layout.createSequentialGroup()
.addGap(130,130,130)
.addComponent(jLabel4,javax.swing.GroupLayout.PREFERRED_SIZE,312,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0,0,Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(22,22,22)
.addComponent(jLabel4)
.addGap(18,18,18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1,javax.swing.GroupLayout.PREFERRED_SIZE,22,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(enrollment, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3,javax.swing.GroupLayout.PREFERRED_SIZE,22,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(fname, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lname, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2,javax.swing.GroupLayout.PREFERRED_SIZE,22,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(semester, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(contact, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18,18,18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton2)
.addComponent(jButton1)
.addComponent(jButton3)
.addComponent(jButton4))
.addContainerGap(123,Short.MAX_VALUE))
);
pack();
setLocationRelativeTo(null);
}//</editor-fold>
privatevoidenrollmentActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
}
privatevoidlnameActionPerformed(java.awt.event.ActionEventevt){
22
Advanced Java Programming (3160707) 220220131013
//TODOaddyourhandlingcodehere:
}
privatevoidjButton4ActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
try{
pst=con.prepareStatement("deletefromdatawhereenrollment=?");
pst.setString(1, enrollment.getText());
pst.executeUpdate();
JOptionPane.showMessageDialog(this,"Success");
} catch (SQLException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE,null,ex);
}
}
privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
try{
pst=con.prepareStatement("insertintodata(enrollment,firstname,lastname,semester,contact)values(?,?,?,?,?)");
pst.setString(1,enrollment.getText());
pst.setString(2,fname.getText());
pst.setString(3,lname.getText());
pst.setString(4,semester.getText());
pst.setString(5,contact.getText());
pst.executeUpdate();
JOptionPane.showMessageDialog(this,"Success");
} catch (SQLException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE,null,ex);
}
}
privatevoidjButton2ActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
Strings=JOptionPane.showInputDialog(this,"EnterEnrollmentforsearch");
try{
//TODOaddyourhandlingcodehere:
pst=con.prepareStatement("select*fromdatawhereenrollment=?");
pst.setString(1, s);
rs=pst.executeQuery();
if(rs.next()){
enrollment.setText(rs.getString(1));
fname.setText(rs.getString(2));
lname.setText(rs.getString(3));
semester.setText(rs.getString(4));
contact.setText(rs.getString(5));
JOptionPane.showMessageDialog(this,"Success");
}
} catch (SQLException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE,null,ex);
}
}
privatevoidjButton3ActionPerformed(java.awt.event.ActionEventevt){
//TODOaddyourhandlingcodehere:
try{
pst=con.prepareStatement("updatedatasetfirstname=?,lastname=?,semester=?,contact=?whereenrollment=?");
23
Advanced Java Programming (3160707) 220220131013
pst.setString(1, fname.getText());
pst.setString(2, lname.getText());
pst.setString(3, semester.getText());
pst.setString(4, contact.getText());
pst.setString(5,enrollment.getText());
pst.executeUpdate();
JOptionPane.showMessageDialog(this,"Success");
} catch (SQLException ex) {
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE,null,ex);
}
}
/**
*@paramargsthecommandlinearguments
*/
publicstaticvoidmain(Stringargs[]){
/*SettheNimbuslookandfeel*/
//<editor-folddefaultstate="collapsed"desc="Lookandfeelsettingcode(optional)">
/*IfNimbus(introducedinJavaSE6)isnotavailable,staywiththedefaultlookandfeel.
*Fordetailsseehttp://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try{
for(javax.swing.UIManager.LookAndFeelInfoinfo:javax.swing.UIManager.getInstalledLookAndFeels()){ if
("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE,null,ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE,null,ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE,null,ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE,null,ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(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=request.getParameter("user_name");
String guestName = request.getParameter("guest_name");
int roomNumber = Integer.parseInt(request.getParameter("room_number"));
String contactNumber = request.getParameter("contact_number");
String checkIn = request.getParameter("check_in");
String checkOut = request.getParameter("check_out");
try {
Connection conn = DBConnection.getConnection();
String sql = "INSERT INTO reservations (user_name,guest_name,room_number,contact_number,check_in, check_out)
VALUES (?, ?, ?, ? ,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, userName);
ps.setString(2, guestName);
ps.setInt(3, roomNumber);
ps.setString(4, contactNumber);
ps.setString(5, checkIn);
ps.setString(6, checkOut);
}
}
response.setContentType("text/html");
PrintWriter out = response.getWriter();
if ("admin".equals(role)) {
// Admin: Fetch all reservations
query = "SELECT * FROM reservations";
ps = con.prepareStatement(query);
} else {
// Customer: Fetch only their reservations
query = "SELECT * FROM reservations WHERE user_name = ?";
ps = con.prepareStatement(query);
ps.setString(1, username);
}
ResultSet rs = ps.executeQuery();
out.println("<html><head><title>View Reservations</title></head><body>");
out.println("<h2>Reservation List</h2>");
out.println("<table border='1'>");
out.println("<tr><th>ID</th><th>Username</th><th>Room Number</th><th>Check-In</th><th>Check-Out</th></tr>");
if (!hasData) {
out.println("<tr><td colspan='5'>No reservations found.</td></tr>");
}
out.println("</table>");
if ("admin".equals(role)) {
out.println("<br><a href='adminDashboard.html'>Back to Dashboard</a>");
} else {
out.println("<br><a href='customerDashboard.html'>Back to Dashboard</a>");
}
out.println("</body></html>");
} catch (Exception e) {
e.printStackTrace();
out.println("<h3>Error: " + e.getMessage() + "</h3>");
}
}
}
try {
out.println("<html><body>");
if (rowsInserted > 0) {
out.println("<h2>Reservation Updated Successfully!</h2>");
} else {
out.println("<h2>Failed to Update Reservation.</h2>");
}
out.println("</body></html>");
} catch (Exception e) {
e.printStackTrace();
out.println("<h2>Error: " + e.getMessage() + "</h2>");
}
}
}
import java.io.IOException;
import java.io.PrintWriter;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.sql.Connection;
import java.sql.PreparedStatement;
import com.hotel.util.DBConnection;
try {
Connection conn = DBConnection.getConnection();
String sql = "DELETE FROM reservations WHERE id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, reservationId);
int rowsInserted= ps.executeUpdate();
out.println("<html><body>");
if (rowsInserted > 0) {
out.println("<h2>Reservation Deleted Successfully!</h2>");
} else {
out.println("<h2>Failed to Delete Reservation.</h2>");
}
out.println("</body></html>");
} catch (Exception e) {
e.printStackTrace();
out.println("<h2>Error: " + e.getMessage() + "</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 :-
Login.xhtml
<?xmlversion='1.0'encoding='UTF-8'?>
<!DOCTYPEhtml>
<htmlxmlns="https://www.w3.org/1999/xhtml"xmlns:h="https://java.sun.com/jsf/html">
<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="#{login.user}"></h:inputText>
<h:messagefor="username"></h:message>
<br></br><br></br>
<h:outputTextvalue="Password"/>
<h:inputSecretid="password"value="#{login.pwd}"></h:inputSecretinputSecret><h:message
for="password"></h:message>
<br></br><br></br>
<h:commandButtonaction="#{login.validateUsernamePassword}"value="Login"></h:commandButton>
</h:form>
</h:body>
</html>
Login.java
packagecom.example.jsf.beans;
importjava.io.Serializable;
importjavax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import com.example.jsf.dao.LoginDAO;
importcom.example.jsf.util.SessionUtils;
@ManagedBean@SessionScoped
publicclassLoginimplementsSerializable{
privatestaticfinallongserialVersionUID=1094801825228386363L;
private String pwd;
privateStringmsg;
privateStringuser;
publicStringgetPwd(){returnpwd;}
public void setPwd(String pwd) {
this.pwd = pwd; }
publicStringgetMsg(){returnmsg;}
publicvoidsetMsg(Stringmsg){this.msg=msg;}
33
Advanced Java Programming (3160707) 220220131013
publicStringgetUser(){returnuser;}
publicvoidsetUser(Stringuser){this.user=user;}
//validate login public String
validateUsernamePassword(){
booleanvalid=LoginDAO.validate(user,pwd);if(valid){
HttpSessionsession=SessionUtils.getSession();session.setAttribute("username",user); return
"admin";
}else{
FacesContext.getCurrentInstance().add Message( null,
newFacesMessage(FacesMessage.SEVERITY_WARN,
"Incorrect Username and Passowrd",
"PleaseentercorrectusernameandPassword")); return
"login";
}
}
//logoutevent,invalidatesessionpublicStringlogout(){
HttpSessionsession=SessionUtils.getSession();session.invalidate();return"login";
}
}
LoginDAO.java
package com.example.jsf.dao;
importjava.sql.Connection;importj
ava.sql.PreparedStatement; import
java.sql.ResultSet;
importjava.sql.SQLException;
importcom.example.jsf.util.DataConnect;
public class LoginDAO {
publicstaticbooleanvalidateStringuser,Stringpassword)
Connection con = null;
PrearedStatementPS=null;
try {
con= DataConnect.getConnection();
ps=con.prepareStatement("Selectuname,passwordfromUserswhereuname =?andpassword=?");ps.setString(1, user);
ps.setString(2, password);
ResultSetrs=ps.executeQuery(); if
(rs.next()) {
//resultfound,meansvalidinputsreturntrue;
}
returnfalse;
}catch(SQLExceptionex){
System.out.println("Loginerror"+ex.getMessage());returnfalse;DataConnect.close(con);
}
}
Faceconfig.java
<?xmlversion='1.0'encoding='UTF-8'?>
<faces-config version="2.2" xmlns="https://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="https://xmlns.jcp.org/xml/ns/javaee
https://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
<navigation-rule>
<from-view-id>/login.xhtml</from-view-id>
<navigation-case>
<from-outcome>admin</from-outcome>
<to-view-id>/admin.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
34
Advanced Java Programming (3160707) 220220131013
Dataconnet.java
packagecom.journaldev.jsf.util;
import java.sql.Connection;
import java.sql.DriverManager;
public class DataConnect {
public static Connection getConnection() { try {
Class.forName("com.mysql.jdbc.Driver"); Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/jsfdemo",
"root", " Alankar@@1976");
returncon;
}catch(Exceptionex){System.out.println("Database.getConnection()Error"
+ex.getMessage());
return null;
}
}
publicstaticvoidclose(Connectioncon){try{ con.close();
}catch(Exceptionex){System.out.println(ex);}
}
}
Output:-
35
Advanced Java Programming (3160707) 220220131013
Practical-9
Aim:- Design a Java/Web application to demonstrate hibernate framework.
Code:-
Hibernate.cfg.xml
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hotel_db</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">UTsav@9975</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<mapping class="com.hotel.entities.Users"/>
<mapping class="com.hotel.entities.Reservations"/>
<mapping resource="Users.hbm.xml"/>
<mapping resource="reservations.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Users.hbm.xml
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hotel_db</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">UTsav@9975</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<mapping class="com.hotel.entities.Users"/>
<mapping class="com.hotel.entities.Reservations"/>
<mapping resource="Users.hbm.xml"/>
<mapping resource="reservations.hbm.xml"/>
</session-factory>
</hibernate-configuration>
36
Advanced Java Programming (3160707) 220220131013
reservations.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.hotel.entities.Reservations" table="reservations">
</class>
</hibernate-mapping>
HibernateUtil.java
package com.hotel.util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
static {
try {
// Load hibernate.cfg.xml and build SessionFactory
sessionFactory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
} catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
37
Advanced Java Programming (3160707) 220220131013
Users.java
package com.hotel.entities;
/**
*
* @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) {
this.id = id;
this.username = username;
this.password = password;
this.role = role;
}
@Override
public String toString() {
return "User{id=" + id + ", username='" + username + "', role=" + role + "}";
}
}
38
Advanced Java Programming (3160707) 220220131013
Reservations.java
package com.hotel.entities;
public Reservations() {}
39
Advanced Java Programming (3160707) 220220131013
UserDAO.java
package com.hotel.dao;
import com.hotel.entities.Users;
import com.hotel.util.HibernateUtil;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.query.Query;
/**
*
* @author DISHITA
*/
public class UserDAO {
if (existingUser != null) {
return "Username already exists! Choose another one.";
}
session.save(user);
transaction.commit();
return "Registration successful! Redirecting to login...";
} catch (Exception e) {
if (transaction != null) transaction.rollback();
e.printStackTrace();
return "Registration failed due to an error!";
}
}
40
Advanced Java Programming (3160707) 220220131013
query.setParameter("password", password);
return query.uniqueResult(); // Returns a single result or null
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
ReservationDAO.java
package com.hotel.dao;
import com.hotel.entities.Reservations;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.query.Query;
import java.util.List;
41
Advanced Java Programming (3160707) 220220131013
AddReservationServlet.java
package com.hotel.servlets;
import com.hotel.dao.ReservationDAO;
import com.hotel.entities.Reservations;
import com.hotel.util.HibernateUtil;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.*;
import java.io.IOException;
import java.util.List;
@Override
public void init() {
reservationDAO = new ReservationDAO();
reservationDAO.setSessionFactory(HibernateUtil.getSessionFactory());
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
Reservations reservation = new Reservations();
reservation.setUserName(username);
reservation.setGuestName(request.getParameter("guestName"));
reservation.setRoomNumber(request.getParameter("roomNumber"));
reservation.setContactNumber(request.getParameter("contactNumber"));
42
Advanced Java Programming (3160707) 220220131013
reservation.setCheckIn(request.getParameter("checkIn"));
reservation.setCheckOut(request.getParameter("checkOut"));
reservationDAO.addReservation(reservation);
request.setAttribute("message", "Reservation added successfully!");
} catch (Exception e) {
request.setAttribute("error", "Failed to add reservation: " + e.getMessage());
}
request.setAttribute("reservations", reservations);
request.getRequestDispatcher("viewReservations.jsp").forward(request, response);
}
}
DeleteReservationServlet.java
package com.hotel.servlets;
import com.hotel.dao.ReservationDAO;
import com.hotel.entities.Reservations;
import com.hotel.util.HibernateUtil;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.*;
import java.io.IOException;
@Override
public void init() {
reservationDAO = new ReservationDAO();
reservationDAO.setSessionFactory(HibernateUtil.getSessionFactory());
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
int id = Integer.parseInt(idStr);
Reservations reservation = reservationDAO.getReservationById(id);
if (reservation == null) {
request.setAttribute("error", "Reservation not found.");
} else {
request.setAttribute("reservation", reservation);
}
43
Advanced Java Programming (3160707) 220220131013
} catch (NumberFormatException e) {
request.setAttribute("error", "Invalid reservation ID format.");
} catch (Exception e) {
request.setAttribute("error", "Error retrieving reservation: " + e.getMessage());
}
request.getRequestDispatcher("deleteReservation.jsp").forward(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
int id = Integer.parseInt(idStr);
boolean success = reservationDAO.deleteReservation(id);
if (success) {
request.setAttribute("message", "Reservation deleted successfully.");
} else {
request.setAttribute("error", "Reservation not found or already deleted.");
}
} catch (NumberFormatException e) {
request.setAttribute("error", "Invalid reservation ID format.");
} catch (Exception e) {
request.setAttribute("error", "Failed to delete reservation: " + e.getMessage());
}
LoginReservationServlet.java
package com.hotel.servlets;
import com.hotel.dao.UserDAO;
import com.hotel.entities.Users;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
44
Advanced Java Programming (3160707) 220220131013
import java.io.IOException;
if (user != null) {
// Create session and store user info
HttpSession session = request.getSession();
session.setAttribute("username", user.getUsername());
session.setAttribute("role", user.getRole());
if (user.getRole().equalsIgnoreCase("ADMIN")) {
response.sendRedirect("adminDashboard.jsp");
} else {
response.sendRedirect("customerDashboard.jsp");
}
} else {
request.setAttribute("error", "Invalid username or password.");
request.getRequestDispatcher("login.jsp").forward(request, response);
}
}
}
LogoutReservationServlet.java
package com.hotel.servlets;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import java.io.IOException;
45
Advanced Java Programming (3160707) 220220131013
RegisterReservationServlet.java
package com.hotel.servlets;
import com.hotel.dao.UserDAO;
import com.hotel.entities.Users;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
request.setAttribute("message", resultMessage);
request.getRequestDispatcher("register.jsp").forward(request, response);
}
}
UpdateReservationServlet.java
package com.hotel.servlets;
import com.hotel.dao.ReservationDAO;
import com.hotel.entities.Reservations;
import com.hotel.util.HibernateUtil;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.*;
import java.io.IOException;
@Override
public void init() {
reservationDAO = new ReservationDAO();
reservationDAO.setSessionFactory(HibernateUtil.getSessionFactory()); // important
}
@Override
46
Advanced Java Programming (3160707) 220220131013
try {
int id = Integer.parseInt(idStr);
Reservations reservation = reservationDAO.getReservationById(id);
if (reservation != null) {
reservation.setGuestName(request.getParameter("guestName"));
reservation.setRoomNumber(request.getParameter("roomNumber"));
reservation.setContactNumber(request.getParameter("contactNumber"));
reservation.setCheckIn(request.getParameter("checkIn"));
reservation.setCheckOut(request.getParameter("checkOut"));
reservationDAO.updateReservation(reservation);
}
} catch (Exception e) {
response.sendRedirect("ViewReservationsServlet");
}
}
ViewReservationsServlet.java
package com.hotel.servlets;
import com.hotel.dao.ReservationDAO;
import com.hotel.entities.Reservations;
import com.hotel.util.HibernateUtil;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.*;
import java.io.IOException;
import java.util.List;
@Override
public void init() {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
if (reservation != null) {
request.setAttribute("reservation", reservation);
request.getRequestDispatcher("updateReservation.jsp").forward(request, response);
return;
} else {
request.setAttribute("error", "Reservation not found.");
request.getRequestDispatcher("error.jsp").forward(request, response);
return;
}
}
List<Reservations> reservations;
if ("ADMIN".equalsIgnoreCase(role)) {
reservations = reservationDAO.getAllReservations();
} else {
reservations = reservationDAO.getReservationsByUsername(username);
}
request.setAttribute("reservations", reservations);
request.getRequestDispatcher("viewReservations.jsp").forward(request, response);
} catch (Exception e) {
request.setAttribute("error", "Error fetching reservations: " + e.getMessage());
request.getRequestDispatcher("error.jsp").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:-
applicationContext.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
</beans>
User.java
package com.hotel.model;
/**
*
* @author DISHITA
*/
public class User {
private int id;
private String username;
private String password;
private String role;
50
Advanced Java Programming (3160707) 220220131013
Reservation.java
package com.hotel.model;
51
Advanced Java Programming (3160707) 220220131013
UserDAO.java
package com.hotel.dao;
import com.hotel.model.User;
import org.springframework.jdbc.core.JdbcTemplate;
52
Advanced Java Programming (3160707) 220220131013
ReservationDAO.java
package com.hotel.dao;
import com.hotel.model.Reservation;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.springframework.dao.EmptyResultDataAccessException;
53
Advanced Java Programming (3160707) 220220131013
AddReservationServlet.java
package com.hotel.servlet;
import com.hotel.dao.ReservationDAO;
import com.hotel.model.Reservation;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import jakarta.servlet.ServletException;
54
Advanced Java Programming (3160707) 220220131013
import jakarta.servlet.http.*;
import java.io.IOException;
@Override
public void init() {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if (username == null) {
request.setAttribute("error", "You must be logged in to add a reservation.");
request.getRequestDispatcher("login.jsp").forward(request, response);
return;
}
reservationDAO.addReservation(reservation);
request.setAttribute("message", "Reservation\n" +
" // Inform the user and forward to the view reservations page\n" +
" added successfully!");
request.getRequestDispatcher("viewReservation.jsp").forward(request, response);
}
}
55
Advanced Java Programming (3160707) 220220131013
DeleteReservationServlet.java
package com.hotel.servlets;
import com.hotel.dao.ReservationDAO;
import com.hotel.entities.Reservations;
import com.hotel.util.HibernateUtil;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.*;
import java.io.IOException;
@Override
public void init() {
reservationDAO = new ReservationDAO();
reservationDAO.setSessionFactory(HibernateUtil.getSessionFactory());
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
int id = Integer.parseInt(idStr);
Reservations reservation = reservationDAO.getReservationById(id);
if (reservation == null) {
request.setAttribute("error", "Reservation not found.");
} else {
request.setAttribute("reservation", reservation);
}
} catch (NumberFormatException e) {
request.setAttribute("error", "Invalid reservation ID format.");
} catch (Exception e) {
request.setAttribute("error", "Error retrieving reservation: " + e.getMessage());
}
request.getRequestDispatcher("deleteReservation.jsp").forward(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
56
Advanced Java Programming (3160707) 220220131013
try {
int id = Integer.parseInt(idStr);
boolean success = reservationDAO.deleteReservation(id);
if (success) {
request.setAttribute("message", "Reservation deleted successfully.");
} else {
request.setAttribute("error", "Reservation not found or already deleted.");
}
} catch (NumberFormatException e) {
request.setAttribute("error", "Invalid reservation ID format.");
} catch (Exception e) {
request.setAttribute("error", "Failed to delete reservation: " + e.getMessage());
}
LoginServlet.java
package com.hotel.servlet;
import com.hotel.dao.UserDAO;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.*;
import java.io.IOException;
@Override
public void init() {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
userDAO = (UserDAO) context.getBean("userDAO");
}
57
Advanced Java Programming (3160707) 220220131013
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if (userDAO.validateUser(username, password)) {
String role = userDAO.getRoleByUsername(username);
LogoutReservationServlet.java
package com.hotel.servlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.*;
import java.io.IOException;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
58
Advanced Java Programming (3160707) 220220131013
RegisterServlet.java
package com.hotel.servlet;
import com.hotel.dao.UserDAO;
import com.hotel.model.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
@Override
public void init() {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
userDAO = (UserDAO) context.getBean("userDAO");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if (userDAO.saveUser(user)) {
response.sendRedirect("login.jsp");
} else {
response.getWriter().println("Registration Failed!");
}
}
}
UpdateReservationServlet.java
package com.hotel.servlet;
import com.hotel.dao.ReservationDAO;
import com.hotel.model.Reservation;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.*;
import java.io.IOException;
import java.net.URLEncoder;
59
Advanced Java Programming (3160707) 220220131013
@Override
public void init() {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
reservationDAO = (ReservationDAO) context.getBean("reservationDAO");
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.sendRedirect("viewReservation.jsp?error=" + URLEncoder.encode("Missing
reservation ID", "UTF-8"));
return;
}
try {
int id = Integer.parseInt(idParam.trim());
Reservation reservation = reservationDAO.getReservationById(id);
if (reservation != null) {
request.setAttribute("reservation", reservation);
request.getRequestDispatcher("updateReservation.jsp").forward(request, response);
} else {
request.setAttribute("error", "Reservation not found.");
request.getRequestDispatcher("viewReservation.jsp").forward(request, response);
}
} catch (NumberFormatException e) {
request.setAttribute("error", "Invalid reservation ID.");
request.getRequestDispatcher("viewReservation.jsp").forward(request, response);
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
int id = Integer.parseInt(idParam.trim());
Reservation existingReservation = reservationDAO.getReservationById(id);
if (existingReservation == null) {
response.sendRedirect("viewReservation.jsp?error=" + URLEncoder.encode("Reservation
not found", "UTF-8"));
return;
}
60
Advanced Java Programming (3160707) 220220131013
existingReservation.setGuestName(guestName);
existingReservation.setRoomNumber(roomNumber);
existingReservation.setCheckIn(checkIn);
existingReservation.setCheckOut(checkOut);
reservationDAO.updateReservation(existingReservation);
response.sendRedirect("viewReservation.jsp?success=" + URLEncoder.encode("Reservation
updated successfully", "UTF-8"));
} catch (NumberFormatException e) {
response.sendRedirect("viewReservation.jsp?error=" + URLEncoder.encode("Invalid
reservation ID", "UTF-8"));
} catch (Exception e) {
e.printStackTrace();
response.sendRedirect("viewReservation.jsp?error=" + URLEncoder.encode("Update failed",
"UTF-8"));
}
}
}
ViewReservationServlet.java
package com.hotel.servlet;
import com.hotel.dao.ReservationDAO;
import com.hotel.model.Reservation;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.io.IOException;
import java.util.List;
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) {
response.sendRedirect("login.jsp");
return;
}
List<Reservation> reservations;
if ("admin".equals(role)) {
reservations = reservationDAO.getAllReservations();
} else {
reservations = reservationDAO.getReservationsByUser(username);
}
request.setAttribute("reservations", reservations);
request.getRequestDispatcher("viewReservation.jsp").forward(request, response);
}
}
Output:
62
Advanced Java Programming (3160707) 220220131013
63
Advanced Java Programming (3160707) 220220131013
64