JSP-Implementierung des Einkaufsprogramms
Autor:Eve Cole
Aktualisierungszeit:2009-07-02 17:12:58
Das Folgende ist das Quellprogramm des Warenkorbs, den ich mit JSP und Datenbank erstellt habe:
Beachten:
1. Der Teil der Neuabrechnung ist noch nicht abgeschlossen, bitte erledigen Sie ihn selbst!
2. Die nächste Version wird mit Sitzung erstellt.
//shop_cart.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page session="true" %>
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="bka" Scope="page" class="shop.bka" />
<%
String Produkttyp;
String-Aktion;
int produkt_id;
int Curpage;
//Produkttyp
if (request.getParameter("product_type")==null){
product_type="all";
}anders{
product_type=request.getParameter("product_type");
}
//Seitennummer und Produkttypparameter, Sie können zur letzten Einkaufsseite zurückkehren, wenn Sie „Einkauf fortsetzen“
if (request.getParameter("curpage")==null){
curpage=1;
}anders{
curpage=java.lang.Integer.parseInt(request.getParameter("curpage"));
}
//Aktion
if (request.getParameter("action")==null){
action="view";
}anders{
action=request.getParameter("action");
}
//Artikelnummer
if (request.getParameter("product_id")==null){
Produkt_ID=0;
}anders{
product_id=java.lang.Integer.parseInt(request.getParameter("product_id"));
}
int bbb;
bbb=1;
Integer num = new Integer(bbb);
//Speichernummer
session.putValue("shop_id",num);
//Benutzername des Kunden
session.putValue("guest_name","asp2001");
String gastname=(String)session.getValue("gastname");
Integer shop_id=(Integer)session.getValue("shop_id");
java.lang.String sql;
java.sql.ResultSetrs;
if (action.compareTo("add")==0) {
sql="select cart_quantity from shop_cart where cart_shop_id=" + shop_id
+ " und warenkorb_gast_id='" + Gastname + "' und warenkorb_produkt_id=" + produkt_id ;
rs = bka.executeQuery(sql);
if (rs.next()){
int cart_quantity;
cart_quantity=java.lang.Integer.parseInt(rs.getString("cart_quantity"))+1;
sql="update shop_cart set cart_quantity=" + cart_quantity + " where cart_shop_id="
+ shop_id + " und warenkorb_gast_id='" + Gastname + "' und warenkorb_produkt_id=" + produkt_id ;
rs = bka.executeQuery(sql);}
anders
{
sql="insert into shop_cart (cart_shop_id,cart_guest_id,cart_product_id,cart_quantity) Werte ('" + shop_id + "','"
+ Gastname + "','" + Produkt-ID + "',1)";
rs = bka.executeQuery(sql);
}
}
if (action.compareTo("clear")==0) {
sql="delete from shop_cart where cart_shop_id=" + shop_id + " and cart_guest_id='" + Guest_name + "'";
rs = bka.executeQuery(sql);
}
if (action.compareTo("delete")==0) {
sql="delete from shop_cart where cart_shop_id=" + shop_id + " and cart_guest_id='"
+ Gastname + "' und Warenkorb_Produkt_ID=" + Produkt_ID ;
rs = bka.executeQuery(sql);
}
%>
<div align="center"><center>
<table border="0" cellpadding="0" cellpacing="0" width="610"
Höhe="2">
<tr>
<td><form method="POST"
action="shop_cart.jsp?action=update&product_type=<%=product_type%>&curp
age=<%=curpage%>">
<table border="0" cellpadding="0" cellpacing="0" width="610"
Höhe="2">
<tr>
<td width="122" height="7"><div align="center"><center><table
border="1" cellpadding="2" cellpacing="0" width="100%" bordercolorlight="#FFB468"
bordercolordark="#FFFFFF" bgcolor="#FFB468">
<tr>
<td width="100%"><div
align="center"><center><p>Warenkorb</td>
</tr>
</table>
</center></div></td>
<td width="122" height="7" style="border: medium"
align="center"><div align="center"><center><table
border="1" cellpadding="2" cellpacing="0" width="100%"
bordercolorlight="#FFB468"
bordercolordark="#FFFFFF" bgcolor="#FFB468">
<tr>
<td width="100%"><div align="center"><center><p><a
href="shop_list.jsp?shop_id=<%=shop_id%>&product_type=<%=product_type%>
&curpage=<%=curpage%>">Einkauf fortsetzen</a></td>
</tr>
</table>
</center></div></td>
<td width="122" height="7" style="border: medium"
align="center"><div align="center"><center><table
border="1" cellpadding="2" cellpacing="0" width="100%"
bordercolorlight="#FFB468"
bordercolordark="#FFFFFF" bgcolor="#FFB468">
<tr>
<td width="100%"><div align="center"><center><p><a
href="javascript: document.forms[0].submit()">Neuabrechnung</a></td>
</tr>
</table>
</center></div></td>
<td width="122" height="7" style="border: medium"
align="center"><div align="center"><center><table
border="1" cellpadding="2" cellpacing="0" width="100%"
bordercolorlight="#FFB468"
bordercolordark="#FFFFFF" bgcolor="#FFB468">
<tr>
<td width="100%"><div align="center"><center><p>
<a href="shop_cart.jsp?action=clear&product_type=<%=product_type%>&curpage=<%=curpage%>">Warenkorb löschen</a></td>
</tr>
</table>
</center></div></td>
<td width="122" height="7" style="border: medium" align="center"><div align="center"><center><table
border="1" cellpadding="2" cellpacing="0" width="100%" bordercolorlight="#FFB468"
bordercolordark="#FFFFFF" bgcolor="#FFB468">
<tr>
<td width="100%"><div align="center"><center><p><a href="shop_order.asp">Kauf bestätigen</a></td>
</tr>
</table>
</center></div></td>
</tr>
<tr align="center">
<td width="610" height="1" colspan="5"><div align="center"><center>
<table border="1" cellpadding="2" cellspacing="0" width="100%" bgcolor="#FDFEE2"
bordercolorlight="#FFB468" bordercolordark="#FFFFFF" height="40">
<tr>
<td width="20%" height="8" align="left">Produktname</td>
<td width="10%" height="8" align="left">Marktpreis</td>
<td width="10%" height="8" align="left">Sonderpreis</td>
<td width="10%" height="8" align="left">Menge</td>
<td width="14%" height="8" align="left">Zwischensumme</td>
<td width="12%" height="8" align="left">Einzahlungsquote</td>
<td width="17%" height="8" align="left">Zwischensumme einzahlen</td>
<td width="17%" height="8" align="left">Löschen</td>
</tr>
<%
sql="select shop_product.product_id,shop_product.product_name,shop_product.product_price,
shop_product.product_discount,shop_cart.cart_quantity,shop_product.product_first from shop_cart,shop_product where shop_cart.cart_shop_id=" + shop_id + " and shop_cart.cart_guest_id='" + Guest_name + "' and shop_cart.cart_product_id=shop_product.product_id";
rs = bka.executeQuery(sql);
int insgesamt;
int total_first;
gesamt=0;
total_first=0;
String Produktname;
int produkt_preis;
int product_discount;
int produkt_first;
int cart_quantity;
if (rs.next()){
while (rs.next()) {
product_id=java.lang.Integer.parseInt(rs.getString(1));
Produktname=rs.getString(2);
product_price=java.lang.Integer.parseInt(rs.getString(3));
product_discount=java.lang.Integer.parseInt(rs.getString(4));
cart_quantity=java.lang.Integer.parseInt(rs.getString(5));
product_first=java.lang.Integer.parseInt(rs.getString(6));
%>
<tr>
<td width="10%" height="1" align="left"><%=product_name%></td>
<td width="10%" height="1" align="left"><%=product_price%></td>
<td width="10%" height="1" align="left"><%=product_discount%></td>
<td width="10%" height="1" align="left"><input type="text" name="<%= "t" + product_id %>" size="3" value="<% =cart_quantity%>"></td>
<td width="14%" height="1" align="left"><%=product_discount*cart_quantity%></td>
<td width="12%" height="1" align="left"><%=product_first + "%"%></td>
<td width="17%" height="1" align="left"><%=product_first*product_discount*cart_quantity/100.0%></td>
<td width="17%" height="1"><div align="center"><center><p><a href="shop_cart.jsp?action=delete&product_id=<%=product_id%>">löschen </a></td>
</tr>
<%
total=total+product_discount*cart_quantity;
total_first=total_first+product_discount*cart_quantity*product_first/100;
}
%>
<tr align="center">
<td width="72%" colspan="6" height="16"><div align="right"><p>Gesamt</td>
<td width="36%" colspan="2" height="16"><div align="left"><%=total%></td>
</tr>
<tr align="center">
<td width="72%" colspan="6" height="16"><div align="right"><p>Gesamteinzahlung</td>
<td width="36%" colspan="2" height="16"><div align="left"><%=total_first%></td>
</tr>
<tr align="center">
<td width="72%" colspan="6" height="16"><div align="right"><p>Balance</td>
<td width="36%" colspan="2" height="16"><div align="left"><%=total-total_first%></td>
</tr>
</table>
</center></div>
<%
}anders{
%>
<p align="center">Warenkorb ist leer!</p>
<%
}
%>
Datenbankbetriebsteil
Das Programm verwendet zwei Tabellen:
1 shop_cart-Tabelle
cart_id int Warenkorbnummer, automatische Nummerierung
cart_shop_id nvarchar-Geschäftsnummer
cart_product_id nvarchar Produktnummer
cart_quantity int Produktmenge speichert vorübergehend Warenkorbdaten
2 shop_product-Tabelle
product_id int Produktnummer automatische Nummerierung
shop_id nvarchar Geschäftsnummer
Produktname nvarchar Produktname
product_bb nvarchar Produkteinführung
product_price int Marktpreis
product_discount int Rabattpreis
product_img img Bild
product_status nvarchar-Status
product_first int Einzahlungsverhältnis
Der Produkttyp „product_type“ von nvanchar speichert Produktdaten
Mit bka.java erstellte Javabeans: bka.class kann Operationen für die Datenbank bereitstellen.
Darüber hinaus muss bka.dsn im System-DSN der Zentrale registriert werden.
Dadurch kann JSP die SQL-Datenbank über JDBC-ODBC aufrufen.
Um Javabean auf der Seite aufzurufen, können Sie grundsätzlich die folgende Methode verwenden:
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="RegisterBean" Scope="page" class="shop.bka" />
<%
String sql="select * from xxx";
ResultSet rs = RegisterBean.executeQuery(sql);
if(rs.next()) {
rs.close();
RegisterBean.closeStmt();
session.putValue("register_message","doppelter Name gefunden!");
}
%>
Beachten Sie, dass RS nach Gebrauch geschlossen werden sollte.
Das Folgende ist das Quellprogramm von bka.java. Beachten Sie, dass Sie Javac verwenden müssen, um es vor der Verwendung in eine Klassendatei oder Javabean zu kompilieren.
--shop/bka.java--
Paketshop;
java.sql.* importieren;
öffentliche Klasse bka {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:bka";
Verbindungsverbindung = null;
ResultSet rs = null;
öffentliches bka() {
versuchen {
Class.forName(sDBDriver);
}
Catch(java.lang.ClassNotFoundException e) {
System.err.println("bka(): " + e.getMessage());
}
}
öffentliches ResultSetexecuteQuery(String sql) {
rs = null;
versuchen {
conn = DriverManager.getConnection(sConnStr,"xxx","yyy");
Anweisung stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
Catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
Rückkehr rs;
}
}