0% found this document useful (0 votes)
4 views36 pages

Java TCP File Transfer and Cookies

The document outlines practical assignments for an MCAII student named Ajinkya Milind Jagtap, focusing on advanced Java programming. It includes implementations for a TCP server for file transfer, cookie management using Java Server Pages, a shopping cart system utilizing sessions, and a student registration form with database interactions. Each practical consists of code snippets and aims to demonstrate specific programming concepts and functionalities.

Uploaded by

ajinkya jagtap
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)
4 views36 pages

Java TCP File Transfer and Cookies

The document outlines practical assignments for an MCAII student named Ajinkya Milind Jagtap, focusing on advanced Java programming. It includes implementations for a TCP server for file transfer, cookie management using Java Server Pages, a shopping cart system utilizing sessions, and a student registration form with database interactions. Each practical consists of code snippets and aims to demonstrate specific programming concepts and functionalities.

Uploaded by

ajinkya jagtap
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

Name: Ajinkya Milind Jagtap Class: MCAII

Roll No: 19 Date:


Subject: Advance Java Proramming

Practical No:- 1

Aim: Implement TCP Server for transferring files using Socket and

Server Socket.

Code:

Server Code:
import [Link].*;
import [Link].*;

public class Server {


public static void main(String args[]) throws Exception {
ServerSocket ss = new ServerSocket(7777);
[Link]("Server is running, waiting for client...");

Socket s = [Link]();
[Link]("Client connected.");

FileInputStream fin = new FileInputStream("[Link]");


DataOutputStream dout = new DataOutputStream([Link]());

int r;
while ((r = [Link]()) != -1) {
[Link](r);
}

[Link]("\nFile transfer Completed");

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

1
Client Code:
import [Link].*;
import [Link].*;

public class Client {


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](r);
}

[Link]("File received successfully!");

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

Output:

2
Name: Ajinkya Milind Jagtap Class: MCAII
Roll No: 19 Date:
Subject: Advance Java Proramming

Practical No: - 2
Aim: Implement cookies to store firstname and lastname using Java serverpages.

Code:

[Link] file
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" import="[Link]"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Setting Cookies</title>
</head>
<body>
<%
// Get first name and last name from request
String firstNameParam = [Link]("first_name");
String lastNameParam = [Link]("last_name");

// Create cookies
Cookie firstName = new Cookie("first_name", firstNameParam);
Cookie lastName = new Cookie("last_name", lastNameParam);
// Set expiry for 1 hour (optional)
[Link](60*60);
[Link](60*60);
// Add cookies to response
[Link](firstName);
[Link](lastName);
%>
<center>
<h1>Cookies are set successfully!</h1>
</center>
<ul>
<li><p><b>First Name:</b> <%= firstNameParam %> </p></li>
<li><p><b>Last Name:</b> <%= lastNameParam %> </p></li>
</ul>
<br>
<a href="[Link]">Go Back</a>
</body>
</html>

3
[Link] file

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


pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Hello Page</title>
</head>
<body>
<form action="[Link]" method="GET">
First Name: <input type="text" name="first_name">
<br />
Last Name: <input type="text" name="last_name" />
<br />
<input type="submit" value="Submit" />
</form>
</body>
</html>

Output:

4
Name: Ajinkya Milind Jagtap Class: MCAII
Roll No: 19 Date:
Subject: Advance Java Proramming

Practical No: - 3

Aim: Implement the shopping cart for users for the online shopping. Apply the

concept of session.
Code:

CartItemBean:

package [Link];
public class CartItemBean { private String strPartNumber;
private String strModelDescription;
private double dblUnitCost;
private int iQuantity;
private double dblTotalCost;
public String getPartNumber()
{ return strPartNumber;
}
public void setPartNumber(String strPartNumber)
{ [Link] = strPartNumber;
}
public String getModelDescription()
{ return strModelDescription;
}
public void setModelDescription(String strModelDescription)
{ [Link] =strModelDescription;
}
public double getUnitCost() { return dblUnitCost;
}
public void setUnitCost(double dblUnitCost)
{ [Link] = dblUnitCost;
}
public int getQuantity() {
return iQuantity;
}
public void setQuantity(int quantity)
{ iQuantity = quantity;
}

5
public double getTotalCost() { return dblTotalCost;
}
public void setTotalCost(double dblTotalCost) { [Link] = dblTotalCost;
}
}

CartBean:

package [Link]; import [Link];


public class CartBean {
private ArrayList alCartItems = new ArrayList(); private
double dblOrderTotal ;
public int getLineItemCount() { return [Link]();
}
public void deleteCartItem(String strItemIndex) { int
iItemIndex = 0;
try {
iItemIndex = [Link](strItemIndex);
[Link](iItemIndex - 1);
calculateOrderTotal();
} catch(NumberFormatException nfe) {
[Link]("Error while deleting cart item: "+[Link]()); [Link]();
}
}
public void updateCartItem(String strItemIndex, String strQuantity)
{ double dblTotalCost = 0.0;
double dblUnitCost = 0.0; int
iQuantity = 0;
int iItemIndex = 0;
CartItemBean cartItem = null;
try {
iItemIndex = [Link](strItemIndex);
iQuantity = [Link](strQuantity);
if(iQuantity>0) {
cartItem = (CartItemBean)[Link](iItemIndex-1); dblUnitCost
= [Link]();
dblTotalCost = dblUnitCost*iQuantity;
[Link](iQuantity);
[Link](dblTotalCost);
calculateOrderTotal();
}
} catch (NumberFormatException nfe) {
[Link]("Error while updating cart: "+[Link]()); [Link]();
}
}
public void addCartItem(String strModelNo, String strDescription, String strUnitCost,String
strQuantity) {
double dblTotalCost = 0.0;
double dblUnitCost = 0.0; int
iQuantity = 0;
CartItemBean cartItem = new CartItemBean(); try
6
{

dblUnitCost = [Link](strUnitCost);
iQuantity = [Link](strQuantity);
if(iQuantity>0) {
dblTotalCost = dblUnitCost*iQuantity;
[Link](strModelNo);
[Link](strDescription);
[Link](dblUnitCost);
[Link](iQuantity);
[Link](dblTotalCost);
[Link](cartItem); calculateOrderTotal();
}
} catch (NumberFormatException nfe) {
[Link]("Error while parsing from String to primitive types:"+[Link]()); [Link]();
}
}
public void addCartItem(CartItemBean cartItem) {
[Link](cartItem);
}
public CartItemBean getCartItem(int iItemIndex) { CartItemBean
cartItem = null;if([Link]()>iItemIndex) { cartItem =
(CartItemBean) [Link](iItemIndex);
}
return cartItem;
}
{ [Link] = alCartItems;
}
public double getOrderTotal()
{ return dblOrderTotal;
}
public void setOrderTotal(double dblOrderTotal) { [Link]
= dblOrderTotal;
}
protected void calculateOrderTotal() { double dblTotal = 0; for(int
counter=0;
counter<[Link]();
counter++)
{
CartItemBean cartItem = (CartItemBean) [Link](counter);
dblTotal+=[Link]();
}
setOrderTotal(dblTotal);
}
}

7
CartController:

package [Link];
import [Link];
import [Link];
import [Link]; import
[Link];
import [Link];
import [Link];
import [Link];
public class CartController extends HttpServlet {
//public static final String addToCart
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String strAction = [Link]("action");

if(strAction!=null&& ![Link](""))

{ if([Link]("add")) {

addToCart(request);

} else if ([Link]("Update"))

{ updateCart(request);
} else if ([Link]("Delete"))
{ deleteCart(request);
}
}
[Link]("../[Link]");
}
protected void deleteCart(HttpServletRequest request) { HttpSession session =[Link]();
String strItemIndex = [Link]("itemIndex");
CartBean cartBean = null;
Object objCartBean = [Link]("cart"); if(objCartBean!=null) {
cartBean = (CartBean) objCartBean ;
}
else {
cartBean = new CartBean();
}
[Link](strItemIndex);
}
protected void updateCart(HttpServletRequest request) {
HttpSession session =[Link]();
String strQuantity = [Link]("quantity");
String strItemIndex = [Link]("itemIndex");
CartBean cartBean = null;
Object objCartBean = [Link]("cart"); if(objCartBean!=null) {
cartBean = (CartBean) objCartBean ;
}
else {
cartBean = new CartBean();
8
}
[Link](strItemIndex, strQuantity);
}
protected void addToCart(HttpServletRequest request) { HttpSession
session = [Link]();
String strModelNo = [Link]("modelNo"); String
strDescription = [Link]("description"); String
strPrice = [Link]("price");
String strQuantity = [Link]("quantity"); CartBean
cartBean = null;
Object objCartBean = [Link]("cart");
if(objCartBean!=null) {
cartBean = (CartBean) objCartBean ;
} else {
cartBean = new CartBean();
[Link]("cart", cartBean);
}
[Link](strModelNo, strDescription, strPrice, strQuantity);
}
}

[Link]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


<html>
<head>
<title>[Link] - Shopping Cart</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<%@ taglib uri="[Link] prefix="c" %>
<p><font face="Verdana, Arial, Helvetica, sans-serif"><strong>Shopping
Cart</strong></font></p>
<p><a href="/[Link]" mce_href="[Link]">Model List</a> </p>
<table width="75%" border="1">
<tr bgcolor="#CCCCCC">
<td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Model Description</font></strong></td>
<td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-
serif">Quantity</font></strong></td>
<td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Unit
Price</font></strong></td>
<td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-
serif">Total</font></strong></td>
</tr>
<jsp:useBean id="cart" scope="session" class="[Link]" />
<c:if test="${[Link]==0}">
<tr>
<td colspan="4"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">- Cart iscurrently empty -
<br/>
</tr>
9
</c:if>
<c:forEach var="cartItem" items="${[Link]}" varStatus="counter">
<form name="item" method="POST" action="servlet/CartController">
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><c:out
value="${[Link]}"/></b><br/>
<c:out value="${[Link]}"/></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><input type='hidden' name='itemIndex'
value='<c:out value="${[Link]}"/>'><input type='text' name="quantity" value='<c:out
value="${[Link]}"/>' size='2'> <input type="submit" name="action" value="Update">
<br/> <input type="submit" name="action" value="Delete"></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">$<c:out value="${[Link]}"/></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">$<c:out value="${[Link]}"/></font></td>
</tr>
</form>
</c:forEach>
<tr>
<td colspan="2"> </td>
<td> </td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Subtotal: $<c:out
value="${[Link]}"/></font></td>
</tr>
</table>
</body>
</html>

Output :

10
Name: Ajinkya Milind Jagtap Class: MCAII
Roll No: 19 Date:
Subject: Advance Java Proramming

Practical No: - 4

Aim: Implement student registration form with enrollment number, first name, last

name, semester, contact number. Store the details in database. Also,implement

search, delete and modify facility for student records.


Code:

[Link]
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-
1"%>
<html>
<head><title>Student Registration Form</title></head>
<body>
<h2>Register New Student</h2>
<form action="[Link]">
<table>
<tr><td>Enrollment No:</td><td><input type="text" name="en" required></td></tr>
<tr><td>First Name:</td><td><input type="text" name="fn" required></td></tr>
<tr><td>Last Name:</td><td><input type="text" name="ln" required></td></tr>
<tr><td>Semester:</td><td><input type="text" name="se" required></td></tr>
<tr><td>Contact No:</td><td><input type="text" name="no" required></td></tr>
<tr><td colspan="2"><input type="submit" value="Save"></td></tr>
</table>
</form>
<br>
<a href="[Link]">Search Student Records</a>
</body>
</html>

[Link]

<%@ page import="[Link].*" %>


<%
String en = [Link]("en");
String fn = [Link]("fn");
String ln = [Link]("ln");
String se = [Link]("se");

11
String no = [Link]("no");
try {
[Link]("[Link]");
Connection con = [Link]("jdbc:mysql://localhost:3306/studentdb", "root", "");
PreparedStatement ps = [Link]("INSERT INTO students(enrollment_no, first_name, last_name,
semester, contact_no) VALUES (?, ?, ?, ?, ?)");
[Link](1, en);
[Link](2, fn);
[Link](3, ln);
[Link](4, se);
[Link](5, no);
[Link]();
[Link]();
[Link]();
[Link]("[Link]");
} catch(Exception e) {
[Link]("Error: " + [Link]());
}
%>

[Link]

<%@ page import="[Link].*" %>


<html>
<head><title>Search Students</title></head>
<body>
<h2>Student Records</h2>
<table border="1">
<tr>
<th>ID</th><th>Enrollment No</th><th>First Name</th><th>Last Name</th><th>Semester</th><th>Contact
No</th><th>Actions</th>
</tr>
<%
try {
[Link]("[Link]");
Connection con = [Link]("jdbc:mysql://localhost:3306/studentdb", "root", "");
Statement st = [Link]();
ResultSet rs = [Link]("SELECT * FROM students");
while([Link]()) {
%>
<tr>
<td><%= [Link]("id") %></td>
<td><%= [Link]("enrollment_no") %></td>
<td><%= [Link]("first_name") %></td>
<td><%= [Link]("last_name") %></td>
<td><%= [Link]("semester") %></td>
<td><%= [Link]("contact_no") %></td>
<td>
<a href="[Link]?id=<%= [Link]("id") %>">Edit</a> |
<a href="[Link]?id=<%= [Link]("id") %>" onclick="return confirm('Delete this record?');">Delete</a>
12
</td>
</tr>
<%
}
[Link]();
[Link]();
[Link]();
} catch(Exception e) {
[Link]("Error: " + [Link]());
}
%>
</table>
<br><a href="[Link]">Back to Form</a>
</body>
</html>

[Link]

<%@ page import="[Link].*" %>


<%
int id = [Link]([Link]("id"));
String en="", fn="", ln="", se="", no="";
try {
[Link]("[Link]");
Connection con = [Link]("jdbc:mysql://localhost:3306/studentdb", "root", "");
PreparedStatement ps = [Link]("SELECT * FROM students WHERE id=?");
[Link](1, id);
ResultSet rs = [Link]();
if([Link]()) {
en = [Link]("enrollment_no");
fn = [Link]("first_name");
ln = [Link]("last_name");
se = [Link]("semester");
no = [Link]("contact_no");
}
[Link]();
[Link]();
[Link]();
} catch(Exception e) {
[Link]("Error: " + [Link]());
}
%>
<html>
<body>
<h2>Edit Student Record</h2>
<form action="[Link]">
13
<input type="hidden" name="id" value="<%= id %>">
<table>
<tr><td>Enrollment No:</td><td><input type="text" name="en" value="<%= en %>" required></td></tr>
<tr><td>First Name:</td><td><input type="text" name="fn" value="<%= fn %>" required></td></tr>
<tr><td>Last Name:</td><td><input type="text" name="ln" value="<%= ln %>" required></td></tr>
<tr><td>Semester:</td><td><input type="text" name="se" value="<%= se %>" required></td></tr>
<tr><td>Contact No:</td><td><input type="text" name="no" value="<%= no %>" required></td></tr>
<tr><td colspan="2"><input type="submit" value="Update"></td></tr>
</table>
</form>
</body>
</html>

[Link]

<%@ page import="[Link].*" %>


<%
int id = [Link]([Link]("id"));
String en = [Link]("en");
String fn = [Link]("fn");
String ln = [Link]("ln");
String se = [Link]("se");
String no = [Link]("no");
try {
[Link]("[Link]");
Connection con = [Link]("jdbc:mysql://localhost:3306/studentdb", "root", "");
PreparedStatement ps = [Link]("UPDATE students SET enrollment_no=?, first_name=?,
last_name=?, semester=?, contact_no=? WHERE id=?");
[Link](1, en);
[Link](2, fn);
[Link](3, ln);
[Link](4, se);
[Link](5, no);
[Link](6, id);
[Link]();
[Link]();
[Link]();
[Link]("[Link]");
} catch(Exception e) {
[Link]("Error: " + [Link]());

14
}
%>

[Link]

<%@ page import="[Link].*" %>


<%
int id = [Link]([Link]("id"));
try {
[Link]("[Link]");
Connection con = [Link]("jdbc:mysql://localhost:3306/studentdb", "root", "");
PreparedStatement ps = [Link]("DELETE FROM students WHERE id=?");
[Link](1, id);
[Link]();
[Link]();
[Link]();
[Link]("[Link]");
} catch(Exception e) {
[Link]("Error: " + [Link]());
}
%>
[Link]
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="[Link]
xmlns:xsi="[Link] xsi:schemaLocation="[Link]
[Link]
<session-config>
<session-timeout>30 </session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>[Link]</welcome-file>
</welcome-file-list>
</web-app>

Output:

Student Registration Form

15
Record Inserted Successfully.

Update Student Records

Record Updated Successfully:-


The enrollment number of ID=29 has been updated and contact number is changed.

Record Deleted:-
The Record of ID=31 has been deleted.

16
Name: Ajinkya Milind Jagtap Class: MCAII
Roll No: 19 Date:
Subject: Advance Java Proramming

Practical No: - 5

Aim: Write a Servlet program to print system date and time.

Code:
import [Link].*;
import [Link].*;
import [Link].*;
import [Link];
public class DateServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,
ServletException {
[Link]("text/html");
PrintWriter out = [Link]();
Date currentDate = new Date();
[Link]("<html><body>");
[Link]("<h1 style='color:blue;'>Current Date and Time</h1>");
[Link]("<h2>" + [Link]() + "</h2>");
[Link]("</body></html>");
[Link]();
}
}

Output:

17
Name: Ajinkya Milind Jagtap Class: MCAII
Roll No: 19 Date:
Subject: Advance Java Proramming

Practical No: - 6

Aim: Design a web page that takes the Username from user and if it is a valid username

prints “Welcome Username”. Use JSF to implement.

Code:

[Link]

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Login Page</title>
</head>
<body>
<form action="loginPage" method="post">
Username: <input type="text" name="uname"/><br/><br/>
Password: <input type="password" name="upass"/><br/><br/>
<input type="submit" value="SUBMIT"/>
</form>
</body>
</html>

[Link]
import [Link].*;
import [Link].*;
import [Link];
import [Link].*;
@WebServlet("/loginPage")
public class Login extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
[Link]("text/html");
PrintWriter out = [Link]();
String name = [Link]("uname");
String pass = [Link]("upass");
if ("Admin".equals(name) && "root".equals(pass)) {
[Link]("uname", name); // Pass to welcome page
RequestDispatcher dispatcher = [Link]("welcome");
[Link](request, response);
} else {
18
[Link]("<p style='color:red'>Invalid username or password</p>");
RequestDispatcher dispatcher = [Link]("[Link]");
[Link](request, response);
}
}
}

[Link]

import [Link].*;
import [Link].*;
import [Link];
import [Link].*;
@WebServlet("/welcome")
public class Welcome extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
[Link]("text/html");
PrintWriter out = [Link]();
String name = (String) [Link]("uname");
[Link]("<h2>Welcome " + name + "!</h2>");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response); // Forward GET to POST
}
}

[Link]

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


<web-app xmlns="[Link] xmlns:xsi="[Link]
Schema-instance"
xsi:schemaLocation="[Link] [Link]
version="3.1">
<servlet>
<servlet-name>Login</servlet-name>
<servlet-class>Login</servlet-class>
</servlet>
<servlet>
<servlet-name>Welcome</servlet-name>
<servlet-class>Welcome</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Login</servlet-name>

19
<url-pattern>/loginPage</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Welcome</servlet-name>
<url-pattern>/welcome</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>[Link]</welcome-file>
</welcome-file-list>
</web-app>

Output:

20
Name: Ajinkya Milind Jagtap Class: MCAII
Roll No: 19 Date:
Subject: Advance Java Proramming

Practical No: - 7

Aim: Write Hibernate application to store student records and retrieve the student

record including name, email, course.


Code:

[Link] File
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
import [Link];
import [Link];
@WebServlet("/StudentControllerServlet")
public class StudentControllerServlet extends HttpServlet {
private final StudentDao studentDao = new StudentDao();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException {
String action = [Link]("action");
if (action == null) action = "list";
switch (action) {
case "addForm":
showAddForm(request, response);
break;
case "edit":
showEditForm(request, response);
break;
case "delete":
deleteStudent(request, response);
break;
default:
listStudents(request, response);
break;
}
21
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException,
ServletException {
String action = [Link]("action");
switch (action) {
case "insert":
insertStudent(request, response);
break;
case "update":
updateStudent(request, response);
break;
default:
[Link]("StudentControllerServlet");
break;
}
}
private void listStudents(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException {
List<Student> students = [Link]();
[Link]("students", students);
RequestDispatcher dispatcher = [Link]("[Link]");
[Link](request, response);
}
private void showAddForm(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException {
RequestDispatcher dispatcher = [Link]("[Link]");
[Link](request, response);
}
private void insertStudent(HttpServletRequest request, HttpServletResponse response) throws IOException {
String name = [Link]("name");
String email = [Link]("email");
String course = [Link]("course");
Student student = new Student();
[Link](name);
[Link](email);
[Link](course);
[Link](student);
[Link]("StudentControllerServlet");
}
private void showEditForm(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException {
int id = [Link]([Link]("id"));
Student student = [Link](id);
[Link]("student", student);
RequestDispatcher dispatcher = [Link]("[Link]");
[Link](request, response);

22
}
private void updateStudent(HttpServletRequest request, HttpServletResponse response) throws IOException {
int id = [Link]([Link]("id"));
String name = [Link]("name");
String email = [Link]("email");
String course = [Link]("course");
Student student = [Link](id);
[Link](name);
[Link](email);
[Link](course);
[Link](student);
[Link]("StudentControllerServlet");
}
private void deleteStudent(HttpServletRequest request, HttpServletResponse response) throws IOException {
int id = [Link]([Link]("id"));
[Link](id);
[Link]("StudentControllerServlet");
}
}

[Link] File

package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class StudentDao {
public void saveStudent(Student student) {
Transaction tx = null;
try (Session session = [Link]().openSession()) {
tx = [Link]();
[Link](student);
[Link]();
} catch (Exception e) {
if (tx != null && [Link]()) {
[Link]();
}
throw new RuntimeException("Failed to save student", e);
}
}
public List<Student> getAllStudents() {
try (Session session = [Link]().openSession()) {
return [Link]("from Student", [Link]).list();
} catch (Exception e) {
throw new RuntimeException("Failed to retrieve students", e);
}
}
23
public Student getStudentById(int id) {
try (Session session = [Link]().openSession()) {
return [Link]([Link], id);
} catch (Exception e) {
throw new RuntimeException("Failed to retrieve student with id: " + id, e);
}
}
public void updateStudent(Student student) {
Transaction tx = null;
try (Session session = [Link]().openSession()) {
tx = [Link]();
[Link](student);
[Link]();
} catch (Exception e) {
if (tx != null && [Link]()) {
[Link]();
}
throw new RuntimeException("Failed to update student", e);
}
}
public void deleteStudent(int id) {
Transaction tx = null;
try (Session session = [Link]().openSession()) {
tx = [Link]();
Student student = [Link]([Link], id);
if (student != null) {
[Link](student);
}
[Link]();
} catch (Exception e) {
if (tx != null && [Link]()) {
[Link]();
}
throw new RuntimeException("Failed to delete student with id: " + id, e);
}
}
}

[Link] File

package [Link];
import [Link].*;
@Entity
@Table(name = "student")
public class Student {
@Id
@GeneratedValue(strategy = [Link])
private int id;
private String name;

24
private String email;
private String course;
// Getters and Setters
public void setId(int id) {
[Link] = id;
}
public void setName(String name) {
[Link] = name;
}
public void setEmail(String email) {
[Link] = email;
}
public void setCourse(String course) {
[Link] = course;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getEmail() {
return email;
}
public String getCourse() {
return course;
}
}

[Link] File

package [Link];
import [Link];
import [Link];
import [Link];
public class HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
try {
Configuration configuration = new Configuration();
// Database connection settings for MySQL 8
[Link]("[Link].driver_class", "[Link]");
[Link]("[Link]",
"jdbc:mysql://localhost:3306/manual?useSSL=false&serverTimezone=UTC");
[Link]("[Link]", "root");
[Link]("[Link]", "");
25
[Link]("[Link].pool_size", "10");
[Link]("hibernate.show_sql", "true");
[Link]("hibernate.format_sql", "true");
[Link]("[Link]", "[Link].MySQL8Dialect");
[Link]("[Link]", "update");
// Explicitly add annotated entity class
[Link]([Link]);
// Build and return the SessionFactory
return [Link]();
} catch (Exception ex) {
[Link]("Initial SessionFactory creation failed: " + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static void shutdown() {
if (sessionFactory != null && ![Link]()) {
[Link]();
}
}
}

[Link] File
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head><title>Add Student</title></head>
<body>
<h2>Add New Student</h2>
<form action="StudentControllerServlet" method="post">
<input type="hidden" name="action" value="insert">
Name : <input type="text" name="name" required><br>
Email : <input type="email" name="email" required><br>
Course: <input type="text" name="course" required><br>
<input type="submit" value="Add Student">
</form>
</body>
</html>

[Link] File

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


<%@ taglib uri="[Link] prefix="c" %>
<html>
<head><title>Edit Student</title></head>
<body>
<h2>Edit Student</h2>
<form action="StudentControllerServlet" method="post">
<input type="hidden" name="action" value="update">
<input type="hidden" name="id" value="${[Link]}">
Name: <input type="text" name="name" value="${[Link]}" required><br>
Email: <input type="email" name="email" value="${[Link]}" required><br>

26
Course: <input type="text" name="course" value="${[Link]}" required><br>
<input type="submit" value="Update Student">
</form>
</body>
</html>

[Link] File

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


<%@ taglib uri="[Link] prefix="c" %>
<html>
<head><title>Students</title></head>
<body>
<h2>Student List</h2>
<a href="StudentControllerServlet?action=addForm">Add New Student</a>
<br>
</br>
<table border="1">
<tr>
<th>ID</th>
<th>Name</th>
<th>Email</th>
<th>Course</th>
<th>Action</th>
</tr>
<c:forEach var="student" items="${students}">
<tr>
<td>${[Link]}</td>
<td>${[Link]}</td>
<td>${[Link]}</td>
<td>${[Link]}</td>
<td>
<a href="StudentControllerServlet?action=edit&id=${[Link]}">Edit</a> |
<a href="StudentControllerServlet?action=delete&id=${[Link]}"
onclick="return confirm('Are you sure you want to delete this student?')">Delete</a>
</td>
</tr>
</c:forEach>
</table>
</body>
</html>

27
Output:

28
Name: Ajinkya Milind Jagtap Class: MCAII
Roll No: 19 Date:
Subject: Advance Java Proramming

Practical No: - 8

Aim: Write an application to keep record and retrieve record of student. The record
includes student id, enrollment number, semester, SPI. Use MVC architectures

Code:

[Link]

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


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "[Link]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>INDEX PAGE</title>
</head>
<body>
<a href="[Link]">INSERT</a>
<br />
<a href="[Link]">SEARCH</a>
<br />
</body>
</html>

[Link]

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


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

29
<context:component-scan base-package="com"/>
<bean class="[Link]">
<property name="prefix" value="/WEB-INF/view/"/>
<property name="suffix" value=".jsp"/>
</bean>
<bean id="dataSource" class="[Link]">
<property name="driverClassName" value="[Link]"/>
<property name="url" value="jdbc:mysql://localhost:3306/studentdb?useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<bean id="sessionFactory" class="[Link]">
<property name="dataSource" ref="dataSource"/>
<property name="annotatedClasses">
<list>
<value>[Link]</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="[Link]">[Link].MySQL8Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="[Link]">update</prop>
</props>
</property>
</bean>
</beans>

30
[Link]

package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Controller
public class RegController {
@Autowired
RegDAO regDAO;
@RequestMapping(value = "[Link]", method = [Link])
public ModelAndView load() {
return new ModelAndView("Registration", "RegVO", new RegVO());
}
@RequestMapping(value = "[Link]", method = [Link])
public ModelAndView insert(@ModelAttribute RegVO regVO) {
[Link](regVO);
return new ModelAndView("redirect:/[Link]");
}
@RequestMapping(value = "[Link]", method = [Link])
public ModelAndView search() {
List<RegVO> searchList = [Link]();
return new ModelAndView("Search", "SearchList", searchList);
}
@RequestMapping(value = "[Link]", method = [Link])
public ModelAndView delete(@RequestParam int id, @ModelAttribute RegVO regVO) {
[Link](id);
[Link](regVO);
return new ModelAndView("redirect:/[Link]");
}
@RequestMapping(value = "[Link]", method = [Link])
public ModelAndView edit(@RequestParam int id, @ModelAttribute RegVO regVO) {
[Link](id);
List<RegVO> editList = [Link](regVO);
return new ModelAndView("Registration", "RegVO", [Link](0));
31
}
}

[Link]

package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Repository
public class RegDAO {
@Autowired
private SessionFactory sessionFactory;
public void insert(RegVO regVO) {
try (Session session = [Link]()) {
Transaction transaction = [Link]();
[Link](regVO);
[Link]();
} catch (Exception e) {
[Link]();
}
}
public List<RegVO> search() {
try (Session session = [Link]()) {
Query<RegVO> query = [Link]("from RegVO", [Link]);
return [Link]();
}
}
public void delete(RegVO regVO) {
try (Session session = [Link]()) {
Transaction transaction = [Link]();
[Link](regVO);
[Link]();
}
}
public List<RegVO> edit(RegVO regVO) {
try (Session session = [Link]()) {
Query<RegVO> query = [Link]("from RegVO where id = :id", [Link]);
[Link]("id", [Link]());
return [Link]();
}
}
}

32
[Link]

package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@Entity
@Table(name = "Spring")
public class RegVO {
@Id
@Column(name = "Id")
@GeneratedValue(strategy = [Link])
private int id;
@Column(name = "StudentID")
private String studentID;
@Column(name = "Enrollment")
private String enrollment;
@Column(name = "Semester")
private String semester;
@Column(name = "SPI")
private String spi;
public int getId() {
return id;
}
public void setId(int id) {
[Link] = id;
}
public String getStudentID() {
return studentID;
}
public void setStudentID(String studentID) {
[Link] = studentID;
}
public String getEnrollment() {
return enrollment;
}
public void setEnrollment(String enrollment) {
[Link] = enrollment;
}
public String getSemester() {
return semester;
}
public void setSemester(String semester) {
[Link] = semester;
}

public String getSpi() {


return spi;
}
33
public void setSpi(String spi) {
[Link] = spi;
}
}

[Link]

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


xsi:schemaLocation="[Link] [Link]
<modelVersion>4.0.0</modelVersion>
<groupId>com</groupId>
<artifactId>Assignment8</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<[Link]>6.2.1</[Link]>
<[Link]>6.4.4</[Link]>
<[Link]>8.0.33</[Link]>
<[Link]>17</[Link]>
<[Link]>17</[Link]>
<[Link]>17</[Link]>
</properties>
<dependencies>
<!-- Spring Web MVC -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-webmvc</artifactId>
<version>6.2.1</version>
</dependency>
<!-- Spring ORM -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-orm</artifactId>
<version>6.2.1</version>
</dependency>
<!-- Hibernate Core -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>hibernate-core</artifactId>
<version>[Link]</version>
</dependency>
<!-- MySQL Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
<!-- Apache Commons DBCP -->
<dependency>
<groupId>[Link]</groupId>
34
<artifactId>commons-dbcp2</artifactId>
<version>2.12.0</version>
</dependency>
<!-- JSTL -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>[Link]-api</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>[Link]</groupId>
<artifactId>[Link]</artifactId>
<version>3.0.1</version>
</dependency>
<!-- Servlet API -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>[Link]-api</artifactId>
<version>6.0.0</version>
<scope>provided</scope>
</dependency>
<!-- JSP API -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>[Link]-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>[Link]</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<source>17</source>
<target>17</target>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>
<!-- Maven WAR Plugin, version 3.4.0 -->
<plugin>
<groupId>[Link]</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.4.0</version>
<configuration>
<warSourceDirectory>src/main/webapp</warSourceDirectory>

35
</configuration>
</plugin>
</plugins>
</build>
</project>

Output:

36

You might also like