@LucasMega escreveu:
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
Mensagens: 3
Participantes: 2