(Cigar Shop) Using JSP & JSTL + Java Servlet Use Cigar.java coded below Visually
ID: 3859136 • Letter: #
Question
(Cigar Shop) Using JSP & JSTL + Java Servlet Use Cigar.java coded below Visually the pages can look any way you would like. Use Cigar.java coded below 1) Create CigarOrderStatusesServlet.java 2) Create CigarOrderStatusesAdminServlet.java 3)Create CigarEditOrderStatusServlet.java 4) Create CigarCartServlet.java
public class Cigar {
public final int id;
public final String cigarName;
public final String information;
public Cigar (int id, String cigarName, String information) {
this.id = id;
this.cigarName = cigarName;
this.information = information;
}
public int getId() {
return id;
}
public String getName() {
return cigarName;
}
public String getInformation() {
return information; }
}
Explanation / Answer
The shopping Cart program in JSP is as follows. I tried to make it as simple as I can. Hope you'll like it.
CrtItemBeans.java
public class CrtItmBeans {
private String partNo;
private String strModelDesc;
private double prices;
private int quant;
private double ttlCst;
public String getPrtNo() {
return partNo;
}
public void setPrtNo(String partNo) {
this.partNo = partNo;
}
public String getMdl() {
return strModelDesc;
}
public void setMdl(String strModelDesc) {
this.strModelDesc = strModelDesc;
}
public double getUC() {
return prices;
}
public void setUC(double prices) {
this.prices = prices;
}
public int getQuant() {
return quant;
}
public void setQuant(int quantity) {
quant = quantity;
}
public double getTtl() {
return ttlCst;
}
public void setTtl(double ttlCst) {
this.ttlCst = ttlCst;
}
}
BeansForCart.java
import java.util.ArrayList;
public class BeansForCart {
private ArrayList crtItems = new ArrayList();
private double dbOrdTtl ;
public int getitemCnt() {
return crtItems.size();
}
public void delCrtItem(String indices) {
int iniceItem = 0;
try {
iniceItem = Integer.parseInt(indices);
crtItems.remove(iniceItem - 1);
OrderTtl();
} catch(NumberFormatException nf) {
System.out.println("Error while deleting cart item: "+nf.getMessage());
nf.printStackTrace();
}
}
public void alterCart(String indices, String quants) {
double ttlCst = 0.0;
double prices = 0.0;
int quant = 0;
int iniceItem = 0;
CrtItmBeans crtItm = null;
try {
iniceItem = Integer.parseInt(indices);
quant = Integer.parseInt(quants);
if(quant>0) {
crtItm = (CrtItmBeans)crtItems.get(iniceItem-1);
prices = crtItm.getUC();
ttlCst = prices*quant;
crtItm.setQuant(quant);
crtItm.setTtl(ttlCst);
OrderTtl();
}
} catch (NumberFormatException nf) {
System.out.println("Error while updating cart: "+nf.getMessage());
nf.printStackTrace();
}
}
public void addingItem(String mdll, String desc,
String units, String quants) {
double ttlCst = 0.0;
double prices = 0.0;
int quant = 0;
CrtItmBeans crtItm = new CrtItmBeans();
try {
prices = Double.parseDouble(units);
quant = Integer.parseInt(quants);
if(quant>0) {
ttlCst = prices*quant;
crtItm.setPrtNo(mdll);
crtItm.setMdl(desc);
crtItm.setUC(prices);
crtItm.setQuant(quant);
crtItm.setTtl(ttlCst);
crtItems.add(crtItm);
OrderTtl();
}
} catch (NumberFormatException nf) {
System.out.println("Error while parsing from String to primitive types: "+nf.getMessage());
nf.printStackTrace();
}
}
public void addingItem(CrtItmBeans crtItm) {
crtItems.add(crtItm);
}
public CrtItmBeans getCrt(int iniceItem) {
CrtItmBeans crtItm = null;
if(crtItems.size()>iniceItem) {
crtItm = (CrtItmBeans) crtItems.get(iniceItem);
}
return crtItm;
}
public ArrayList getCrts() {
return crtItems;
}
public void setCartItems(ArrayList crtItems) {
this.crtItems = crtItems;
}
public double getOrderCount() {
return dbOrdTtl;
}
public void setOrderTotal(double dbOrdTtl) {
this.dbOrdTtl = dbOrdTtl;
}
protected void OrderTtl() {
double dblTotal = 0;
for(int cnt=0;cnt<crtItems.size();cnt++) {
CrtItmBeans crtItm = (CrtItmBeans) crtItems.get(cnt);
dblTotal+=crtItm.getTtl();
}
setOrderTotal(dblTotal);
}
}
crtHandler.java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class crtHandler extends HttpServlet {
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
String act = req.getParameter("action");
if(act!=null && !act.equals("")) {
if(act.equals("add")) {
addCrt(req);
} else if (act.equals("Update")) {
alteringCrt(req);
} else if (act.equals("Delete")) {
deleteCart(req);
}
}
res.sendRedirect("../Shopping.jsp");
}
protected void deleteCart(HttpServletRequest req) {
HttpSession sess = req.getSession();
String indices = req.getParameter("itemIndice");
BeansForCart bfc = null;
Object objCrt = sess.getAttribute("cart");
if(objCrt!=null) {
bfc = (BeansForCart) objCrt ;
} else {
bfc = new BeansForCart();
}
bfc.delCrtItem(indices);
}
protected void alteringCrt(HttpServletRequest req) {
HttpSession sess = req.getSession();
String quants = req.getParameter("quantity");
String indices = req.getParameter("itemIndice");
BeansForCart bfc = null;
Object objCrt = sess.getAttribute("cart");
if(objCrt!=null) {
bfc = (BeansForCart) objCrt ;
} else {
bfc = new BeansForCart();
}
bfc.alterCart(indices, quants);
}
protected void addCrt(HttpServletRequest req) {
HttpSession sess = req.getSession();
String mdll = req.getParameter("modelNo");
String desc = req.getParameter("description");
String strPrice = req.getParameter("price");
String quants = req.getParameter("quantity");
BeansForCart bfc = null;
Object objCrt = sess.getAttribute("cart");
if(objCrt!=null) {
bfc = (BeansForCart) objCrt ;
} else {
bfc = new BeansForCart();
sess.setAttribute("cart", bfc);
}
bfc.addingItem(mdll, desc, strPrice, quants);
}
}
Modelling.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Model List</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><strong>Models
</strong></font></p>
<a href="/ShoppingCart.jsp" mce_href="ShoppingCart.jsp">View Cart</a>
<p/>
<table width="75%" border="1">
<tr>
<td><form name="modelDetail1" method="POST" action="servlet/crtHandler">
<font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Model:</strong>
TF-Model1</font><input type="hidden" name="modelNo" value="TF-MODEL1">
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Description:</strong>
imaginary model 1. </font><input type="hidden" name="description" value=" imaginary model 1."></p>
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Quantity:<input type="text" size="2" value="1" name="quantity"></strong></font></p>
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Price:</strong>
$10.00</font><input type="hidden" name="price" value="10"></p><input type="hidden" name="action" value="add"><input type="submit" name="addCrt" value="Add To Cart">
</form></td>
<td><form name="modelDetail2" method="POST" action="servlet/crtHandler"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Model</strong>:
TF-Model2 </font><input type="hidden" name="modelNo" value="TF-MODEL2">
<font face="Verdana, Arial, Helvetica, sans-serif">
<p><font size="2"><strong>Description</strong>: imaginary model
2. </font><input type="hidden" name="description" value=" imaginary model 2."></p>
<p><font size="2"><strong>Quantity</strong>: <input type="text" size="2" value="1" name="quantity"></font></p>
<p><font size="2"><strong>Price</strong>: $20.00<input type="hidden" name="price" value="20"></font></p>
<input type="hidden" name="action" value="add">
<input type="submit" name="addCrt" value="Add To Cart">
</font></form></td>
</tr>
<tr>
<td><form name="modelDetail3" method="POST" action="servlet/crtHandler"><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Model:</strong>
TF-Model3</font><input type="hidden" name="modelNo" value="TF-MODEL3"></p>
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Description:</strong>
imaginary model 3. </font><input type="hidden" name="description" value=" imaginary model 3."></p>
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Quantity:</strong></font> <input type="text" size="2" value="1" name="quantity"></p>
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Price: $30.00</strong></font><input type="hidden" name="price" value="30"></p> <input type="hidden" name="action" value="add">
<input type="submit" name="addCrt" value="Add To Cart">
</form></td>
<td><form name="modelDetail4" method="POST" action="servlet/crtHandler"><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Model</strong>:
TF-Model4</font><input type="hidden" name="modelNo" value="TF-MODEL4"></p>
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Description</strong>:
imaginary model 4. </font><input type="hidden" name="description" value=" imaginary model 4."></p>
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Quantity</strong>:</font> <input type="text" size="2" value="1" name="quantity"></p>
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Price</strong>: $40.00</font><input type="hidden" name="price" value="40"></p>
<input type="hidden" name="action" value="add"><input type="submit" name="addCrt" value="Add To Cart"></form></td>
</tr>
</table>
<p> </p>
</body>
</html>
Shopping.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Shopping Cart</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<p><font face="Verdana, Arial, Helvetica, sans-serif"><strong>Shopping Cart</strong></font></p>
<p><a href="/ModelList.jsp" mce_href="ModelList.jsp">Model List</a> </p>
<table width="75%" border="1">
<tr bgcolor="#CCCCCC">
<td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Model
Description</font></strong></td>
<td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Quantity</font></strong></td>
<td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Unit
Price</font></strong></td>
<td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Total</font></strong></td>
</tr>
<jsp:useBean id="cart" scope="sess" class="in.shoppingcart.beans.BeansForCart" />
<c:if test="${cart.lineItemCount==0}">
<tr>
<td colspan="4"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">- Cart is currently empty -<br/>
</tr>
</c:if>
<c:forEach var="crtItm" items="${cart.cartItems}" varStatus="cnt">
<form name="item" method="POST" action="servlet/crtHandler">
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><c:out value="${crtItm.partNumber}"/></b><br/>
<c:out value="${crtItm.modelDescription}"/></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><input type='hidden' name='itemIndice' value='<c:out value="${cnt.count}"/>'><input type='text' name="quantity" value='<c:out value="${crtItm.quantity}"/>' size='2'> <input type="submit" name="action" value="Update">
<br/> <input type="submit" name="action" value="Delete"></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">$<c:out value="${crtItm.unitCost}"/></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">$<c:out value="${crtItm.totalCost}"/></font></td>
</tr>
</form>
</c:forEach>
<tr>
<td colspan="2"> </td>
<td> </td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Subtotal: $<c:out value="${cart.orderTotal}"/></font></td>
</tr>
</table>
</body>
</html>
Hence, this is the complete code for the shopping cart in JSP and Servlet.
Please rate the answer if it helped.....Thankyou
Hope it helps....
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.