GTU Advance Java Practical- 8
Write an application to keep record and retrieve record of student. The record includes student id, enrollment number, semester, SPI. Use MVC arechitecture.
Index.jsp
spring-servlet.xml
com.model.RegVO
org.hibernate.dialect.MySQLDialect
true
update
web.xml
spring
org.springframework.web.servlet.DispatcherServlet
spring
*.html
Registration.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
REGISTRATION PAGE
<%@taglib prefix="f" uri="http://www.springframework.org/tags/form"%>
STUDENT_ID:
ENROLLMENT_NUMBER:
SEMESTER:
SPI:
Search.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
Insert title here
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
Id
STUDENT_ID
ENROLLMENT_NUMBER
SEMESTER
SPI
ACTION
${p.id}
${p.studentID}
${p.enrollment}
${p.semester}
${p.SPI}
Delete Edit
RegController.java
package com.controller;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import com.dao.RegDAO;
import com.model.RegVO;
@Controller
public class RegController {
@Autowired
RegDAO regDAO;
@RequestMapping(value = "load.html", method = RequestMethod.GET)
public ModelAndView Load() {
return new ModelAndView("Registration", "RegVO", new RegVO());
}
@RequestMapping(value = "insert.html", method = RequestMethod.POST)
public ModelAndView Insert(@ModelAttribute RegVO regVo) {
regDAO.insert(regVo);
return new ModelAndView("redirect:/search.html");
}
@RequestMapping(value = "search.html", method = RequestMethod.GET)
public ModelAndView Search() {
List searchList = regDAO.search();
return new ModelAndView("Search", "SearchList", searchList);
}
@RequestMapping(value = "delete.html", method = RequestMethod.GET)
public ModelAndView Delete(HttpServletRequest request, @ModelAttribute RegVO regVO,
@RequestParam int id) {
regVO.setId(id);
regDAO.delete(regVO);
return new ModelAndView("redirect:/search.html");
}
@RequestMapping(value = "edit.html", method = RequestMethod.GET)
public ModelAndView Edit(HttpServletRequest request, @ModelAttribute RegVO regVO,
@RequestParam int id) {
regVO.setId(id);
List editList = regDAO.edit(regVO);
return new ModelAndView("Registration", "RegVO", editList.get(0));
}
}
RegDAO.java
package com.dao;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.model.RegVO;
@Repository
public class RegDAO {
@Autowired
SessionFactory sessionFactory;
public void insert(RegVO regVO) {
try {
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
session.saveOrUpdate(regVO);
transaction.commit();
session.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public List search() {
Session session = sessionFactory.openSession();
Query q = session.createQuery("from RegVO");
List ls = q.list();
session.close();
return ls;
}
public void delete(RegVO regVO) {
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
session.delete(regVO);
transaction.commit();
session.close();
}
public List edit(RegVO regVO) {
Session session = sessionFactory.openSession();
Query q = session.createQuery("from RegVO where id=" + regVO.getId());
List ls = q.list();
session.close();
return ls;
}
}
RegVO.java
package com.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "Spring")
public class RegVO {
@Id
@Column(name = "Id")
@GeneratedValue(strategy = GenerationType.AUTO)
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) {
this.id = id;
}
public String getStudentID() {
return studentID;
}
public void setStudentID(String studentID) {
this.studentID = studentID;
}
public String getEnrollment() {
return enrollment;
}
public void setEnrollment(String enrollment) {
this.enrollment = enrollment;
}
public String getSemester() {
return semester;
}
public void setSemester(String semester) {
this.semester = semester;
}
public String getSPI() {
return spi;
}
public void setSPI(String spi) {
this.spi = spi;
}
}