Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

(Cigar Shop) Using JSP & JSTL + Java Servlet Use Cigar.java coded below 1) (crea

ID: 3858301 • Letter: #

Question

(Cigar Shop)

Using JSP & JSTL + Java Servlet

Use Cigar.java coded below

1) (createNewCigar.jsp) First page adds the cigar item to the inventory page (supply.jsp). A form to fill out including Name, Price, Image, and Information box.

2) (supply.jsp) Displays the list of added or created cigars. In addition, a button to create a new cigar.

3) (cart.jsp) Displays the list of cigars in cart. Including date-created, cigar name,image, and information, and a status drop-down option if the order is completed or not.

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;

    }

}

{createCigar.jsp}

aar Cigar 2

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