Friday, October 31, 2014

Radio Button

if(jRadioButtonDefaultYes.isSelected()){
            c.setCdefault("yes");
 }else if(jRadioButtonDefaultNo.isSelected()){
            c.setCdefault("no");
 }

jRadioButtonDefaultYes and jRadioButtonDefaultNo both are radio buttion name

Update ...

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            string output = decrept("D");
            Console.WriteLine(output);
            Console.Read();
        }

     
        public static string decrept(string cybertext)
        {
            string plaintecxt = "";
            string arr="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
            int position;
            int keypotion;
            char ch;
            int inverse = 21;

            for(int i=0;i<cybertext.Length;i++)
            {
                position = arr.IndexOf(cybertext[i]);
                keypotion = inverse*(position - 3) % 26;
                ch = arr[keypotion];
                plaintecxt =plaintecxt+ ch;

            }

            return plaintecxt;
        }
    }
}

Monday, October 13, 2014

web service with Java DB

http://www.mkyong.com/jdbc/jdbc-preparestatement-example-insert-a-record/

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pac;


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Resource;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.sql.DataSource;

/**
 *
 * @author Hasangi
 */
@WebService(serviceName = "wsRate")
public class wsRate {
    @Resource(name = "mybank")
    private DataSource mybank;

    /**
     * This is a sample web service operation
     */
    @WebMethod(operationName = "hello")
    public String hello(@WebParam(name = "name") String txt) {
        return "Hello " + txt + " !";
    }

    /**
     * Web service operation
     */
    @WebMethod(operationName = "exchange")
    public double exchange(@WebParam(name = "usd") double usd) {
        try {
            //TODO write your implementation code here:
           
            Connection con=mybank.getConnection();
            PreparedStatement psts=con.prepareStatement("select value from rate where id=?");
            psts.setInt(1, 1);
            ResultSet rs= psts.executeQuery();
            rs.next();
            double rate=rs.getDouble(1);
            rs.close();
            con.close();           
            return usd*rate;
           
        } catch (SQLException ex) {
            Logger.getLogger(wsRate.class.getName()).log(Level.SEVERE, null, ex);
             return 0.0;
        }
    }

    /**
     * Web service operation
     */
    @WebMethod(operationName = "AddRate")
    public String AddRate(@WebParam(name = "id") int id, @WebParam(name = "rate") double rate) {
        try {
            //TODO write your implementation code here:
            String insertTableSQL = "INSERT INTO APP.RATE"
                + "(ID, VALUE) VALUES"
                + "(?,?)";
             Connection conn=mybank.getConnection();
            PreparedStatement pstss=conn.prepareStatement(insertTableSQL);
            pstss.setInt(1, id);
            pstss.setDouble(2,rate);
            pstss.executeUpdate();
           
            return "Insert Sucess";
        } catch (SQLException ex) {
            Logger.getLogger(wsRate.class.getName()).log(Level.SEVERE, null, ex);
             return "Not Insert";
        }
    }
   
   
}

Hibernate + Java Beans

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>
}

===========================================================










Online Book Store App

EJB Container
--------------------------------------------------------------------------
 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejb;

import java.util.List;
import javax.persistence.EntityManager;

/**
 *
 * @author Hasangi
 */
public abstract class AbstractFacade<T> {
    private Class<T> entityClass;

    public AbstractFacade(Class<T> entityClass) {
        this.entityClass = entityClass;
    }

    protected abstract EntityManager getEntityManager();

    public void create(T entity) {
        getEntityManager().persist(entity);
    }

    public void edit(T entity) {
        getEntityManager().merge(entity);
    }

    public void remove(T entity) {
        getEntityManager().remove(getEntityManager().merge(entity));
    }

    public T find(Object id) {
        return getEntityManager().find(entityClass, id);
    }
  
  
    public List<T> findAll() {
        javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
        cq.select(cq.from(entityClass));
        return getEntityManager().createQuery(cq).getResultList();
    }

    public List<T> findRange(int[] range) {
        javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
        cq.select(cq.from(entityClass));
        javax.persistence.Query q = getEntityManager().createQuery(cq);
        q.setMaxResults(range[1] - range[0]);
        q.setFirstResult(range[0]);
        return q.getResultList();
    }

    public int count() {
        javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
        javax.persistence.criteria.Root<T> rt = cq.from(entityClass);
        cq.select(getEntityManager().getCriteriaBuilder().count(rt));
        javax.persistence.Query q = getEntityManager().createQuery(cq);
        return ((Long) q.getSingleResult()).intValue();
    }
    public List<T>  findByName(String Name) {
        return getEntityManager().createQuery(
        "SELECT c FROM AuthorEntity c WHERE c.Name LIKE :Name")
        .setParameter("Name", Name)
        .getResultList();
      
      
    }
  
    public List<T>  findByTitle(String title) {
        return getEntityManager().createQuery(
        "SELECT c FROM Booksentity c WHERE c.title LIKE :title")
        .setParameter("title", title)
        .getResultList();
      
      
    }
  
}
--------------------------------------------------------------------------------------

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejb;

import java.io.Serializable;
import javax.persistence.*;

/**
 *
 * @author Hasangi
 */
@Entity
public class AuthorEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    @Column(name = "Name")
    private String Name;
   
    @ManyToOne
    @JoinColumn(name = "BOOK_AUTHOR", referencedColumnName = "ISBN")
    private Booksentity Book;
   

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Booksentity getBook() {
        return Book;
    }

    public void setBook(Booksentity Book) {
        this.Book = Book;
    }

    public String getName() {
        return Name;
    }

    public void setName(String Name) {
        this.Name = Name;
    }

   
    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof AuthorEntity)) {
            return false;
        }
        AuthorEntity other = (AuthorEntity) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "ejb.AuthorEntity[ id=" + id + " ]";
    }
   
}

----------------------------------------------------------------------------------------------

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejb;

import java.io.Serializable;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author Hasangi
 */
@Entity
@Table(name = "BOOKSENTITY")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Booksentity.findAll", query = "SELECT b FROM Booksentity b"),
    @NamedQuery(name = "Booksentity.findByIsbn", query = "SELECT b FROM Booksentity b WHERE b.isbn = :isbn"),
    @NamedQuery(name = "Booksentity.findByTitle", query = "SELECT b FROM Booksentity b WHERE b.title = :title"),
    @NamedQuery(name = "Booksentity.findByPrice", query = "SELECT b FROM Booksentity b WHERE b.price = :price"),
    @NamedQuery(name = "Booksentity.findByBookyear", query = "SELECT b FROM Booksentity b WHERE b.bookyear = :bookyear"),
    @NamedQuery(name = "Booksentity.findByLanguage", query = "SELECT b FROM Booksentity b WHERE b.language = :language")})
public class Booksentity implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Column(name = "ISBN")
    private Long isbn;
    @Size(max = 255)
    @Column(name = "TITLE")
    private String title;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Column(name = "PRICE")
    private Double price;
    @Column(name = "BOOKYEAR")
    private Integer bookyear;
    @Size(max = 255)
    @Column(name = "LANGUAGE")
    private String language;

    public Booksentity() {
    }

    public Booksentity(Long isbn) {
        this.isbn = isbn;
    }

    public Long getIsbn() {
        return isbn;
    }

    public void setIsbn(Long isbn) {
        this.isbn = isbn;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public Integer getBookyear() {
        return bookyear;
    }

    public void setBookyear(Integer bookyear) {
        this.bookyear = bookyear;
    }

    public String getLanguage() {
        return language;
    }

    public void setLanguage(String language) {
        this.language = language;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (isbn != null ? isbn.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Booksentity)) {
            return false;
        }
        Booksentity other = (Booksentity) object;
        if ((this.isbn == null && other.isbn != null) || (this.isbn != null && !this.isbn.equals(other.isbn))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "ejb.Booksentity[ isbn=" + isbn + " ]";
    }
   
}
----------------------------------------------------------------------------------------------

Web Container


<%--
    Document   : index
    Created on : Aug 6, 2014, 10:25:18 AM
    Author     : Hasangi
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>


    <head>
        <meta charset="UTF-8">
        <title>Online Book Store</title>
    
          <link rel="stylesheet" href="bootstrap.css" type="text/css">
             <link rel="stylesheet" href="css/style.css" type="text/css">
    </head>
    <body>
        <div id="header">
            <div class="clearfix">
                <div class="logo">
                    <img src="images/logo.png" alt="LOGO" height="52" width="362">
                </div>
                <ul class="navigation">
                    <li class="active"><a href="index.jsp">Home</a></li>
                    <li><a href="ListBook">List Books</a></li>
                    <li><a href="insertBook">Add New Book</a></li>
                    <li><a href="ListAuthor">List Authors</a></li>

                </ul>
            </div>
        </div>




        <div id="contents">
            <div id="adbox">
                <div class="clearfix" style="background-color: white;">
                    <img src="images/bookimage.jpg" alt="Img" height="382" width="594">
                    <div class="detail">
                        <h1>Welcome To Book Store<br> Read To Your Heart's </h1>
                        <p>
                            Content With Our <br>Online Book Service.
                        </p>
                    </div>
                </div>
            </div>
        </div>

        <div id="footer">
            <div id="footnote">
                <div class="clearfix">

                    <p>
                        <b>S.A.H.S Wijerathne - IT 11 1523 92 © Copyright by 2014. All Rights Reserved.</b>
                    </p>
                </div>
            </div>
        </div>


    </body>
</html>
---------------------------------------------------------------------------------------

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package web;

import ejb.Booksentity;
import ejb.BooksentityFacade;
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 = "ListBook", urlPatterns = {"/ListBook"})
public class ListBook extends HttpServlet {

    @EJB
    private BooksentityFacade booksentityFacade;

    /**
     * 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 ListBook</title>");
            out.println("<link rel='stylesheet' href='bootstrap.css' type='text/css'>");
            out.println("<link rel='stylesheet' href='css/style.css' type='text/css'>");
           
                       
            out.println("</head>");
            out.println("<body>");


            out.println(" <div id='header'>");
            out.println("<div class='clearfix'>");
            out.println("<div class='logo'>");
            out.println("<img src='images/logo.png' alt='LOGO' height='52' width='362'>");
            out.println(" </div>");
            out.println("   <ul class='navigation'>");
            out.println("<li><a href='index.jsp'>Home</a></li>");
            out.println("<li  class='active'><a href='ListBook'>List Books</a></li>");
            out.println("<li><a href='insertBook'>Add New Book</a></li>");
            out.println("<li><a href='ListAuthor'>List Authors</a></li>");
            out.println("   </ul>");
            out.println(" </div>");
            out.println(" </div>");
            out.println(" <div id='contents'>");
            out.println(" <div class='clearfix' >");

            out.println("<h3><u><b>List Of Books</b></u> </h3>");
           
            out.println(" <div class='frame2'>");
            out.println(" <div class='box'>");
            out.println("<form class='form-horizonta' role='form' action='ListBookSearch'>");
            out.println("Search By Book Title : <input value='' type='text' name='SearchResult' placeholder='Book Title' >"
                    + "  <button type='submit' class='btn btn-default'>Search</button></div></div>");

            out.println("</form>");   
           
            out.println("<table  class='table table-hover'>");
            out.println("<thead><tr>");
            out.println("<th>ISBN</th>");
            out.println("<th>Title</th>");
            out.println("<th>Price</th>");
            out.println("<th>Year</th>");
            out.println("<th>Language</th>");
            out.println("<th></th>");

            List books = booksentityFacade.findAll();
            out.println("</tr></thead>");
            for (Iterator it = books.iterator(); it.hasNext();) {
                Booksentity elem = (Booksentity) it.next();
                out.println("<tr>");
                out.println("<td>" + elem.getIsbn() + "</td>");
                out.println("<td><b>" + elem.getTitle() + " </b></td>");
                out.println("<td>" + elem.getPrice() + "</td> ");
                out.println("<td>" + elem.getBookyear() + "</td> ");
                out.println("<td>" + elem.getLanguage() + "</td> ");

                out.println("<td><a href='BookView?isbn="+elem.getIsbn()+"'>View Book </a></td>");

                out.println("</tr>");
            }
            out.println("</table>");
            out.println(" </div>");
            out.println(" </div>");
            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 web;

import ejb.Booksentity;
import ejb.BooksentityFacade;
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 = "ListBookSearch", urlPatterns = {"/ListBookSearch"})
public class ListBookSearch extends HttpServlet {

    @EJB
    private BooksentityFacade booksentityFacade;

    /**
     * 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 ListBookSearch</title>");
            out.println("<link rel='stylesheet' href='bootstrap.css' type='text/css'>");
            out.println("<link rel='stylesheet' href='css/style.css' type='text/css'>");


            out.println("</head>");
            out.println("<body>");


            out.println(" <div id='header'>");
            out.println("<div class='clearfix'>");
            out.println("<div class='logo'>");
            out.println("<img src='images/logo.png' alt='LOGO' height='52' width='362'>");
            out.println(" </div>");
            out.println("   <ul class='navigation'>");
            out.println("<li><a href='index.jsp'>Home</a></li>");
            out.println("<li  class='active'><a href='ListBook'>List Books</a></li>");
            out.println("<li><a href='insertBook'>Add New Book</a></li>");
            out.println("<li><a href='ListAuthor'>List Authors</a></li>");
            out.println("   </ul>");
            out.println(" </div>");
            out.println(" </div>");
            out.println(" <div id='contents'>");
            out.println(" <div class='clearfix' >");

            out.println("<h3><u><b>List Of Books</b></u> </h3>");

            out.println(" <div class='frame2'>");
            out.println(" <div class='box'>");
            out.println("<form class='form-horizonta' role='form' action='ListBookSearch'>");
            out.println("Search By Book Title : <input value='' type='text' name='SearchResult' placeholder='Book Title' >"
                    + "  <button type='submit' class='btn btn-default'>Search</button></div></div>");

            out.println("</form>");

            out.println("<table  class='table table-hover'>");
            out.println("<thead><tr>");
            out.println("<th>ISBN</th>");
            out.println("<th>Title</th>");
            out.println("<th>Price</th>");
            out.println("<th>Year</th>");
            out.println("<th>Language</th>");
            out.println("<th></th>");
            String s = request.getParameter("SearchResult");
            String viewBook = "%" + s + "%";

            List books = booksentityFacade.findByTitle(viewBook);
            out.println("</tr></thead>");
            for (Iterator it = books.iterator(); it.hasNext();) {
                Booksentity elem = (Booksentity) it.next();
                out.println("<tr>");
                out.println("<td>" + elem.getIsbn() + "</td>");
                out.println("<td><b>" + elem.getTitle() + " </b></td>");
                out.println("<td>" + elem.getPrice() + "</td> ");
                out.println("<td>" + elem.getBookyear() + "</td> ");
                out.println("<td>" + elem.getLanguage() + "</td> ");

                out.println("<td><a href='BookView?isbn=" + elem.getIsbn() + "'>View Book </a></td>");

                out.println("</tr>");
            }
            out.println("</table>");
            out.println(" </div>");
            out.println(" </div>");
            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 web;

import ejb.AuthorEntity;
import ejb.AuthorEntityFacade;
import ejb.Booksentity;
import ejb.BooksentityFacade;
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 = "BookView", urlPatterns = {"/BookView"})
public class BookView extends HttpServlet {

    @EJB
    private AuthorEntityFacade authorEntityFacade;
    @EJB
    private BooksentityFacade booksentityFacade;

    /**
     * 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.
             */

            Long isbn = Long.parseLong(request.getParameter("isbn"));
            Booksentity book = new Booksentity();
            book = booksentityFacade.find(isbn);



            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet BookView</title>");
            out.println("<link rel='stylesheet' href='bootstrap.css' type='text/css'>");
            out.println("<link rel='stylesheet' href='bootstrap.min.css' type='text/css'>");
            out.println("<link rel='stylesheet' href='css/style.css' type='text/css'>");
          

            out.println("</head>");
            out.println("<body>");


            out.println(" <div id='header'>");
            out.println("<div class='clearfix'>");
            out.println("<div class='logo'>");
            out.println("<img src='images/logo.png' alt='LOGO' height='52' width='362'>");
            out.println(" </div>");
            out.println("   <ul class='navigation'>");
            out.println("<li><a href='index.jsp'>Home</a></li>");
            out.println("<li  class='active'><a href='ListBook'>List Books</a></li>");
            out.println("<li><a href='insertBook'>Add New Book</a></li>");
            out.println("<li><a href='ListAuthor'>List Authors</a></li>");
            out.println("   </ul>");
            out.println(" </div>");
            out.println(" </div>");

            out.println(" <div id='contents'>");
            out.println(" <div class='clearfix' >");
            out.println(" <div class='sidebar' >");
            out.println(" <div>");
            out.println("<h2>Manage Book Details</h2>");

            out.println("<ul>");
            out.println("<li><a href='BookView?isbn=" + book.getIsbn() + "'> Book Details</a></li>");
            out.println("<li><a href='updateBook?isbn=" + book.getIsbn() + "'>Update Book Details</a></li>");
            out.println("<li><a href='UpdateAuthor?isbn=" + book.getIsbn() + "'>Update Author Details</a></li>");
            out.println("<li><a href='insertAuthor?isbn=" + book.getIsbn() + "'>Insert New Author</a></li>");
            out.println("</ul>");
            out.println(" </div>");

            out.println(" </div>");

            out.println(" <div class='main' >");

            out.println("<h1><u><b>Book Details</b></u> </h1>");
            out.println("<p>ISBN: " + book.getIsbn() + "</p> ");
            out.println("<p>Book Title: " + book.getTitle() + "</p> ");
            out.println("<p>Book Price: " + book.getPrice() + "</p> ");
            out.println("<p>Publish Year: " + book.getBookyear() + "</p> ");
            out.println("<p>Language: " + book.getLanguage() + "</p> ");
             out.println("<h1><u><b>Author Details</b></u> </h1>");
           
             List authorlist = authorEntityFacade.findAll();
             int count=1;
        
            for (Iterator it = authorlist.iterator(); it.hasNext();) {
                AuthorEntity aur = (AuthorEntity) it.next();
                if(aur.getBook().getIsbn()== book.getIsbn()){
                out.println("<p><li type='square' >Author "+count+" : "+aur.getName()+"</li></p>");
                count++;
                }
            }
            if(count==1){
                out.println("<p>Author Details Are Not Inserted</p>");
            }
           
           
            out.println(" </div>");

          
          

            out.println(" </div>");
            out.println(" </div>");
            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 web;

import ejb.Booksentity;
import ejb.BooksentityFacade;
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 = "insertBook", urlPatterns = {"/insertBook"})
public class insertBook extends HttpServlet {

    @EJB
    private BooksentityFacade booksentityFacade;

    /**
     * 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");

        Long Bookisbn = 0L;
        Double Price = 0.0;
        Integer Year = 0;
        String Title = null;
        String Language = null;
        Integer state=0;
        if (request.getParameter("ISBN") != null) {
            String ISBN = request.getParameter("ISBN");
            System.out.print(ISBN);
            Bookisbn = Long.parseLong(ISBN);
        }
        if (request.getParameter("Title") != null) {
            Title = request.getParameter("Title");
        }
        if (request.getParameter("Price") != null) {
            Price = Double.parseDouble(request.getParameter("Price"));
        }
        if (request.getParameter("Year") != null) {
            Year = Integer.parseInt(request.getParameter("Year"));
        }
        if (request.getParameter("Language") != null) {
            Language = request.getParameter("Language");
        }

        if ((Title != null) && (Price != 0) && (Bookisbn != null) && (Year != 0) && (Language != null)) {


            try {
                // here we create NewsEntity, that will be sent in JMS message
                Booksentity e = new Booksentity();
                e.setIsbn(Bookisbn);
                e.setTitle(Title);
                e.setPrice(Price);
                e.setBookyear(Year);
                e.setLanguage(Language);
                booksentityFacade.create(e);
                 state=0;

                response.sendRedirect("ListBook");

            } 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 insertBook</title>");
         
            out.println("<link rel='stylesheet' href='bootstrap.css' type='text/css'>");
            out.println("<link rel='stylesheet' href='bootstrap.min.css' type='text/css'>");
              out.println("<link rel='stylesheet' href='css/style.css' type='text/css'>");
            out.println("</head>");
            out.println("<body>");
            out.println(" <div id='header'>");
            out.println("<div class='clearfix'>");
            out.println("<div class='logo'>");
            out.println("<img src='images/logo.png' alt='LOGO' height='52' width='362'>");
            out.println(" </div>");
            out.println("   <ul class='navigation'>");
            out.println("<li><a href='index.jsp'>Home</a></li>");
            out.println("<li ><a href='ListBook'>List Books</a></li>");
            out.println("<li  class='active'><a href='insertBook'>Add New Book</a></li>");
            out.println("<li><a href='ListAuthor'>List Authors</a></li>");
            out.println("   </ul>");
            out.println(" </div>");
            out.println(" </div>");
            out.println(" <div id='contents'>");
            out.println(" <div class='clearfix' >");
           
            if(state==1){
               
                out.println("<div class='alert alert-danger'><a href='#' class='close' data-dismiss='alert'>&times; </a>");
            out.println("  <strong>Already Exist Book ISBN. Book Insertion Is Not Successfully..! </strong>");
            out.println(" </div>");
               
            }
           
           out.println("<h3><u><b>Add New Books</b></u> </h3>");

            out.println("<form class='form-horizonta' role='form'>");

            out.println("<fieldset><div class='form-group'>");
            out.println("<label for='ISBN' class='col-sm-2 control-label'>ISBN: </label><div class='col-sm-10'><input type='text' name='ISBN' placeholder='ISBN' required> </div></div></br>");

            out.println("<div class='form-group'>");
            out.println("<label for='Title' class='col-sm-2 control-label'>Book Title: </label><div class='col-sm-10'><input type='text' name='Title' placeholder='Book Title' required> </div></div></br>");

            out.println("<div class='form-group' >");
            out.println("<label for='Price' class='col-sm-2 control-label'>Price: </label><div class='col-sm-10'><input type='text' name='Price' placeholder='Price' required></div></div></br>");

            out.println("<div  class='form-group'>");
            out.println("<label for='Year' class='col-sm-2 control-label'>Year:</label><div class='col-sm-10'><input type='text' name='Year' placeholder='Year' required> </div></div></br>");

            out.println("<div  class='form-group'>");
            out.println("<label for='Language' class='col-sm-2 control-label'>Language:</label><div class='col-sm-10'><input type='text' name='Language' placeholder='Language' required> </div></div></br>");

            out.println("<div  class='form-group'><div class='col-sm-offset-2 col-sm-10'>");
            out.println("<button type='submit' class='btn btn-default'>Insert Book</button></div></div>");

            out.println("</fieldset></form>");
            out.println(" </div>");
            out.println(" </div>");
            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 web;

import ejb.Booksentity;
import ejb.BooksentityFacade;
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 = "updateBook", urlPatterns = {"/updateBook"})
public class updateBook extends HttpServlet {

    @EJB
    private BooksentityFacade booksentityFacade;

    /**
     * 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");
      
        Long Bookisbn = 0L;
        Double Price = 0.0;
        Integer Year = 0;
        String Title = null;
        String Language = null;
     
        if (request.getParameter("isbn") != null) {
            String ISBN = request.getParameter("isbn");
            System.out.print(ISBN);
            Bookisbn = Long.parseLong(ISBN);
        }
        if (request.getParameter("Title") != null) {
            Title = request.getParameter("Title");
        }
        if (request.getParameter("Price") != null) {
            Price = Double.parseDouble(request.getParameter("Price"));
        }
        if (request.getParameter("Year") != null) {
            Year = Integer.parseInt(request.getParameter("Year"));
        }
        if (request.getParameter("Language") != null) {
            Language = request.getParameter("Language");
        }

        if ((Title != null) && (Price != 0) && (Bookisbn != 0L) && (Year != 0) && (Language != null)) {


            try {
                // here we create NewsEntity, that will be sent in JMS message
                Booksentity e = new Booksentity();
                e.setIsbn(Bookisbn);
                e.setTitle(Title);
                e.setPrice(Price);
                e.setBookyear(Year);
                e.setLanguage(Language);
                booksentityFacade.edit(e);
                               
                response.sendRedirect("BookView?isbn=" + e.getIsbn() + "");

            } catch (Exception e) {
            
            }
        }
      
        PrintWriter out = response.getWriter();
        try {
            /*
             * TODO output your page here. You may use following sample code.
             */
            Long isbn = Long.parseLong(request.getParameter("isbn"));
            Booksentity book = new Booksentity();
            book = booksentityFacade.find(isbn);

            out.println("<html>");
            out.println("<head>");

            out.println("<title>Servlet updateBook</title>");
            out.println("<link rel='stylesheet' href='bootstrap.css' type='text/css'>");
            out.println("<link rel='stylesheet' href='bootstrap.min.css' type='text/css'>");
            out.println("<link rel='stylesheet' href='css/style.css' type='text/css'>");
            out.println("</head>");
            out.println("<body>");
            out.println(" <div id='header'>");
            out.println("<div class='clearfix'>");
            out.println("<div class='logo'>");
            out.println("<img src='images/logo.png' alt='LOGO' height='52' width='362'>");
            out.println(" </div>");
            out.println("   <ul class='navigation'>");
            out.println("<li><a href='index.jsp'>Home</a></li>");
            out.println("<li  class='active'><a href='ListBook'>List Books</a></li>");
            out.println("<li ><a href='insertBook'>Add New Book</a></li>");
            out.println("<li><a href='ListAuthor'>List Authors</a></li>");
            out.println("   </ul>");
            out.println(" </div>");
            out.println(" </div>");
            out.println(" <div id='contents'>");
            out.println(" <div class='clearfix' >");

            out.println(" <div class='sidebar' >");
            out.println(" <div>");
            out.println("<h2>Manage Book Details</h2>");

            out.println("<ul>");
            out.println("<li><a href='BookView?isbn=" + book.getIsbn() + "'> Book Details</a></li>");
            out.println("<li><a href='updateBook?isbn=" + book.getIsbn() + "'>Update Book Details</a></li>");
            out.println("<li><a href='UpdateAuthor?isbn=" + book.getIsbn() + "'>Update Author Details</a></li>");
            out.println("<li><a href='insertAuthor?isbn=" + book.getIsbn() + "'>Insert New Author</a></li>");
            out.println("</ul>");
            out.println(" </div>");

            out.println(" </div>");


            out.println(" <div class='main' >");
            out.println("<h1><u><b>Update Book Details</b></u> </h1>");

            out.println("<form class='form-horizonta' role='form'>");

            out.println("<fieldset><div class='form-group'>");
            out.println("<label for='ISBN' class='col-sm-3 control-label'>ISBN: </label><div ><label>" + book.getIsbn() + "</lable></div></div></br>");

            out.println("<div class='form-group'>");
            out.println("<label for='Title' class='col-sm-3 control-label'>Title: </label><div ><input value='" + book.getTitle() + "' type='text' name='Title' placeholder='Book Title' required> </div></div></br>");

            out.println("<div class='form-group' >");
            out.println("<label for='Price' class='col-sm-3 control-label'>Price: </label><div ><input value='" + book.getPrice() + "' type='text' name='Price' placeholder='Price' required></div></div></br>");

            out.println("<div  class='form-group'>");
            out.println("<label for='Year' class='col-sm-3 control-label'>Year:</label><div ><input value='" + book.getBookyear() + "' type='text' name='Year' placeholder='Year' required> </div></div></br>");

            out.println("<div  class='form-group'>");
            out.println("<label for='Language' class='col-sm-3 control-label'>Language:</label><div><input value='" + book.getLanguage() + "' type='text' name='Language' placeholder='Language' required> </div></div></br>");

            out.println("<div  class='form-group'><div class='col-sm-offset-3 '>");
            out.println("<button type='submit' class='btn btn-default'>Update Book</button></div></div>");
            out.println("<input value='" + book.getIsbn() + "' type='hidden' name='isbn' placeholder='ISBN' required> ");
            out.println("</fieldset></form>");
            out.println(" </div>");

            out.println(" </div>");
            out.println(" </div>");

            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>
}
-----------------------------------------------------------------------------------------------------