CONTROLLER:
CONTACT CONTROLLER:
package com.slokam.spring.controller;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.slokam.spring.pojo.ContactPojo;
import com.slokam.spring.service.ContactService;
@Controller
public class ContactController {
private static int maxResults = 4;
@Autowired
private ContactService contactService;
public void setContactService(ContactService contactService) {
this.contactService = contactService;
}
@RequestMapping("forward")
public ModelAndView forward(){
ModelAndView mav = new ModelAndView("home", "contact", new ContactPojo());
return mav;
}
@RequestMapping("saveContact")
public ModelAndView saveContact(ContactPojo contactPojo){
contactService.saveContact(contactPojo);
ModelAndView mav = new ModelAndView("home", "contact", new ContactPojo());
return mav;
}
/*@RequestMapping("getAllContacts")
public ModelAndView getAllContacts(HttpServletRequest request) {
request.getSession().setAttribute("pageNo", 1);
List<ContactPojo> list = contactService.getAllContacts();
List<ContactPojo> subList = list.subList(0, 4);
request.setAttribute("contactList", subList);
request.setAttribute("nextPage", true);
request.setAttribute("previousPage", false);
ModelAndView mav = new ModelAndView("home", "contact", new ContactPojo());
return mav;
}*/
@RequestMapping("getNextContacts")
public ModelAndView getNextContacts(HttpServletRequest request) {
int pageNo = (Integer)request.getSession().getAttribute("pageNo");
List<ContactPojo> list;
/*list = contactService.getAllContacts();
int startPage = 0, endPage = 0;
if(list!=null&&list.size()>0){
pageNo++;
endPage = pageNo*4;
startPage = endPage-4;
request.setAttribute("nextPage", true);
request.setAttribute("previousPage", true);
if(list.size()<=endPage){
endPage = list.size();
request.setAttribute("nextPage", false);
request.setAttribute("previousPage", true);
}
subList = list.subList(startPage, endPage);
request.setAttribute("contactList", subList);
request.getSession().setAttribute("pageNo", pageNo);
}
*/
int totalRecords = (int)request.getSession().getAttribute("totalRecords");
int i = 0, startPage = 1;
pageNo++;
while(i<pageNo){
startPage = startPage*2;
i++;
}
System.out.println("Page No: "+pageNo);
System.out.println("Start Page:"+startPage);
list = contactService.getContacts(startPage,maxResults);
System.out.println("Size: "+list.size());
if(totalRecords%maxResults!=0)
request.setAttribute("nextPage", false);
else
request.setAttribute("nextPage", true);
request.setAttribute("previousPage", true);
request.setAttribute("contactList", list);
request.getSession().setAttribute("pageNo", pageNo);
ModelAndView mav = new ModelAndView("home", "contact", new ContactPojo());
return mav;
}
@RequestMapping("getPreviousContacts")
public ModelAndView getPreviousContacts(HttpServletRequest request) {
int pageNo = (Integer)request.getSession().getAttribute("pageNo");
List<ContactPojo> list;
/*int startPage = 0, endPage = 0;
if(pageNo==1){
request.setAttribute("previousPage", false);
}else{
list = contactService.getAllContacts();
contactService.getContacts(startPage, pageNo);
if(list!=null&&list.size()>0){
endPage = pageNo*4-4;
startPage = endPage-4;
pageNo--;
request.setAttribute("previousPage", true);
request.setAttribute("nextPage", true);
if(startPage==0){
request.setAttribute("previousPage", false);
request.setAttribute("pageEnd", false);
}
subList = list.subList(startPage, endPage);
request.setAttribute("contactList", subList);
request.getSession().setAttribute("pageNo", pageNo);
}
}*/
int totalRecords = (int)request.getSession().getAttribute("totalRecords");
if(pageNo==1){
request.setAttribute("previousPage", false);
}else{
//list = contactService.getContacts(startPage,maxResults);
}
int i = 0, startPage = 0;
pageNo++;
while(i<pageNo){
startPage = startPage*2;
i++;
}
System.out.println("Page No: "+pageNo);
System.out.println("Start Page:"+startPage);
ModelAndView mav = new ModelAndView("home", "contact", new ContactPojo());
return mav;
}
@RequestMapping("viewContact")
public ModelAndView viewContact(Integer contactId) {
ContactPojo pojo = contactService.viewContact(contactId);
ModelAndView mav = new ModelAndView("home","contact",pojo);
return mav;
}
@RequestMapping("updateContact")
public ModelAndView updateContact(ContactPojo contactPojo) {
contactService.updateContact(contactPojo);
ModelAndView mav = new ModelAndView("home", "contact", new ContactPojo());
return mav;
}
@RequestMapping("deleteContact")
public ModelAndView deleteContact(ContactPojo contactPojo) {
contactService.deleteContact(contactPojo);
ModelAndView mav = new ModelAndView("home", "contact", new ContactPojo());
return mav;
}
@RequestMapping("download")
public void fileDownload(HttpServletRequest request, HttpServletResponse response){
FileInputStream fis = null;
OutputStream fos = null;
//String fileName = "abc.txt";
response.setHeader("Content-Disposition", "attachment;filename=abc.txt");
response.setContentType("text/plain");
int read;
try {
fos = response.getOutputStream();
//File file = new File();
//fis = new FileInputStream("E:\\download\\Java7.pdf");
fis = new FileInputStream("E:\\download\\abc.txt");
read = fis.read();
while(read!=-1){
fos.write(read);
read = fis.read();
}
fos.flush();
} catch (IOException e) {
e.printStackTrace();
}
finally{
try {
if(fos!=null){
fos.close();
}
if(fis!=null){
fis.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
@RequestMapping("getContacts")
public ModelAndView getContacts(HttpServletRequest request){
int firstResult = 0;
int totalRecords = (int)contactService.getTotalRecords();
List<ContactPojo> list = contactService.getContacts(firstResult, maxResults);
System.out.println("Size: "+list.size());
System.out.println("Result"+(totalRecords>maxResults));
if(totalRecords>maxResults){
request.getSession().setAttribute("pageNo", 1);
request.getSession().setAttribute("totalRecords", totalRecords);
//request.setAttribute("contactList", list);
request.setAttribute("nextPage", true);
//request.setAttribute("previousPage", false);
}else{
request.setAttribute("nextPage", false);
}
request.setAttribute("previousPage", false);
request.setAttribute("contactList", list);
ModelAndView mav = new ModelAndView("home", "contact", new ContactPojo());
return mav;
}
}
LOGIN CONTROLLER:
package com.slokam.spring.controller;
import javax.servlet.http.HttpSession;
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.servlet.ModelAndView;
import com.slokam.spring.pojo.ContactPojo;
import com.slokam.spring.pojo.LoginPojo;
import com.slokam.spring.service.LoginService;
@Controller
public class LoginController {
@Autowired
private LoginService loginService;
public void setLoginService(LoginService loginService) {
this.loginService = loginService;
}
@RequestMapping("loginhome")
public String forward(){
return "login";
}
@RequestMapping("login")
public String verifyLoginDetails(@ModelAttribute("contact") ContactPojo contactPojo, LoginPojo loginPojo, HttpSession session
){
boolean result = loginService.verifyLoginDetails(loginPojo);
String nextPage = "login";
ModelAndView modelAndView = null;
if(result){
//request.setAttribute("company", new CompanyPojo());
session.setAttribute("login", loginPojo);
nextPage = "home";
modelAndView = new ModelAndView(nextPage, "contact", new ContactPojo());
}
else{
modelAndView = new ModelAndView(nextPage);
}
return nextPage;
}
}
CONTACT DAO:
package com.slokam.spring.dao;
import java.util.List;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Projection;
import org.hibernate.criterion.Projections;
import org.springframework.orm.hibernate3.HibernateTemplate;
import com.slokam.spring.idao.IContactDAO;
import com.slokam.spring.pojo.ContactPojo;
import com.slokam.spring.pojo.LoginPojo;
public class ContactDAO implements IContactDAO{
private HibernateTemplate hibernateTemplate;
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
@Override
public void saveContact(ContactPojo contactPojo) {
hibernateTemplate.save(contactPojo);
}
@Override
public List<ContactPojo> getAllContacts() {
List<ContactPojo> list = hibernateTemplate.find("from ContactPojo");
return list;
}
@Override
public ContactPojo viewContact(Integer contactId) {
ContactPojo contact = new ContactPojo();
List<ContactPojo> list = hibernateTemplate.find("from ContactPojo where contactId=?",contactId);
if(list!=null&&list.size()>0){
contact = list.get(0);
}
return contact;
}
@Override
public void updateContact(ContactPojo contactPojo) {
hibernateTemplate.update(contactPojo);
}
@Override
public void deleteContact(ContactPojo contactPojo) {
hibernateTemplate.delete(contactPojo);
}
@Override
public List<ContactPojo> getContacts(int firstResult, int maxResults) {
//DetachedCriteria criteria = DetachedCriteria.forClass(ContactPojo.class);
DetachedCriteria criteria = DetachedCriteria.forClass(LoginPojo.class);
List<ContactPojo> list = hibernateTemplate.findByCriteria(criteria, firstResult, maxResults);
return list;
}
@Override
public Long getTotalRecords() {
//List<Long> list = hibernateTemplate.find("select count(*) from ContactPojo");
List<Long> list = hibernateTemplate.find("select count(*) from LoginPojo");
Long totalRecords = 0l;
if(list.size()>0){
totalRecords = list.get(0);
System.out.println("Total Records: "+totalRecords);
}
return totalRecords;
}
}
LOGIN DAO:
package com.slokam.spring.dao;
import java.util.List;
import org.springframework.orm.hibernate3.HibernateTemplate;
import com.slokam.spring.idao.ILoginDAO;
import com.slokam.spring.pojo.LoginPojo;
public class LoginDAO implements ILoginDAO{
private HibernateTemplate hibernateTemplate;
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
@Override
public boolean verifyUserDetails(LoginPojo loginPojo) {
String query = "select count(*) from LoginPojo where username=? and password=?";
List<Long> count = hibernateTemplate.find(query,loginPojo.getUsername(), loginPojo.getPassword());
boolean result = false;
if(count!=null && count.get(0)>0){
result = true;
}
return result;
}
}
SEARCH DAO:
package com.slokam.spring.dao;
import java.util.List;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.ProjectionList;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.springframework.orm.hibernate3.HibernateTemplate;
import com.slokam.spring.idao.ISearchDAO;
import com.slokam.spring.pojo.AdvPersonSearchPojo;
import com.slokam.spring.pojo.Person;
public class SearchDAO implements ISearchDAO{
private HibernateTemplate hibernateTemplate;
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
@Override
public List<Object[]> advPersonSearch(AdvPersonSearchPojo searchPojo) {
DetachedCriteria criteria = DetachedCriteria.forClass(Person.class,"person");
criteria.createAlias("person.passport", "ppt");
criteria.createAlias("person.phone", "ph");
criteria.createAlias("person.course", "c");
ProjectionList list = Projections.projectionList();
list.add(Projections.property("person.name"));
list.add(Projections.property("ppt.ppNo"));
list.add(Projections.property("ph.phoneNumber"));
list.add(Projections.property("c.cname"));
if(searchPojo.getPersonName()!=null && !searchPojo.getPersonName().equals("")){
criteria.add(Restrictions.eq("person.name", searchPojo.getPersonName()));
}
if(searchPojo.getPassportNo()!=null && !searchPojo.getPassportNo().equals("")){
criteria.add(Restrictions.like("ppt.ppNo", searchPojo.getPassportNo()));
}
if(searchPojo.getPhoneNo()!=null && !searchPojo.getPhoneNo().equals("")){
criteria.add(Restrictions.like("ph.phoneNumber", searchPojo.getPhoneNo()));
}
if(searchPojo.getCourseName()!=null && !searchPojo.getCourseName().equals("")){
criteria.add(Restrictions.like("c.cname", searchPojo.getCourseName()));
}
criteria.setProjection(list);
List<Object[]> resultList = hibernateTemplate.findByCriteria(criteria);
System.out.println(resultList.size());
return resultList;
}
}
ICONTACT DAO:
package com.slokam.spring.idao;
import java.util.List;
import com.slokam.spring.pojo.ContactPojo;
public interface IContactDAO {
public void saveContact(ContactPojo contactPojo);
public List<ContactPojo> getAllContacts();
public ContactPojo viewContact(Integer contactId);
public void updateContact(ContactPojo contactPojo);
public void deleteContact(ContactPojo contactPojo);
public List<ContactPojo> getContacts(int firstResult, int maxResults);
public Long getTotalRecords();
}
ILOGIN DAO:
package com.slokam.spring.idao;
import com.slokam.spring.pojo.LoginPojo;
public interface ILoginDAO {
public boolean verifyUserDetails(LoginPojo loginPojo);
}
ISEARCH DAO:
package com.slokam.spring.idao;
import java.util.List;
import com.slokam.spring.pojo.AdvPersonSearchPojo;
public interface ISearchDAO {
public List<Object[]> advPersonSearch(AdvPersonSearchPojo searchPojo);
}
ADVPERSON SEARCH POJO:
package com.slokam.spring.pojo;
public class AdvPersonSearchPojo {
private String personName;
private Integer phoneNo;
private Integer passportNo;
private String courseName;
public String getPersonName() {
return personName;
}
public void setPersonName(String personName) {
this.personName = personName;
}
public Integer getPhoneNo() {
return phoneNo;
}
public void setPhoneNo(Integer phoneNo) {
this.phoneNo = phoneNo;
}
public Integer getPassportNo() {
return passportNo;
}
public void setPassportNo(Integer passportNo) {
this.passportNo = passportNo;
}
public String getCourseName() {
return courseName;
}
public void setCourseName(String courseName) {
this.courseName = courseName;
}
}
CONTACT POJO:
package com.slokam.spring.pojo;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="contacts")
public class ContactPojo {
private Integer contactId;
private String email;
private Integer mobile;
private String work;
private Integer home;
@Id
@GeneratedValue
@Column(name="contactId")
public Integer getContactId() {
return contactId;
}
public void setContactId(Integer contactId) {
this.contactId = contactId;
}
@Column(name="email")
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Column(name="mobile")
public Integer getMobile() {
return mobile;
}
public void setMobile(Integer mobile) {
this.mobile = mobile;
}
@Column(name="work")
public String getWork() {
return work;
}
public void setWork(String work) {
this.work = work;
}
@Column(name="home")
public Integer getHome() {
return home;
}
public void setHome(Integer home) {
this.home = home;
}
}
COURSE POJO:
package com.slokam.spring.pojo;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
@Entity
@Table(name="course")
public class Course {
private Integer id;
private String cname;
private String cduration;
private String cfee;
private List<Person> person;
@ManyToMany
@JoinTable(name="person_course",
joinColumns={@JoinColumn(name="courseId")},
inverseJoinColumns={@JoinColumn(name="personId")}
)
public List<Person> getPerson() {
return person;
}
public void setPerson(List<Person> person) {
this.person = person;
}
@Id
@GeneratedValue
@Column(name="id")
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name="cname")
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
@Column(name="cduration")
public String getCduration() {
return cduration;
}
public void setCduration(String cduration) {
this.cduration = cduration;
}
@Column(name="cfee")
public String getCfee() {
return cfee;
}
public void setCfee(String cfee) {
this.cfee = cfee;
}
}
LOGIN POJO:
package com.slokam.spring.pojo;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="login")
public class LoginPojo {
private Integer id;
private String username;
private String password;
@Id
@Column(name="id")
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name="username")
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
@Column(name="password")
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
PASSPORT POJO:
package com.slokam.spring.pojo;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@Entity
@Table(name="passport")
public class Passport {
private Integer id;
private Integer ppNo;
private String ppExpDate;
private Person person;
@OneToOne
@JoinColumn(name="personId")
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
@Id
@GeneratedValue
@Column(name="id")
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name="ppNo")
public Integer getPpNo() {
return ppNo;
}
public void setPpNo(Integer ppNo) {
this.ppNo = ppNo;
}
@Column(name="ppExpDate")
public String getPpExpDate() {
return ppExpDate;
}
public void setPpExpDate(String ppExpDate) {
this.ppExpDate = ppExpDate;
}
}
PERSON PJO
package com.slokam.spring.pojo;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@Entity
@Table(name="person")
public class Person {
private Integer id;
private String name;
private Integer age;
private String qualification;
private Person parentId;
private Passport passport;
private List<Phone> phone;
private List<Course> course;
@OneToOne
@JoinColumn(name="parentId")
public Person getParentId() {
return parentId;
}
public void setParentId(Person parentId) {
this.parentId = parentId;
}
@ManyToMany
@JoinTable( name="person_course",
joinColumns={@JoinColumn(name="personId")},
inverseJoinColumns={@JoinColumn(name="courseId")}
)
public List<Course> getCourse() {
return course;
}
public void setCourse(List<Course> course) {
this.course = course;
}
@OneToMany(mappedBy="person",fetch=FetchType.EAGER)
public List<Phone> getPhone() {
return phone;
}
public void setPhone(List<Phone> phone) {
this.phone = phone;
}
@OneToOne(mappedBy = "person")
public Passport getPassport() {
return passport;
}
public void setPassport(Passport passport) {
this.passport = passport;
}
@Id
@GeneratedValue
@Column(name="id")
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name="name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Column(name="age")
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Column(name="qualification")
public String getQualification() {
return qualification;
}
public void setQualification(String qualification) {
this.qualification = qualification;
}
}
PHONE POJO:
package com.slokam.spring.pojo;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
@Entity
@Table(name="phone")
public class Phone {
private Integer id;
private Integer phoneNumber;
private String simCompany;
private Person person;
@ManyToOne
@JoinColumn(name="personId")
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
@Id
@GeneratedValue
@Column(name="id")
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name="phoneNumber")
public Integer getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(Integer phoneNumber) {
this.phoneNumber = phoneNumber;
}
@Column(name="simCompany")
public String getSimCompany() {
return simCompany;
}
public void setSimCompany(String simCompany) {
this.simCompany = simCompany;
}
}
CONTACT SERVICE:
package com.slokam.spring.service;
import java.util.List;
import com.slokam.spring.idao.IContactDAO;
import com.slokam.spring.pojo.ContactPojo;
public class ContactService {
private IContactDAO contactDAO;
public void setContactDAO(IContactDAO contactDAO) {
this.contactDAO = contactDAO;
}
public void saveContact(ContactPojo contactPojo ){
contactDAO.saveContact(contactPojo);
}
public List<ContactPojo> getAllContacts() {
return contactDAO.getAllContacts();
}
public ContactPojo viewContact(Integer contactId) {
ContactPojo pojo = contactDAO.viewContact(contactId);
return pojo;
}
public void updateContact(ContactPojo contactPojo) {
contactDAO.updateContact(contactPojo);
}
public void deleteContact(ContactPojo contactPojo) {
contactDAO.deleteContact(contactPojo);
}
public List<ContactPojo> getContacts(int firstResult, int maxResults){
return contactDAO.getContacts(firstResult, maxResults);
}
public long getTotalRecords() {
return contactDAO.getTotalRecords();
}
}
LOGIN SERVICE:
package com.slokam.spring.service;
import com.slokam.spring.idao.ILoginDAO;
import com.slokam.spring.pojo.LoginPojo;
public class LoginService {
private ILoginDAO loginDAO;
public void setLoginDAO(ILoginDAO loginDAO) {
this.loginDAO = loginDAO;
}
public boolean verifyLoginDetails(LoginPojo loginPojo){
return loginDAO.verifyUserDetails(loginPojo);
}
}
SEARCH SERVICE:
package com.slokam.spring.service;
import java.util.List;
import com.slokam.spring.idao.ISearchDAO;
import com.slokam.spring.pojo.AdvPersonSearchPojo;
public class SearchService {
private ISearchDAO searchDAO;
public void setSearchDAO(ISearchDAO searchDAO) {
this.searchDAO = searchDAO;
}
public List<Object[]> advPersonSearch(AdvPersonSearchPojo searchPojo){
return searchDAO.advPersonSearch(searchPojo);
}
}
WEBINF
JSP
HOME.JSP
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript">
function saveContact() {
document.forms[0].action="saveContact.form";
document.forms[0].submit();
}
function getAllContacts() {
//document.forms[0].action="getAllContacts.form";
document.forms[0].action="getContacts.form";
document.forms[0].submit();
}
function updateContact() {
document.forms[0].action = "updateContact.form";
document.forms[0].submit();
}
function deleteContact() {
document.forms[0].action = "deleteContact.form";
document.forms[0].submit();
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
in home.jsp
<form:form commandName="contact">
<form:input type="hidden" path="contactId"/>
Email: <form:input type="text" path="email"/><br>
Mobile: <form:input type="text" path="mobile"/><br>
Work: <form:input type="text" path="work"/><br>
Home: <form:input type="text" path="home"/><br>
<input type="submit" value="Save" onclick="saveContact()"/>
<input type="submit" value="GetAll" onclick="getAllContacts()"/>
<input type="submit" value="Update" onclick="updateContact()"/>
<input type="submit" value="Delete" onclick="deleteContact()"/><br>
<a href="download.form">Click here to Download a file</a>
<%-- <table border="1">
<tr>
<td>Email</td>
<td>Mobile</td>
<td>Work</td>
<td>Home</td>
</tr>
<c:forEach items="${contactList}" var="obj">
<tr>
<td><a href="viewContact.form?contactId=${obj.contactId}">${obj.email}</a></td>
<td>${obj.mobile}</td>
<td>${obj.work}</td>
<td>${obj.home}</td>
</tr>
</c:forEach>
</table> --%>
<table border="1">
<tr>
<td>Name</td>
<td>Password</td>
</tr>
<c:forEach items="${contactList}" var="obj">
<tr>
<td><a href="viewContact.form?contactId=${obj.id}">${obj.id}</a></td>
<td>${obj.username}</td>
<td>${obj.password}</td>
</tr>
</c:forEach>
</table>
<%
Boolean pagePrevious =(Boolean)request.getAttribute("previousPage");
System.out.println("pagePrevious: "+pagePrevious);
if(pagePrevious!=null&&pagePrevious==true){
%>
<a href="getPreviousContacts.form"> Previous </a>|||
<%
}
%>
<%
Boolean pageEnd = (Boolean)request.getAttribute("nextPage");
System.out.println("pageNext: "+pageEnd);
if(pageEnd!=null&&pageEnd==true){%>
<a id="nextId" href="getNextContacts.form"> Next</a>
<%
}
%>
</form:form>
</body>
</html>
LOGIN 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>Insert title here</title>
</head>
<body>
<form action="login.form">
UserName: <input type="text" name="userName"/><br>
Password: <input type="text" name="password"><br>
<input type="submit">
</form>
</body>
</html>
SPRING SERVLET EXMAPLE:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:security="http://www.springframework.org/schema/security"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd
">
<context:component-scan base-package="com.slokam.spring"></context:component-scan>
<mvc:annotation-driven/>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- Login -->
<bean id="loginService" class="com.slokam.spring.service.LoginService">
<property name="loginDAO" ref="loginDAO"/>
</bean>
<bean id="loginDAO" class="com.slokam.spring.dao.LoginDAO">
<property name="hibernateTemplate" ref="hibernateTemplate"></property>
</bean>
<!-- Contact -->
<bean id="contactService" class="com.slokam.spring.service.ContactService">
<property name="contactDAO" ref="contactDAO"/>
</bean>
<bean id="contactDAO" class="com.slokam.spring.dao.ContactDAO">
<property name="hibernateTemplate" ref="hibernateTemplate"/>
</bean>
<!-- AdvSearch -->
<bean id="searchService" class="com.slokam.spring.service.SearchService">
<property name="searchDAO" ref="hSearchDAO"/>
</bean>
<bean id="hSearchDAO" class="com.slokam.spring.dao.SearchDAO">
<property name="hibernateTemplate" ref="hibernateTemplate"></property>
</bean>
<!-- Hibernate -->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="hibernateProperties">
<props>
<prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>
<prop key="hibernate.connection.url">jdbc:mysql://localhost:3306/cms</prop>
<prop key="hibernate.connection.username">root</prop>
<prop key="hibernate.connection.password">madhavi</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.connection.autocommit">true</prop>
</props>
</property>
<property name="annotatedClasses">
<list>
<value>com.slokam.spring.pojo.ContactPojo</value>
<value>com.slokam.spring.pojo.LoginPojo</value>
<value>com.slokam.spring.pojo.Person</value>
<value>com.slokam.spring.pojo.Course</value>
<value>com.slokam.spring.pojo.Passport</value>
<value>com.slokam.spring.pojo.Phone</value>
</list>
</property>
</bean>
</beans>
WEB.XML:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>SpringWeb</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.form</url-pattern>
</servlet-mapping>
</web-app>
INDEX.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>Insert title here</title>
</head>
<body>
<jsp:forward page="forward.form"/>
</body>
</html>