Sunday, August 16, 2015

HIBERNATE PAGINATION

2:01 AM

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>

Written by

We are Creative Blogger Theme Wavers which provides user friendly, effective and easy to use themes. Each support has free and providing HD support screen casting.

0 comments:

Post a Comment

 

© 2013 Java Tutorials. All rights resevered. Designed by Templateism

Back To Top