Estou tentando elaborar uma aplicação Java EE. Nesta aplicação eu preciso ter um (comboBox) para selecionar um CD um TextField para colocar a quantidade de CD’s e quando selecionar o que quero colocar tudo dentro de um carrinho de compra. (Tabela)
Alguém consegue me ajudar?
ProjectWeb - JSP
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Barão Music</title>
</head>
<body>
<h5>Music</h5>
<form action="ServletProject" method="get">
<select name="code">
<c:forEach items="${catalog}" var="cd">
<option value="${cd.code}">${cd.title}</option>
</c:forEach>
</select>
<input type="text" name="amount" value="0" size="1">
<br>
<input type="submit" value="Add to cart">
</form>
<br>
<c:choose>
<c:when test="${emptyList eq true}">
<h4> Shopping cart is empty</h4>
</c:when>
<c:otherwise>
<table>
<tr>
<td>Title</td>
<td>Author</td>
<td>Money</td>
<td>Amount</td>
<td>Action</td>
</tr>
<c:forEach items="${car}" var="cd">
<tr>
<td>${cd.title}</td>
<td>${cd.author}</td>
<td>${cd.money}</td>
<td>${cd.amount}</td>
</tr>
</c:forEach>
</table>
</c:otherwise>
</c:choose>
</body>
</html>
ServletProject.java - Servlet
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.baraomusic.loja.webapp.bean.Item;
@WebServlet("/ServletProject")
public class ServletProject extends HttpServlet {
private static final long serialVersionUID = 1L;
public ServletProject() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//response.getWriter().append("Served at: ").append(request.getContextPath());
processRequest(request, response);//Chamando o ProjectWeb
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession sessao = request.getSession(); //Pega a sessao do request
ArrayList<Item> car = new ArrayList<Item>(); //ArrayList de Item para catálogo de carrinho de compras
ArrayList<Item> catalog = new ArrayList<Item>();
boolean emptyList = true;
Item item = new Item();
item = new Item(100, "Alex Skate Rock", "Alex", 45.90, 0);
catalog.add(item);
item = new Item(101, "Salomão do Reggae", "Salomão", 50.90, 0);
catalog.add(item);
item = new Item(102, "Diante do trono", "Patrícia", 60.0, 0);
catalog.add(item);
emptyList = car.isEmpty();
sessao.setAttribute("emptyList", emptyList);
sessao.setAttribute("car", car);
sessao.setAttribute("catalog", catalog);
response.sendRedirect("/ServletProjectTwo/ProjectWeb.jsp");
}
}
Adicionando no carrinho - Servlet
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.baraomusic.loja.webapp.bean.Item;
@WebServlet("/AdicionaItemServlet")
public class AdicionaItemServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public AdicionaItemServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
HttpSession sessao = request.getSession();
ArrayList<Item> list = (ArrayList<Item>) sessao.getAttribute("list");
ArrayList<Item> catalog = (ArrayList<Item>) sessao.getAttribute("catalog");
int amount = Integer.parseInt(request.getParameter("amount"));
int code = Integer.parseInt(request.getParameter("code"));
boolean emptyList = Boolean.parseBoolean(request.getParameter("emptyList"));
boolean itemAdded = false;
Item item = new Item();
for(Item temporaryOne: catalog){
if(temporaryOne.getCode() == code){
for(Item temporaryTwo: list){
if(temporaryTwo.getCode() == temporaryOne.getCode()){
temporaryTwo.setAmount(temporaryTwo.getAmount() + amount);
itemAdded = true;
}
}
if(!itemAdded && (amount != 0)){
item.setCode(temporaryOne.getCode());
item.setTitle(temporaryOne.getTitle());
item.setAuthor(temporaryOne.getAuthor());
item.setMoney(temporaryOne.getMoney());
item.setAmount(temporaryOne.getAmount());
list.add(item);
itemAdded = true;
}
}
}
emptyList = list.isEmpty();
sessao.setAttribute("emptyList", emptyList);
response.sendRedirect("/ServletProjectTwo/ProjectWeb");
}
}
Item - Classe java
package com.baraomusic.loja.webapp.bean;
public class Item {
private String CD;
private int amount;
private String music;
private String title;
private int code;
private String author;
private double modey;
public String getCD(){
return CD;
}
public void setCD(String CD){
this.CD = CD;
}
public int getAmount(){
return amount;
}
public void setAmount(int amount){
this.amount = amount;
}
public String getMusic(){
return music;
}
public void setMusic(String music){
this.music = music;
}
public String getTitle(){
return title;
}
public void setTitle(String title){
this.title = title;
}
public int getCode(){
return code;
}
public void setCode(int code){
this.code = code;
}
public String getAuthor(){
return author;
}
public void setAuthor(String author){
this.author = author;
}
public double getMoney(){
return modey;
}
public void setMoney(double money){
this.modey = money;
}
public Item(int code, String music, String author, double money, int amount){
this.code = code;
this.music = music;
this.author = author;
this.modey = money;
this.amount = amount;
}
public Item(){
super();
}
}
Problema
Out 20, 2016 9:44:20 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre7\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:\Program Files\IBM\WebSphere MQ\java\lib;C:\Program Files\IBM\WebSphere MQ\java\lib64;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0;C:\Program Files\IBM\Infoprint Select;C:\Program Files (x86)\IBM\Personal Communications;C:\Program Files (x86)\IBM\Trace Facility;C:\Program Files\IBM\WebSphere MQ\bin64;C:\Program Files\IBM\WebSphere MQ\bin;C:\Program Files\IBM\WebSphere MQ\tools\c\samples\bin;.
Out 20, 2016 9:44:20 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ‘source’ to ‘org.eclipse.jst.jee.server:ServletProjectTwo’ did not find a matching property.
Out 20, 2016 9:44:20 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler [“http-bio-8080”]
Out 20, 2016 9:44:20 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler [“ajp-bio-8009”]
Out 20, 2016 9:44:20 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 994 ms
Out 20, 2016 9:44:20 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Out 20, 2016 9:44:20 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.47
Out 20, 2016 9:44:21 PM org.apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [148] milliseconds.
Out 20, 2016 9:44:21 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(C:\Java.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ServletProjectTwo\WEB-INF\lib\javax.servlet-api-3.1.0.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Out 20, 2016 9:44:21 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(C:\Java.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ServletProjectTwo\WEB-INF\lib\javax.servlet.jsp.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/el/Expression.class
Out 20, 2016 9:44:21 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler [“http-bio-8080”]
Out 20, 2016 9:44:21 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler [“ajp-bio-8009”]
Out 20, 2016 9:44:21 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1075 ms