0% found this document useful (0 votes)
5 views19 pages

Product Management System Implementation

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views19 pages

Product Management System Implementation

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

HomeServlet (file Servlet)

protected void doGet(HttpServletRequest request, HttpServletResponse


response) throws ServletException, IOException {
// TODO Auto-generated method stub
EntityManagerFactory
ef=[Link]("an");
EntityManager em=[Link]();
List<Product> products=[Link]("from
Product").getResultList();
List<Category> cats=[Link]("from
Category").getResultList();
[Link]("products", products);
[Link]("cats", cats);
RequestDispatcher
rd=[Link]("/views/[Link]");
[Link](request, response);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
SaveServlet (file Servlet)
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// TODO Auto-generated method stub
String name=[Link]("name");
String description=[Link]("description");
String price=[Link]("price");
String cat=[Link]("cat");
Product p=new Product();
[Link](name);
[Link](description);
[Link]([Link](price));

EntityManagerFactory
ef=[Link]("an");
EntityManager em=[Link]();
[Link]().begin();
//Luu Doi tuong
Category c=[Link]([Link],[Link](cat));
[Link](c);
[Link](p);

[Link]().commit();
RequestDispatcher rd=[Link]("home");
[Link](request, response);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
DeleteServlet (file Servlet)
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// TODO Auto-generated method stub

int id=[Link]([Link]("product_id"));
EntityManagerFactory
ef=[Link]("an");
EntityManager em=[Link]();
[Link]().begin();
Product b=[Link]([Link],id);
if(b!=null) {
[Link](b);
}
[Link]().commit();
RequestDispatcher rd=[Link]("home");
[Link](request, response);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
Product
@Entity
@Table(name = "PRODUCT")
public class Product {
@Id
@GeneratedValue (strategy = [Link])
private int product_id;
private String name;
private String description;
private float price;

@ManyToOne
@JoinColumn(name = "category_id")
private Category category;

public Product(String name, String description, float price, Category


category) {
super();
[Link] = name;
[Link] = description;
[Link] = price;
[Link] = category;
}

public Product() {
super();
}

public int getProduct_id() {


return product_id;
}

public void setProduct_id(int product_id) {


this.product_id = product_id;
}

public String getName() {


return name;
}

public void setName(String name) {


[Link] = name;
}

public String getDescription() {


return description;
}

public void setDescription(String description) {


[Link] = description;
}

public float getPrice() {


return price;
}

public void setPrice(float price) {


[Link] = price;
}

public Category getCategory() {


return category;
}

public void setCategory(Category category) {


[Link] = category;
}

@Override
public String toString() {
return "Product [name=" + name + "]";
}
Category
@Entity
@Table(name = "CATEGORY")
public class Category {
@Id
@GeneratedValue(strategy = [Link])
private int category_id;
private String name;

@OneToMany(mappedBy = "category", cascade = [Link],fetch =


[Link])
private List<Product> products;

public Category(String name, List<Product> products) {


super();
[Link] = name;
[Link] = products;
}

public Category() {
super();
}
public int getCategory_id() {
return category_id;
}

public void setCategory_id(int category_id) {


this.category_id = category_id;
}

public String getName() {


return name;
}

public void setName(String name) {


[Link] = name;
}

public List<Product> getProducts() {


return products;
}

public void setProducts(List<Product> products) {


[Link] = products;
}

@Override
public String toString() {
return "Category [name=" + name + "]";
}

Bước 1 : Chạy Wamp Sever, vào phpmyadmin rồi import file sql vừa giao , mở Eclipse lưu ổ E

Bước 2 : Cài server chọn Tomcat v9.0 ( chọn địa chỉ apache ), vào Window -> WebBroswer -> Chrome
Bước 3: Tạo Dynamic Web Project ( TranMinhTrung_DH52006618) ver 4.0, tick Generate [Link]
Bước 4 : Nhét các thư viện sau đây vào folder lib ở WEB-INF
mysql-connector-java-8.0.30
jstl-api-1.2
jstl-impl-1.2
toàn bộ thư viện trong hibernate 5.6.5

Bước 5: Tạo package : model và controller và folder META-INF ở folder src, sau đó copy file
[Link] vào folder META-INF vừa tạo

Bước 6: sửa lại :


<persistence-unit name="trung" transaction-type="RESOURCE_LOCAL">

<class>[Link]</class> theo tên file java class vừa tạo trong model

<property name="[Link]" value="jdbc:mysql://localhost:3306/bookdb"/>


sửa lại theo tên database vừa tạo
Bước 7: tạo class [Link] ( sửa tên theo database ) trong model sau đó chèn vào :
import [Link].*;
import [Link].*;

@Entity
public class Book {
@Id
@GeneratedValue(strategy = [Link])
private int id;
private String title;
private String author;
private float price;
}
Sửa lại theo giá trị trong database, sau đó chuột phải vào click Source ->
- Generate Contrustor using fields ( select all ) -> enter
- Generate Contrustor using fields ( deselect all ) -> enter
- Generate Getter and Setter ( select all ) -> enter
- Generate toString -> enter
-Generate hashCode() and equal ( chỉ tick id (khóa chính trong bảng ) )

Bước 8 : tạo [Link] trong controller sau đó import :


import [Link].*;
import [Link].*;

EntityManagerFactory ef= [Link]("trung");
EntityManager em = [Link]();

Nếu chạy không lỗi thì tới bước này đã thành công
Bước 9: tạo HomeServlet trong folder controller sau đó chỉnh mappings thành /home
chạy run on sever, nếu chạy dc không lỗi thì thành công , nhét vào( đánh bằng tay ) sau void doGet :
EntityManagerFactory ef= [Link]("trung");
EntityManager em = [Link]();
//Lay danh sach book
List<Book> listb = [Link]("from Book").getResultList();
//dong goi ( nho them “s” vao books )
[Link]("books", listb);
//chuyen huong
RequestDispatcher rd=[Link]("[Link]");
[Link](request, response);

Bước 10: tạo [Link] ở folder WebContent


Nhét vào phần đầu :

<%@ taglib uri="[Link] prefix="c" %>


<%@ taglib uri="[Link] prefix="fmt" %>

Nhét vào phần body:

<body>
<h1>DANH SACH BOOKS </h1>
<table>
<tr>
<th>ID</th>
<th>TITLE</th>
<th>AUTHOR</th>
<th>PRICE</th>
<th>DELETE</th>
<th>EDIT</th>
</tr>

<c:forEach items ="${books}" var="x">


<tr>
<td>${[Link]}</td>
<td>${[Link]}</td>
<td>${[Link]}</td>
<td>${[Link]}</td>
<td><a href="delete?id=${[Link]}">Delete</a></td>
<td><a href="edit?id=${[Link]}">Edit</a></td>
</tr>
</c:forEach>

</table>
</body>

Chạy thử

Bước 11 : Tạo DeleteServlet ở package controller ( chỉnh mapping thành /delete ), nhét vào sau doGet

String id = [Link]("id");// Thay id và idd


int idd = [Link](id);

EntityManagerFactory ef= [Link]("trung");


EntityManager em = [Link]();
[Link]().begin();

Book b=[Link]([Link], idd); //Thay Book và idd


[Link](b); //Thay thế b
[Link]().commit();
//chuyen huong
RequestDispatcher rd=[Link]("home");//Quan trong home
[Link](request, response);

sau đó import vào khúc này :


import [Link];
import [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

import [Link];

nếu bị lỗi thì sửa khúc này Book b=[Link]([Link], idd); ( sửa thành Book model và import [Link];
)

Bước 12: chèn vào trên danh sách book ở [Link] :


<fieldset>
<legend>Form thêm sách </legend>
<form action = "save">
TITLE :<br>
<input type="text" name="title" value =""/> <br>
AUTHOR : <br>
<input type="text" name="author" value =""/> <br>
PRICE :<br>
<input type="text" name="price" value =""/> <br>
<input type="submit" value="Save"/>
</form>
</fieldset>

Bước 13: tạo SaveServlet ở controller package và chỉnh mapping thành /save , nhét vào sau doGet :

String title = [Link]("title");// Thay title


String author = [Link]("author");// Thay author

String price = [Link]("price");// Thay price


float prices = [Link](price);// nhớ thêm s vào price

EntityManagerFactory ef= [Link]("trung");


EntityManager em = [Link]();
[Link]().begin();

Book b = new Book(); // nho viet hoa theo class trong model
[Link](title);
[Link](author);
[Link](prices); // nho them s vao price

[Link](b); //nho thay b

[Link]().commit();
//chuyen huong
RequestDispatcher rd=[Link]("home");//Quan trong home
[Link](request, response);

sau đó chạy thử

Bước 14: Tạo EditServlet và chỉnh mapping thành /edit , sau đó nhét vào sau doGet :

String id = [Link]("id");// Thay id và idd


int idd = [Link](id);

EntityManagerFactory ef= [Link]("trung");


EntityManager em = [Link]();
[Link]().begin();

Book b=[Link]([Link], idd); //Thay Book và idd


[Link]("book", b); // book ko co s
[Link]().commit();
//chuyen huong
RequestDispatcher rd=[Link]("[Link]");//Chinh thanh [Link]
[Link](request, response);
}

nhét import vào :


import [Link];
import [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

import [Link];

Bước 15 : Tạo file [Link] trong folder WebContent


thêm vào phần đầu :
<%@ taglib uri="[Link] prefix="c" %>
<%@ taglib uri="[Link] prefix="fmt" %>

thêm vào phần sau body :


<c:set value ="${book }" var="bold" scope ="session"></c:set>
<fieldset>
<legend>Form EDIT sách </legend>
<form action = "update">
TITLE :<br>
<input type="text" name="title" value ="${[Link]}"/> <br>
AUTHOR : <br>
<input type="text" name="author" value ="${[Link]}"/> <br>
PRICE :<br>
<input type="text" name="price" value ="${[Link]}"/> <br>
<input type="submit" value="Update"/>
</form>
</fieldset>

Bước 16 : tạo file UpdateServlet và chỉnh mapping thành /update , sau đó nhét vào sau doGet:
String title = [Link]("title");// Thay title
String author = [Link]("author");// Thay author

String price = [Link]("price");// Thay price


float prices = [Link](price);// nhớ thêm s vào price

HttpSession session =[Link]();


Book bold = (Book) [Link]("bold"); // nhớ đổi bold

EntityManagerFactory ef= [Link]("trung");


EntityManager em = [Link]();
[Link]().begin();

[Link](title);
[Link](author);
[Link](prices); // nho them s vao price

[Link](bold); //nho thay bold

[Link]().commit();
//chuyen huong
RequestDispatcher rd=[Link]("home");//Quan trong home
[Link](request, response);

và import vào :
import [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

[Link] :
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="[Link] prefix="c" %>
<%@ taglib uri="[Link] prefix="fmt" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<fieldset>
<legend>Form thêm sách </legend>
<form action = "save">
TITLE :<br>
<input type="text" name="title" value =""/> <br>
AUTHOR : <br>
<input type="text" name="author" value =""/> <br>
PRICE :<br>
<input type="text" name="price" value =""/> <br>
<input type="submit" value="Save"/>
</form>
</fieldset>

<h1>DANH SACH BOOKS </h1>


<table>
<tr>
<th>ID</th>
<th>TITLE</th>
<th>AUTHOR</th>
<th>PRICE</th>
<th>DELETE</th>
<th>EDIT</th>
</tr>

<c:forEach items ="${books}" var="x">


<tr>
<td>${[Link]}</td>
<td>${[Link]}</td>
<td>${[Link]}</td>
<td>${[Link]}</td>
<td><a href="delete?id=${[Link]}">Delete</a></td>
<td><a href="edit?id=${[Link]}">Edit</a></td>
</tr>
</c:forEach>

</table>
</body>

</html>

[Link]:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="[Link] prefix="c" %>
<%@ taglib uri="[Link] prefix="fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:set value ="${book }" var="bold" scope ="session"></c:set>
<fieldset>
<legend>Form EDIT sách </legend>
<form action = "update">
TITLE :<br>
<input type="text" name="title" value ="${[Link]}"/> <br>
AUTHOR : <br>
<input type="text" name="author" value ="${[Link]}"/> <br>
PRICE :<br>
<input type="text" name="price" value ="${[Link]}"/> <br>
<input type="submit" value="Update"/>
</form>
</fieldset>
</body>
</html>

[Link] :
package controller;

import [Link];
import [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

import [Link];

/**
* Servlet implementation class HomeServlet
*/
@WebServlet("/home")
public class HomeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public HomeServlet() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
EntityManagerFactory ef=
[Link]("trung");
EntityManager em = [Link]();
List<Book> listb = [Link]("from Book").getResultList();

[Link]("books", listb);
RequestDispatcher rd =[Link]("[Link]");
[Link](request, response);

/**
* @see HttpServlet#doPost(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}

[Link] :

package controller;

import [Link];
import [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

import [Link];

/**
* Servlet implementation class DeleteServlet
*/
@WebServlet("/delete")
public class DeleteServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public DeleteServlet() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String id = [Link]("id");// Thay id và idd
int idd = [Link](id);

EntityManagerFactory ef= [Link]("trung");


EntityManager em = [Link]();
[Link]().begin();

Book b=[Link]([Link], idd); //Thay Book và idd


[Link](b); //Thay thế b
[Link]().commit();
//chuyen huong
RequestDispatcher rd=[Link]("home");//Quan trong home
[Link](request, response);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}

[Link] :
package controller;

import [Link];
import [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

import [Link];

/**
* Servlet implementation class EditServlet
*/
@WebServlet("/edit")
public class EditServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public EditServlet() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
String id = [Link]("id");// Thay id và idd
int idd = [Link](id);

EntityManagerFactory ef=
[Link]("trung");
EntityManager em = [Link]();
[Link]().begin();

Book b=[Link]([Link], idd); //Thay Book và idd


[Link]("book", b); // book ko co s
[Link]().commit();
//chuyen huong
RequestDispatcher
rd=[Link]("[Link]");//Chinh thanh [Link]
[Link](request, response);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}

[Link]:
package controller;

import [Link];
import [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

import [Link];

/**
* Servlet implementation class SaveServlet
*/
@WebServlet("/save")
public class SaveServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public SaveServlet() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String title = [Link]("title");// Thay title
String author = [Link]("author");// Thay author

String price = [Link]("price");// Thay price


float prices = [Link](price);// nhớ thêm s vào price

EntityManagerFactory ef= [Link]("trung");


EntityManager em = [Link]();
[Link]().begin();

Book b = new Book(); // nho viet hoa theo class trong model
[Link](title);
[Link](author);
[Link](prices); // nho them s vao price

[Link](b); //nho thay b

[Link]().commit();
//chuyen huong
RequestDispatcher rd=[Link]("home");//Quan trong home
[Link](request, response);

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}

[Link] :
package controller;

import [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

import [Link];

/**
* Servlet implementation class UpdateServlet
*/
@WebServlet("/update")
public class UpdateServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public UpdateServlet() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
String title = [Link]("title");// Thay title
String author = [Link]("author");// Thay author

String price = [Link]("price");// Thay price


float prices = [Link](price);// nhớ thêm s vào price

HttpSession session =[Link]();


Book bold = (Book) [Link]("bold"); // nhớ đổi bold

EntityManagerFactory ef=
[Link]("trung");
EntityManager em = [Link]();
[Link]().begin();

[Link](title);
[Link](author);
[Link](prices); // nho them s vao price

[Link](bold); //nho thay bold

[Link]().commit();
//chuyen huong
RequestDispatcher rd=[Link]("home");//Quan
trong home
[Link](request, response);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}

You might also like