I have an application which Displays the Contact information when i submit through provided text box. But i want that when application loads first time it should display the data from database with submitting the data from JSP. at first time it does'nt shows data but when i press submitt it shows current with all data present in database table.
My JSP is as below
Code:
<html>
<head>
<title>Contact Manager - Struts2 Hibernate Example</title>
</head>
<body>
<h1>Contact Manager</h1>
<s:actionerror/>
<s:form action="add" method="post">
<s:textfield name="contact.firstName" label="Firstname"/>
<s:textfield name="contact.lastName" label="Lastname"/>
<s:textfield name="contact.emailId" label="Email"/>
<s:textfield name="contact.cellNo" label="Cell No."/>
<s:textfield name="contact.website" label="Homepage"/>
<s:textfield name="contact.birthDate" label="Birthdate"/>
<s:submit value="Add Contact" align="center"/>
</s:form>
<h2>Contacts</h2>
<table>
<tr>
<th>Name</th>
<th>Email</th>
<th>Cell No.</th>
<th>Birthdate</th>
<th>Homepage</th>
<th>Delete</th>
</tr>
</table>
</body>
</html>
Code:
<display-name>ContactManager</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
Code:
package net.shafquat.contact.view;
import java.util.List;
import net.shafquat.contact.controller.ContactManagerController;
import net.shafquat.contact.model.Contact;
import com.opensymphony.xwork2.ActionSupport;
public class ContactAction extends ActionSupport {
private static final long serialVersionUID = 9149826260758390091L;
private Contact contact;
private List<Contact> contactList;
private Long id;
private ContactManagerController contactManagerController;
public ContactAction() {
System.out.println("ContactAction called before execute ");
contactManagerController = new ContactManagerController();
System.out.println("ContactAction called before execute1 ");
}
public String execute() {
System.out.println("entering into execute of ContactAction");
this.contactList = contactManagerController.list();
System.out.println("entering into execute of ContactAction1"+SUCCESS);
return SUCCESS;
}
public String view() {
try {
System.out.println("add called after execute()");
contactManagerController.view(getContact());
System.out.println("add called after execute()1");
} catch (Exception e) {
e.printStackTrace();
}
this.contactList = contactManagerController.list();
System.out.println("add called after execute()2"+SUCCESS);
return SUCCESS;
}
public String add() {
try {
System.out.println("add called after execute()");
contactManagerController.add(getContact());
System.out.println("add called after execute()1");
} catch (Exception e) {
e.printStackTrace();
}
this.contactList = contactManagerController.list();
System.out.println("add called after execute()2"+SUCCESS);
return SUCCESS;
}
public String delete() {
System.out.println("delete called after execute()");
contactManagerController.delete(getId());
System.out.println("delete called after execute()1"+SUCCESS);
return SUCCESS;
}
public Contact getContact() {
System.out.println("getContact called after execute()======"+contact);
return contact;
}
public List<Contact> getContactList() {
System.out.println("getContactList called after execute()======"+contactList);
return contactList;
}
public void setContact(Contact contact) {
System.out.println("setContact called after execute()======"+contact);
this.contact = contact;
System.out.println("setContact called after execute()1======"+contact);
}
public void setContactList(List<Contact> contactsList) {
System.out.println("setContactList called after execute()======"+contactsList);
this.contactList = contactsList;
System.out.println("setContactList called after execute()1======"+contactsList);
}
public Long getId() {
System.out.println("getId called after execute()======"+id);
return id;
}
public void setId(Long id) {
System.out.println("setId called after execute()======"+id);
this.id = id;
System.out.println("setId called after execute()1======"+id);
}
}
Code:
package net.shafquat.contact.util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
try {
// Create the SessionFactory from hibernate.cfg.xml
System.out.println("SessionFactory buildSessionFactory()");
return new AnnotationConfiguration().configure().buildSessionFactory();
} catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
System.out.println("SessionFactory getSessionFactory() --- "+sessionFactory);
return sessionFactory;
}
}
Model Class
Code:
package net.shafquat.contact.model;
import java.io.Serializable;
import java.sql.Date;
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 Contact implements Serializable{
private static final long serialVersionUID = -8767337896773261247L;
private Long id;
private String firstName;
private String lastName;
private String emailId;
private String cellNo;
private Date birthDate;
private String website;
private Date created;
@Id
@GeneratedValue
@Column(name="id")
public Long getId() {
System.out.println("In getId()=="+id);
return id;
}
@Column(name="firstname")
public String getFirstName() {
System.out.println("In getFirstName()=="+firstName);
return firstName;
}
@Column(name="lastname")
public String getLastName() {
System.out.println("In getLastName()=="+lastName);
return lastName;
}
@Column(name="email_id")
public String getEmailId() {
System.out.println("In getEmailId()=="+emailId);
return emailId;
}
@Column(name="cell_no")
public String getCellNo() {
System.out.println("In getCellNo()=="+cellNo);
return cellNo;
}
@Column(name="birthdate")
public Date getBirthDate() {
System.out.println("In getBirthDate()=="+birthDate);
return birthDate;
}
@Column(name="website")
public String getWebsite() {
System.out.println("In getWebsite()=="+website);
return website;
}
@Column(name="created")
public Date getCreated() {
System.out.println("In getCreated()=="+created);
return created;
}
public void setId(Long id) {
System.out.println("In setId()=="+id);
this.id = id;
System.out.println("In setId()=="+id);
}
public void setFirstName(String firstName) {
this.firstName = firstName;
System.out.println("In setFirstName()=="+firstName);
}
public void setLastName(String lastName) {
this.lastName = lastName;
System.out.println("In setLastName()=="+lastName);
}
public void setEmailId(String emailId) {
this.emailId = emailId;
System.out.println("In setEmailId()=="+emailId);
}
public void setCellNo(String cellNo) {
this.cellNo = cellNo;
System.out.println("In setCellNo()=="+cellNo);
}
public void setBirthDate(Date birthDate) {
this.birthDate = birthDate;
System.out.println("In setBirthDate()=="+birthDate);
}
public void setCreated(Date created) {
this.created = created;
System.out.println("In setCreated()=="+created);
}
public void setWebsite(String website) {
this.website = website;
System.out.println("In setWebsite()=="+website);
}
}
Controller Class
package net.shafquat.contact.controller;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.classic.Session;
import net.shafquat.contact.model.Contact;
import net.shafquat.contact.util.HibernateUtil;
public class ContactManagerController extends HibernateUtil {
public Contact add(Contact contact) {
System.out.println("In == public Contact add(Contact contact) == ContactManagerController");
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
System.out.println("In == public Contact add(Contact contact) == ContactManagerController1");
session.beginTransaction();
System.out.println("In == public Contact add(Contact contact) == ContactManagerController2");
session.save(contact);
System.out.println("In == public Contact add(Contact contact) == ContactManagerController3");
session.flush();
System.out.println("In == public Contact add(Contact contact) == ContactManagerController4");
session.getTransaction().commit();
System.out.println("In == public Contact add(Contact contact) == ContactManagerController5");
return contact;
}
public Contact view(Contact contact2) {
System.out.println("In == public Contact view(Contact contact2) == ContactManagerController");
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
System.out.println("In == public Contact view(Contact contact2) == ContactManagerController1");
session.beginTransaction();
System.out.println("In == public Contact view(Contact contact2) == ContactManagerController2");
return contact2;
}
public Contact delete(Long id) {
System.out.println("In == public Contact view(Contact contact2) == ContactManagerController2");
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
System.out.println("In == public Contact view(Contact contact2) == ContactManagerController2");
session.beginTransaction();
System.out.println("In == public Contact view(Contact contact2) == ContactManagerController2");
Contact contact = (Contact) session.load(Contact.class, id);
System.out.println("In == public Contact view(Contact contact2) == ContactManagerController2");
if(null != contact) {
System.out.println("In == if(null != contact) == ContactManagerController2.public Contact delete(Long id)");
session.delete(contact);
System.out.println(contact+" ==deleted == ContactManagerController2.public Contact delete(Long id)");
}
session.getTransaction().commit();
System.out.println("session.getTransaction().commit();");
return contact;
}
@SuppressWarnings("unchecked")
public List<Contact> list() {
System.out.println("Inside public List<Contact> list() ");
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
System.out.println("Inside public List<Contact> list() 1");
session.beginTransaction();
System.out.println("Inside public List<Contact> list() 2");
List<Contact> contacts = null;
System.out.println("Inside public List<Contact> list() 3");
try {
System.out.println("Inside public List<Contact> list()4 ");
contacts = (List<Contact>)session.createQuery("from Contact").list();
System.out.println("Inside public List<Contact> list() 5");
} catch (HibernateException e) {
System.out.println("in exception HibernateException");
e.printStackTrace();
session.getTransaction().rollback();
}
session.getTransaction().commit();
System.out.println("Inside public List<Contact> list()==session.getTransaction().commit(); ");
return contacts;
}
}
Thanks in Advance
Shafquat
