jsp implementasi program belanja
Penulis:Eve Cole
Waktu Pembaruan:2009-07-02 17:12:58
Berikut ini source program keranjang belanja yang saya buat menggunakan JSP dan database:
Melihat:
1. Bagian penagihan ulang belum selesai, silakan lakukan sendiri!
2. Versi selanjutnya akan dilakukan menggunakan session.
//toko_keranjang.jsp
<%@ halaman contentType="teks/html;charset=gb2312"%>
<%@ halaman sesi="benar" %>
<%@ halaman bahasa="java" import="java.sql.*" %>
<jsp:useBean id="bka" scope="page" class="shop.bka" />
<%
String tipe_produk;
Aksi string;
int id_produk;
int pengurangan;
//Jenis produk
if (request.getParameter("product_type")==null){
product_type="semua";
}kalau tidak{
product_type=request.getParameter("product_type");
}
//Parameter nomor halaman dan jenis produk, Anda dapat kembali ke halaman belanja terakhir ketika "lanjutkan berbelanja"
if (request.getParameter("curpage")==null){
batas waktu=1;
}kalau tidak{
curpage=java.lang.Integer.parseInt(request.getParameter("curpage"));
}
//tindakan
if (permintaan.getParameter("aksi")==null){
tindakan="lihat";
}kalau tidak{
tindakan=permintaan.getParameter("aksi");
}
//Nomor barang
if (permintaan.getParameter("product_id")==null){
id_produk=0;
}kalau tidak{
product_id=java.lang.Integer.parseInt(request.getParameter("product_id"));
}
ke dalam bbb;
bbb=1;
Bilangan bulat = Bilangan bulat baru(bbb);
//nomor toko
session.putValue("shop_id",angka);
//Nama pengguna pelanggan
session.putValue("nama_tamu","asp2001");
String nama_tamu=(String)sesi.getValue("nama_tamu");
Integer shop_id=(Bilangan Bulat)session.getValue("shop_id");
java.lang.String sql;
java.sql.ResultSetrs;
if (action.compareTo("add")==0) {
sql="pilih cart_quantity dari shop_cart di mana cart_shop_id=" + shop_id
+ " dan cart_guest_id='" + nama_tamu + "' dan cart_product_id=" + product_id ;
rs = bka.executeQuery(sql);
if (rs.berikutnya()){
int jumlah_keranjang;
cart_quantity=java.lang.Integer.parseInt(rs.getString("cart_quantity"))+1;
sql="perbarui shop_cart set cart_quantity=" + cart_quantity + " di mana cart_shop_id="
+ shop_id + " dan cart_guest_id='" + nama_tamu + "' dan cart_product_id=" + product_id ;
rs = bka.executeQuery(sql);}
kalau tidak
{
sql="masukkan ke dalam nilai shop_cart (cart_shop_id,cart_guest_id,cart_product_id,cart_quantity) ('" + shop_id + "','"
+ nama_tamu + "','" + id_produk + "',1)";
rs = bka.executeQuery(sql);
}
}
if (action.compareTo("clear")==0) {
sql="hapus dari shop_cart di mana cart_shop_id=" + shop_id + " dan cart_guest_id='" + nama_tamu + "'";
rs = bka.executeQuery(sql);
}
if (action.compareTo("delete")==0) {
sql="hapus dari shop_cart di mana cart_shop_id=" + shop_id + " dan cart_guest_id='"
+ nama_tamu + "' dan cart_product_id=" + product_id ;
rs = bka.executeQuery(sql);
}
%>
<div align="pusat"><pusat>
<tabel border="0" cellpadding="0" Cellspacing="0" width="610"
tinggi="2">
<tr>
<td><metode formulir="POSTING"
action="shop_cart.jsp?action=update&product_type=<%=product_type%>&curp
usia=<%=curpage%>">
<tabel border="0" cellpadding="0" Cellspacing="0" width="610"
tinggi="2">
<tr>
<td width="122" height="7"><div align="center"><center><table
border="1" cellpadding="2" Cellspacing="0" width="100%" bordercolorlight="#FFB468"
bordercolordark="#FFFFFF" bgcolor="#FFB468">
<tr>
<td lebar="100%"><div
align="center"><center><p>Keranjang Belanja</td>
</tr>
</tabel>
</center></div></td>
<td lebar="122" tinggi="7" style="batas: sedang"
align="center"><div align="center"><center><tabel
border="1" cellpadding="2" spasi sel="0" lebar="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%>">Lanjutkan berbelanja</a></td>
</tr>
</tabel>
</center></div></td>
<td lebar="122" tinggi="7" style="batas: sedang"
align="center"><div align="center"><center><tabel
border="1" cellpadding="2" spasi sel="0" lebar="100%"
bordercolorlight="#FFB468"
bordercolordark="#FFFFFF" bgcolor="#FFB468">
<tr>
<td width="100%"><div align="center"><center><p><a
href="javascript: document.forms[0].submit()">Penagihan ulang</a></td>
</tr>
</tabel>
</center></div></td>
<td lebar="122" tinggi="7" style="batas: sedang"
align="center"><div align="center"><center><tabel
border="1" cellpadding="2" spasi sel="0" lebar="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%>">Hapus keranjang belanja</a></td>
</tr>
</tabel>
</center></div></td>
<td width="122" height="7" style="border: medium" align="center"><div align="center"><center><tabel
border="1" cellpadding="2" Cellspacing="0" width="100%" bordercolorlight="#FFB468"
bordercolordark="#FFFFFF" bgcolor="#FFB468">
<tr>
<td width="100%"><div align="center"><center><p><a href="shop_order.asp">Konfirmasi pembelian</a></td>
</tr>
</tabel>
</center></div></td>
</tr>
<tr menyelaraskan="tengah">
<td width="610" height="1" colspan="5"><div align="center"><center>
<tabel border="1" cellpadding="2" Cellspacing="0" width="100%" bgcolor="#FDFEE2"
bordercolorlight="#FFB468" bordercolordark="#FFFFFF" height="40">
<tr>
<td width="20%" height="8" align="left">Nama produk</td>
<td width="10%" height="8" align="left">Harga pasar</td>
<td width="10%" height="8" align="left">Harga spesial</td>
<td width="10%" height="8" align="left">Jumlah</td>
<td width="14%" height="8" align="left">Subtotal</td>
<td width="12%" height="8" align="left">Rasio setoran</td>
<td width="17%" height="8" align="left">Subtotal setoran</td>
<td width="17%" height="8" align="left">Hapus</td>
</tr>
<%
sql="pilih toko_produk.product_id,toko_produk.nama_produk,toko_produk.harga_produk,
shop_product.product_discount,shop_cart.cart_quantity,shop_product.product_first dari shop_cart,shop_product dimana shop_cart.cart_shop_id=" + shop_id + " dan shop_cart.cart_guest_id='" + nama_tamu + "' dan shop_cart.cart_product_id=shop_product.product_id";
rs = bka.executeQuery(sql);
totalnya;
int total_pertama;
jumlah=0;
total_pertama=0;
String nama_produk;
int harga_produk;
int diskon_produk;
int produk_pertama;
int jumlah_keranjang;
if (rs.berikutnya()){
while (rs.next()) {
product_id=java.lang.Integer.parseInt(rs.getString(1));
nama_produk=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"><%=nama_produk%></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="<% =keranjang_kuantitas%>"></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%>">hapus </a></td>
</tr>
<%
total=total+diskon_produk*jumlah_keranjang;
total_pertama=total_pertama+diskon_produk*jumlah_keranjang*produk_pertama/100;
}
%>
<tr menyelaraskan="tengah">
<td width="72%" colspan="6" height="16"><div align="right"><p>Jumlah</td>
<td width="36%" colspan="2" height="16"><div align="left"><%=total%></td>
</tr>
<tr menyelaraskan="tengah">
<td width="72%" colspan="6" height="16"><div align="right"><p>Total setoran</td>
<td width="36%" colspan="2" height="16"><div align="left"><%=total_first%></td>
</tr>
<tr menyelaraskan="tengah">
<td width="72%" colspan="6" height="16"><div align="right"><p>Saldo</td>
<td width="36%" colspan="2" height="16"><div align="left"><%=total-total_first%></td>
</tr>
</tabel>
</center></div>
<%
}kalau tidak{
%>
<p align="center">Keranjang belanja kosong!</p>
<%
}
%>
Bagian operasi basis data
Program ini menggunakan dua tabel:
1 meja belanja_keranjang
cart_id int Nomor keranjang belanja penomoran otomatis
cart_shop_id nomor toko nvarchar
cart_product_id nomor produk nvarchar
cart_quantity int Jumlah produk menyimpan data keranjang belanja untuk sementara
2 tabel toko_produk
product_id int nomor produk penomoran otomatis
shop_id nomor toko nvarchar
nama_produk nvarchar nama produk
product_bb pengenalan produk nvarchar
harga_produk ke dalam harga pasar
product_discount ke dalam harga diskon
gambar produk_img img
status_produk status nvarchar
produk_rasio setoran int pertama
product_type tipe produk nvanchar menyimpan data produk
Javabeans yang dibuat menggunakan bka.java: bka.class dapat menyediakan operasi pada database.
Selain itu, bka.dsn perlu didaftarkan di sistem DSN panel kontrol.
Hal ini memungkinkan JSP untuk memanggil database sql melalui JDBC-ODBC.
Untuk memanggil javabean di halaman tersebut, pada dasarnya Anda dapat menggunakan metode berikut:
<%@ halaman bahasa="java" import="java.sql.*" %>
<jsp:useBean id="RegisterBean" scope="page" class="shop.bka" />
<%
String sql="pilih * dari xxx";
ResultSet rs = RegisterBean.executeQuery(sql);
if(rs.next()) {
rs.close();
DaftarBean.closeStmt();
session.putValue("register_message","duplikat nama ditemukan!");
}
%>
Perhatikan bahwa rs harus ditutup setelah digunakan.
Berikut ini adalah source program bka.java. Perhatikan bahwa Anda perlu menggunakan javac untuk mengkompilasinya menjadi file kelas atau javabean sebelum digunakan.
--toko/bka.java--
toko paket;
impor java.sql.*;
kelas publik bka {
String sDBDriver = "matahari.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:bka";
Sambungan koneksi = null;
HasilSet rs = null;
bka publik() {
mencoba {
Kelas.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("bka(): " + e.getMessage());
}
}
publik ResultSet mengeksekusiQuery(String sql) {
rs = nol;
mencoba {
samb = DriverManager.getConnection(sConnStr,"xxx","yyy");
Pernyataan stmt = samb.createStatement();
rs = stmt.executeQuery(sql);
}
menangkap(SQLException contoh) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
kembalikan rs;
}
}