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'>× </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>
}
-----------------------------------------------------------------------------------------------------
No comments:
Post a Comment