EJB Container
==================================================
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property>
<property name="hibernate.connection.driver_class">org.apache.derby.jdbc.ClientDriver</property>
<property name="hibernate.connection.url">jdbc:derby://localhost:1527/mydb</property>
<property name="hibernate.connection.username">app</property>
<property name="hibernate.connection.password">app</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.current_session_context_class">thread</property>
<mapping resource="Person.hbm.xml"/>
</session-factory>
</hibernate-configuration>
===================================================
<hibernate-mapping>
<class name="pac.Person" table="PERSON">
<id column="ID" name="id">
<generator class="assigned"/>
</id>
<property column="NAME" name="name"/>
<property column="AGE" name="age"/>
</class>
</hibernate-mapping>
===================================================
package pac;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import org.hibernate.Session;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.SessionFactory;
/**
* Hibernate Utility class with a convenient method to get Session Factory
* object.
*
* @author Hasangi
*/
public class NewHibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
// Create the SessionFactory from standard (hibernate.cfg.xml)
// config file.
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
} catch (Throwable ex) {
// Log the exception.
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static Session openSession() {
return sessionFactory.openSession();
}
public static Session getCurrentSession() {
return sessionFactory.getCurrentSession();
}
/**
*
* closes the session factory
*/
public static void close() {
if (sessionFactory != null) {
sessionFactory.close();
}
}
}
===================================================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package pac;
import java.io.Serializable;
/**
*
* @author Hasangi
*/
public class Person implements Serializable {
private Integer id;
private String name;
private Integer age;
public Person() {
}
public Person(Integer id) {
this.id = id;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "pac.Person[ id=" + id + " ]";
}
}
========================================================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package pac;
import java.util.List;
import javax.ejb.Stateless;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
/**
*
* @author Hasangi
*/
@Stateless
public class PersonManger {
public void createPerson(Person person) {
Transaction tx = null;
Session session = NewHibernateUtil.getCurrentSession();
try {
System.out.println("sssssssss");
tx = session.beginTransaction();
session.save(person);
tx.commit();
} catch (RuntimeException e) {
if (tx != null && tx.isActive()) {
try {
// Second try catch as the rollback could fail as well tx.rollback();
} catch (HibernateException e1) {
System.out.println("Error rolling back transaction");
}
// throw again the first exception throw e;
}
}
}
public void updatePerson(Person person) {
Transaction tx = null;
Session session = NewHibernateUtil.getCurrentSession();
try {
System.out.println("22222222");
tx = session.beginTransaction();
session.update(person);
tx.commit();
System.out.println("333333333333333");
} catch (RuntimeException e) {
if (tx != null && tx.isActive()) {
try {
// Second try catch as the rollback could fail as well tx.rollback();
} catch (HibernateException e1) {
System.out.println("Error rolling back transaction");
}
// throw again the first exception throw e;
}
}
}
public Person ViewPerson(int ID) {
Transaction tx = null;
Session session = NewHibernateUtil.getCurrentSession();
try {
tx = session.beginTransaction();
Person per = (Person) session.get(Person.class, ID);
tx.commit();
return per;
} catch (RuntimeException e) {
if (tx != null && tx.isActive()) {
try {
// Second try catch as the rollback could fail as well tx.rollback();
} catch (HibernateException e1) {
System.out.println("Error rolling back transaction");
}
throw e;
}
}
return null;
}
public List listPerson() {
Transaction tx = null;
Session session = NewHibernateUtil.getCurrentSession();
try {
tx = session.beginTransaction();
List customer = session.createQuery("select c from Person as c").list();
tx.commit();
return customer;
} catch (RuntimeException e) {
if (tx != null && tx.isActive()) {
try {
// Second try catch as the rollback could fail as well
tx.rollback();
} catch (HibernateException e1) {
System.out.println("Error rolling back transaction");
}
throw e;
}
}
return null;
}
public void deletePerson(Person person) {
Transaction tx = null;
Session session = NewHibernateUtil.getCurrentSession();
try {
tx = session.beginTransaction();
session.delete(person);
tx.commit();
} catch (RuntimeException e) {
if (tx != null && tx.isActive()) {
try {
// Second try catch as the rollback could fail as well tx.rollback();
} catch (HibernateException e1) {
System.out.println("Error rolling back transaction");
}
// throw again the first exception throw e;
}
}
}
}
===================================================
Web Container
<%--
Document : index
Created on : Oct 12, 2014, 4:19:57 PM
Author : Hasangi
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hi Hasangi .........!</h1>
<a href="Home">Insert</a>
<br/>
<a href="update">Update</a>
<br/>
<a href="delete">Delete</a>
<br/>
<a href="list">List</a>
</body>
</html>
========================================================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package pac;
import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Hasangi
*/
@WebServlet(name = "Home", urlPatterns = {"/Home"})//(Insert person)
public class Home extends HttpServlet {
@EJB
private PersonManger personManger;
/**
* Processes requests for both HTTP
* <code>GET</code> and
* <code>POST</code> methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
Integer id=0;
String name=null;
Integer age=0;
Integer state=0;
if (request.getParameter("id") != null) {
id = Integer.parseInt(request.getParameter("id"));
}
if (request.getParameter("name") != null) {
name = request.getParameter("name");
}
if (request.getParameter("age") != null) {
age = Integer.parseInt(request.getParameter("age"));
}
if ((id != 0) && (name != null) && (age != 0)) {
try {
// here we create NewsEntity, that will be sent in JMS message
Person p=new Person();
p.setId(id);
p.setName(name);
p.setAge(age);
personManger.createPerson(p);
state=0;
response.sendRedirect("sucess");
} catch (Exception e) {
state=1;
}
}
PrintWriter out = response.getWriter();
try {
/*
* TODO output your page here. You may use following sample code.
*/
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet Home</title>");
out.println("</head>");
out.println("<body>");
out.println("<a href='index.jsp'>Home</a>");
out.println("<h1>Insert Person</h1>");
out.println("<form>");
out.println("ID:<input type='text' name='id' id='id'/><br/><br/>");
out.println("Name:<input type='text' name='name' id='name'/><br/><br/>");
out.println("Age:<input type='text' name='age' id='age'/><br/><br/>");
out.println("<button type='submit'>Add Person</button><br/>");
out.println("</form>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP
* <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP
* <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
=================================================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package pac;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Hasangi
*/
@WebServlet(name = "list", urlPatterns = {"/list"})
public class list extends HttpServlet {
@EJB
private PersonManger personManger;
/**
* Processes requests for both HTTP
* <code>GET</code> and
* <code>POST</code> methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
/*
* TODO output your page here. You may use following sample code.
*/
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet ListCustomers</title>");
out.println("</head>");
out.println("<body>");
out.println("<a href='index.jsp'>Home</a>");
out.println("<h1>List of customers </h1>");
List result = personManger.listPerson();
for (Iterator iter = result.iterator(); iter.hasNext();) {
Person c = (Person)iter.next();
out.println("ID"+c.getId()+" ,Name : "+c.getName()+" ,Age : "+c.getAge()+"<br>");
}
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP
* <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP
* <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
=====================================================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package pac;
import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Hasangi
*/
@WebServlet(name = "delete", urlPatterns = {"/delete"})//find and delete person
public class delete extends HttpServlet {
@EJB
private PersonManger personManger;
/**
* Processes requests for both HTTP
* <code>GET</code> and
* <code>POST</code> methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
int id = 0;
Person p = new Person();
if (request.getParameter("id") != null) {
id = Integer.parseInt(request.getParameter("id"));
p = personManger.ViewPerson(id);
}
String name=null;
Integer age=0;
Integer state=0;
if (request.getParameter("name") != null) {
name = request.getParameter("name");
}
if (request.getParameter("age") != null) {
age = Integer.parseInt(request.getParameter("age"));
}
if ((id != 0) && (name != null) && (age != 0)) {
try {
// here we create NewsEntity, that will be sent in JMS message
Person per=new Person();
per.setId(id);
per.setName(name);
per.setAge(age);
personManger.deletePerson(per);
state=0;
response.sendRedirect("list");
} catch (Exception e) {
state=1;
}
}
PrintWriter out = response.getWriter();
try {
/*
* TODO output your page here. You may use following sample code.
*/
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet delete</title>");
out.println("</head>");
out.println("<body>");
out.println("<a href='index.jsp'>Home</a>");
out.println("<h1>Delete Person</h1>");
out.println("<form>");
out.println(" <input type='text' name='id' id='id'/>");
out.println("<button type='submit'>Search</button><br/>");
out.println("</form>");
if (id != 0) {
out.println("ID:" + p.getId());
out.println("<br/>Name:" + p.getName());
out.println("<br/>Age:" + p.getId() + "<br/><br/>");
out.println("<form>");
out.println("<input type='hidden' name='id' id='id' value="+p.getId()+" ><br/><br/>");
out.println("<input type='hidden' name='name' id='name' value="+p.getName()+"><br/><br/>");
out.println("<input type='hidden' name='age' id='age' value="+p.getAge()+"><br/><br/>");
out.println("<button type='submit'>Delete Person</button><br/>");
out.println("</form>");
}
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP
* <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP
* <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
===================================================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package pac;
import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Hasangi
*/
@WebServlet(name = "update", urlPatterns = {"/update"})
public class update extends HttpServlet {
@EJB
private PersonManger personManger;
/**
* Processes requests for both HTTP
* <code>GET</code> and
* <code>POST</code> methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
int id = 0;
Person p = new Person();
if (request.getParameter("id") != null) {
id = Integer.parseInt(request.getParameter("id"));
p = personManger.ViewPerson(id);
}
String name=null;
Integer age=0;
Integer state=0;
if (request.getParameter("name") != null) {
name = request.getParameter("name");
}
if (request.getParameter("age") != null) {
age = Integer.parseInt(request.getParameter("age"));
}
if ((id != 0) && (name != null) && (age != 0)) {
try {
// here we create NewsEntity, that will be sent in JMS message
Person per=new Person();
per.setId(id);
per.setName(name);
per.setAge(age);
personManger.updatePerson(per);
state=0;
response.sendRedirect("list");
} catch (Exception e) {
state=1;
}
}
PrintWriter out = response.getWriter();
try {
/*
* TODO output your page here. You may use following sample code.
*/
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet update</title>");
out.println("</head>");
out.println("<body>");
out.println("<a href='index.jsp'>Home</a>");
out.println("<h1>Update Person</h1>");
out.println("<form>");
out.println(" <input type='text' name='id' id='id'/>");
out.println("<button type='submit'>Search</button><br/><br/><br/>");
out.println("</form>");
if (id != 0) {
out.println("<form>");
out.println("ID:<input type='text' name='id' id='id' value="+p.getId()+" ><br/><br/>");
out.println("Name:<input type='text' name='name' id='name' value="+p.getName()+"><br/><br/>");
out.println("Age:<input type='text' name='age' id='age' value="+p.getAge()+"><br/><br/>");
out.println("<button type='submit'>Update Person</button><br/>");
out.println("</form>");
}
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP
* <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP
* <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
===========================================================
No comments:
Post a Comment