KEMBAR78
Java CRUD for Student Records | PDF | Java Servlet | Computer Data
0% found this document useful (0 votes)
73 views20 pages

Java CRUD for Student Records

This document describes a CRUD (Create, Read, Update, Delete) example using Java servlets and JSP. It includes: 1) A Register.jsp page that allows users to input student details into a form. 2) A RegisterServlet that handles form submissions and GET requests. It can add, view, edit, and delete student records using a RegisterDAO class. 3) A RegisterDAO class that interacts with a database, allowing student records to be inserted, retrieved, updated, and removed from the database.

Uploaded by

pradeesh kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
73 views20 pages

Java CRUD for Student Records

This document describes a CRUD (Create, Read, Update, Delete) example using Java servlets and JSP. It includes: 1) A Register.jsp page that allows users to input student details into a form. 2) A RegisterServlet that handles form submissions and GET requests. It can add, view, edit, and delete student records using a RegisterDAO class. 3) A RegisterDAO class that interacts with a database, allowing student records to be inserted, retrieved, updated, and removed from the database.

Uploaded by

pradeesh kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 20

Project: CRUD Example

1) Register.jsp

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


pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Register Student</title>
</head>
<body>
<form action="RegisterServlet" method="post">
<table>
<tr>
<td>Enter the Regno:</td>
<td><input type="text" name="txtRegno"></td>
</tr>
<tr>
<td>Enter the Student_Name:</td>
<td><input type="text" name="txtName"></td>
</tr>
<tr>
<td>Enter the Course:</td>
<td><input type="text" name="txtCourse"></td>
</tr>
<tr>
<td>Enter the Fees:</td>
<td><input type="text" name="txtFees"></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Register"></td>
<td><input type="reset" name="reset" value="Clear"></td>
</tr>
<tr>
<td colspan=2><a href="RegisterServlet?action=view">View Student Details</a></td>
</tr>
</table>
</form>
Hyperlink:call RegisterServlet method:doGet() & action=view;[Ref:page 2]
</body>
</html>
Description:View All Student Details from Database to JSP Page Table
2) RegisterServlet

package com.me.controller;

import java.io.IOException;

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.me.DAO.RegisterDAO;

import com.me.model.RegisterStudent;

/**

* Servlet implementation class RegisterServlet

*/

@WebServlet("/RegisterServlet")

public class RegisterServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

private RegisterStudent register;

private RegisterDAO dao;

/**
* @see HttpServlet#HttpServlet()

*/

public RegisterServlet() {

super();

dao = new RegisterDAO();

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws


ServletException, IOException
Hyperlink:call RegisterServlet method:doGet() & action=view [from hyperlink]
{ Description:Collect all the student details from database

String action;

action=request.getParameter("action");
getAllStudentDetails from DAO
if(action.equalsIgnoreCase("view")) Class[RegisterDAO.java]
Package:com.me.RegisterDAO [Refer:page 6]
{

request.setAttribute("students", dao.getAllStudents()); Set attribute set unique


object(students). This
RequestDispatcher name must exactly
requestdispatch=request.getRequestDispatcher("ViewStudent.jsp"); same as items attribute
of <foreach c:out
requestdispatch.forward(request,response); items=”${students}”>

} action:edit&regno=[ViewStudent Refer: Page 12


.jsp]
else if(action.equals("edit")) Call:RegisterDAO.getStudentByR
egno()->Refer:page 7
{

int regno=Integer.parseInt(request.getParameter("regno"));

request.setAttribute("students", dao.getStudentByRegno(regno));
RequestDispatcher
requestdispatcher=request.getRequestDispatcher("UpdateStudent.jsp"); Forward:UpdateStudent.jsp[code:
Page 14]
requestdispatcher.forward(request, response);

} action:delete&regno=[ViewStudent.jsp]

else if(action.equals("delete")) Call:dao.deleteStudent(regno); [refer page: 9]

int regno=Integer.parseInt(request.getParameter("regno"));

dao.deleteStudent(regno);

request.setAttribute("students", dao.getAllStudents());
After delete collect all
RequestDispatcher the student details and
requestdispatch=request.getRequestDispatcher("ViewStudent.jsp"); show in ViewStudent.jsp

requestdispatch.forward(request, response);

/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws


ServletException, IOException

{
POJO class: RegisterStudent
register = new RegisterStudent();
Package:com.me.model
dao=new RegisterDAO();

int regno=Integer.parseInt(request.getParameter("txtRegno"));

String name=request.getParameter("txtName"); Collect form inputs


String course=request.getParameter("txtCourse");

float fees=Float.parseFloat(request.getParameter("txtFees"));
register.setRegno(regno);

register.setName(name); POJO class setMethods()

register.setCourse(course); Package:com.me.model

register.setFees(fees);
Add Student details in RegisterDAO.java
dao.addStudent(register);//database insertion Package:com.me.DAO [Refer:Page 5]

RequestDispatcher requestdispatch=request.getRequestDispatcher("Register.jsp");

requestdispatch.forward(request,response);

//doGet(request, response);

3) RegisterDAO.java

package com.me.DAO;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;

import com.me.Utils.DBUtil;

import com.me.model.RegisterStudent;

public class RegisterDAO

private Connection connection=null;


public RegisterDAO()

connection=DBUtil.getConnection();

public void addStudent(RegisterStudent register) DataBase Insertion Here

try

PreparedStatement ps=connection.prepareStatement("INSERT INTO STUDENT "+

"(REGNO,STUDENTNAME,COURSE,FEES) VALUES(?,?,?,?)");

ps.setInt(1, register.getRegno());

ps.setString(2, register.getName());

ps.setString(3, register.getCourse());

ps.setFloat(4, register.getFees());

ps.executeUpdate();

catch(SQLException e)

e.printStackTrace();

public List<RegisterStudent> getAllStudents() Collect all student details from database here

List<RegisterStudent>list=new ArrayList<RegisterStudent>();
try

Statement stmt=connection.createStatement();

RegisterStudent register;

ResultSet rs=stmt.executeQuery("SELECT * FROM STUDENT");

while(rs.next())

register=new RegisterStudent();

register.setRegno(rs.getInt("regno"));

register.setName(rs.getString("studentname"));

register.setCourse(rs.getString("course"));

register.setFees(rs.getFloat("fees"));

list.add(register);

catch(SQLException e)

e.printStackTrace();

return list;

}
Get Particular student detail based on
public List<RegisterStudent> getStudentByRegno(int regno) regno
{

List<RegisterStudent>list=new ArrayList<RegisterStudent>();

try
{

Statement stmt=connection.createStatement();

RegisterStudent register;

ResultSet rs=stmt.executeQuery("SELECT * FROM STUDENT WHERE REGNO="+regno);

while(rs.next())

register=new RegisterStudent();

register.setRegno(rs.getInt("regno"));

register.setName(rs.getString("studentname"));

register.setCourse(rs.getString("course"));

register.setFees(rs.getFloat("fees"));

list.add(register);

catch(SQLException e)

e.printStackTrace();

for(RegisterStudent o:list)

System.out.println(o.getRegno()+"\t"+o.getName()+"\t"+o.getCourse()+"\t"+o.getFees());

return list;

}
public void updateStudent(RegisterStudent register)

try

PreparedStatement ps=connection.prepareStatement("UPDATE STUDENT SET


STUDENTNAME=?, COURSE=?, FEES=? WHERE REGNO=?");

ps.setString(1, register.getName());

ps.setString(2, register.getCourse());

ps.setFloat(3, register.getFees());

ps.setInt(4, register.getRegno());

ps.executeUpdate();

catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

public void deleteStudent(int regno)

try

PreparedStatement ps=connection.prepareStatement("DELETE FROM STUDENT


WHERE REGNO=?");

ps.setInt(1, regno);
ps.executeUpdate();

catch(SQLException e)

e.printStackTrace();

4) DBUtil.java

package com.me.Utils;
Database connection
import java.io.IOException; Here

import java.io.InputStream; Read Property file


[db.properties] and
import java.sql.Connection; create DB
Connection
import java.sql.DriverManager;

import java.sql.SQLException;

import java.util.Properties;

public class DBUtil

private static Connection connection=null;

public static Connection getConnection()

if(connection!=null)

return connection;

else

{
try

Properties prop=new Properties();

InputStream
inputstream=DBUtil.class.getClassLoader().getResourceAsStream("/db.properties");

prop.load(inputstream);

String driver=prop.getProperty("driver");

String url=prop.getProperty("url");

String username=prop.getProperty("username");

String password=prop.getProperty("password");

Class.forName(driver);

connection=DriverManager.getConnection(url,username,password);

catch (IOException e)

e.printStackTrace();

catch (ClassNotFoundException e)

e.printStackTrace();

catch (SQLException e)

e.printStackTrace();

}
return connection;

5) ViewStudent.jsp

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


<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Show Student Details</title>
</head>
<body>
<table border=1>
<tr>
<th>Regno</th><th>Student_Name</th><th>Course</th><th>Fees</th><th
colspan=2>Action</th> setAttribute(“students
</tr> ”,
<c:forEach items="${students}" var="student"> dao.getAllStudents())
<tr>
<td><c:out value="${student.regno}"></c:out></td> from RegisterServlet
<td><c:out value="${student.name}"></c:out></td>
<td><c:out value="${student.course}"></c:out></td> variable:student
<td><c:out value="${student.fees}"></c:out></td>
<td><a href="RegisterServlet?action=edit&regno=<c:out Collect and display
value="${student.regno}"></c:out>">Update</a></td> details in table here
<td><a href="RegisterServlet?action=delete&regno=<c:out
value="${student.regno}"></c:out>">Delete</a></td>
</tr>
</c:forEach>
</table>
<a href="Register.jsp">Register Student</a> Update hyperlink action:edit
</body> &regno=<c:out
</html>
value=”${student.regno}”>

Delete hyperlink action:edit Description Update Particular


&regno=<c:out student based on regno.
value=”${student.regno}”>
Description Delete Particular
student based on regno.
Output

Update hyperlink

Delete hyperlink

For update operation(goto RegisterServlet?action=edit&regno=1000 [URL Here]:for refer goto page no:3
RegisterServlet->doGet())

Submit button
UpdateStudent.jsp

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


pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Register Student</title>
</head>
<body> Call:UpdateServlet, Method=post
<form action="UpdateServlet" method="post">
<table>
<c:forEach items="${students}" var="students">
<tr>
<td>Enter the Regno:</td>
<td><input type="hidden" name="txtRegno" value="<c:out
value="${students.regno}"></c:out>"></td>
</tr> Regno:hidden here
<tr>
<td>Enter the Student_Name:</td>
<td><input type="text" name="txtName" value="<c:out
value="${students.name}"></c:out>" ></td>
</tr>
<tr>
<td>Enter the Course:</td>
<td><input type="text" name="txtCourse" value="<c:out
value="${students.course}"></c:out>" ></td>
</tr>
<tr>
<td>Enter the Fees:</td>
<td><input type="text" name="txtFees" value="<c:out
value="${students.fees}"></c:out> "></td>
</tr>
</c:forEach>
<tr>
<td><input type="submit" name="submit" value="Update"></td>
<td><input type="reset" name="reset" value="Clear"></td>
</tr>
</table>
</form>
</body>
</html>
UpdateServlet

package com.me.controller;

import java.io.IOException;

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.me.DAO.RegisterDAO;

import com.me.model.RegisterStudent;

/**

* Servlet implementation class UpdateServlet

*/

@WebServlet("/UpdateServlet")

public class UpdateServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

RegisterDAO dao;

/**

* @see HttpServlet#HttpServlet()
*/

public UpdateServlet()

dao=new RegisterDAO();

// TODO Auto-generated constructor stub

/**

* @see HttpServlet#doGet(HttpServletRequest request,


HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse


response) throws ServletException, IOException

/**

* @see HttpServlet#doPost(HttpServletRequest request,


HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse


response) throws ServletException, IOException

int regno = Integer.parseInt(request.getParameter("txtRegno"));

String name=request.getParameter("txtName");
String course=request.getParameter("txtCourse");

float fees=Float.parseFloat(request.getParameter("txtFees"));

RegisterStudent register=new RegisterStudent();

register.setRegno(regno); Call form inputs and set to the


register.setName(name); pojo class(RegisterStudent setter
method)
register.setCourse(course);
Call updateStudent of
register.setFees(fees); DAO(RegisterDAO.java) [Page:9]

dao.updateStudent(register);

request.setAttribute("students",dao.getAllStudents());

RequestDispatcher setAttribute set the


requestdispatcher=request.getRequestDispatcher("ViewStudent.jsp"); students details by
calling
requestdispatcher.forward(request, response); dao.getAllStudents()
} [code:Page 6]and
forward again to view
ViewStudent.jsp table
page[code:Page 12]
}
Program Flow

Post (Controller) Setter Methods


method

1
Sevlet 2

(Client) CRUD
request [RegisterSevlet] (Model) Operation
Browser Action:get (RegisterD Database
3 POJO class
Method AO.java)
[Register.jsp] [dbName:CSC]
(View) [RegisterStudent.
java] DBUtil.java
[Table:Student]
5 JSP
4
ViewStudent.jsp
response
Getter
UpdateStudent.jsp
Methods
Setter Methods
6 (Post Method) 7

(Controller)
UpdateServlet
Output

1) Run From Register.jsp

Submit button

Hyperlink ViewStudent.jsp
2) ViewStudent.jsp
3) UpdateStudent.jsp

UpdateServlet[Controller]

Submit button

You might also like