Problemet er at når jeg sender action BESTIL reloader shoppingServlet bare sig selv med indholdet af cart.jsp , men jeg vil have den til at gå til Kvittering.jsp istedet her er koden for min shoppingServlet. Har sendt alt den anden kode til sig Arne på din mail.
Lig mærke til næsten i bunden hvor funktion if(action=BESTIL), det er når den er færdig med denne eksikvering at den skal hoppe til Kvittering.jsp
-------------------------------------------------------------------------------
import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import test.dbConnect;
import java.net.*;
import java.sql.*;
import test.Book;
import java.util.ArrayList;
import test.showKvit;
public class ShoppingServlet extends HttpServlet {
public void init(ServletConfig conf) throws ServletException {
super.init(conf);
}
public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession(false);
if (session == null) {
response.sendRedirect("
http://localhost:8080/minApp/error.html");
}
Vector buylist = (Vector)session.getValue("test.shoppingcart");
String action = request.getParameter("action");
if (!action.equals("CHECKOUT")) {
if (action.equals("DELETE")) {
String del = request.getParameter("delindex");
int d = (new Integer(del)).intValue();
buylist.removeElementAt(d);
} else if (action.equals("ADD")) {
//any previous buys of same book?
boolean match=false;
Book aBook = getBook(request);
if (buylist==null) {
//add first book to the cart
buylist = new Vector(1000); //first order
buylist.add(aBook);
} else { // not first buy
System.err.println("buylist=" + buylist);
for (int i=0; i< buylist.size(); i++) {
Book book = (Book) buylist.elementAt(i);
if (book.getIsbn().equals(aBook.getIsbn())) {
book.setAntal(book.getAntal()+aBook.getAntal());
buylist.setElementAt(book,i);
match = true;
} //end of if name matches
} // end of for
if (!match)
buylist.addElement(aBook);
}
}
session.putValue("test.shoppingcart", buylist);
String url="/jsp/shopping/showBookSpec.jsp";
ServletContext sc = getServletContext();
RequestDispatcher rd = sc.getRequestDispatcher(url);
rd.forward(request, response);
} else if (action.equals("CHECKOUT")) {
float total =0;
for (int i=0; i< buylist.size();i++) {
Book anOrder = (Book) buylist.elementAt(i);
float pris= anOrder.getPris();
int antal = anOrder.getAntal();
total += (pris * antal);
}
total += 0.005;
String amount = new Float(total).toString();
int n = amount.indexOf('.');
amount = amount.substring(0,n+3);
request.setAttribute("amount",amount);
String url="/jsp/shopping/Checkout.jsp";
ServletContext sc = getServletContext();
RequestDispatcher rd = sc.getRequestDispatcher(url);
rd.forward(request,response);
}
if(action.equals("BESTIL")) {
int counter =0;
String name;
String lName;
String road;
String city;
String pnr;
String country;
String tlf;
String email;
String pay;
name = request.getParameter("NAME");
lName = request.getParameter("LNAME");
road = request.getParameter("ROAD");
city = request.getParameter("CITY");
pnr = request.getParameter("PNR");
country = request.getParameter("COUNTRY");
tlf = request.getParameter("TLF");
email = request.getParameter("EMAIL");
pay = request.getParameter("PAY");
try {
dbConnect dbc = new dbConnect();
Connection con = dbc.getConnection();
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT email FROM kunder WHERE email = '" + email + "'");
if(!rs.next()) {
rs.close();
int rs2 = stmt.executeUpdate("INSERT INTO kunder (navn, efternavn, vej, bynavn, postnummer, land, telefon, email) VALUES ('" + name + "', '" + lName + "', '" + road + "', '" + city + "', '" + pnr + "', '" + country + "', '" + tlf + "', '" + email + "')");
ArrayList per = new ArrayList();
person aperson = new person(name, lName, road, city, pnr, country, tlf, email);
System.err.println(aperson);
per.add(aperson);
stmt.close();
con.close();
}
} catch (Exception e) {
System.err.println(e);
}
}
}
private Book getBook(HttpServletRequest request) {
try {
dbConnect dbc = new dbConnect();
Connection con = dbc.getConnection();
Statement stmt = con.createStatement();
String myBook = request.getParameter("book");
String antal = request.getParameter("antal");
ResultSet rs = stmt.executeQuery("SELECT isbn, forfatter, titel, pris FROM boeger WHERE isbn = '" + myBook + "'");
rs.next();
Book book = new Book();
book.setForfatter(rs.getString(2));
book.setTitel(rs.getString(3));
book.setIsbn(rs.getString(1));
book.setPris((new Float(rs.getFloat(4))).floatValue());
book.setAntal((new Integer(antal)).intValue());
rs.close();
stmt.close();
return book;
} catch (Exception e) {
System.err.println(e);
return null;
}
}
}
-----------------------------------------------------------------