jsp การนำโปรแกรมชอปปิ้งไปใช้
ผู้เขียน:Eve Cole
เวลาอัปเดต:2009-07-02 17:12:58
ต่อไปนี้เป็นโปรแกรมต้นฉบับของตะกร้าสินค้าที่ฉันทำโดยใช้ JSP และฐานข้อมูล:
สังเกต:
1. ส่วนการเรียกเก็บเงินใหม่ยังไม่เสร็จสมบูรณ์ โปรดดำเนินการด้วยตนเอง!
2. เวอร์ชันถัดไปจะดำเนินการโดยใช้เซสชัน
//shop_cart.jsp
<%@ หน้า contentType="text/html;charset=gb2312"%>
<%@ เซสชันเพจ = "true" %>
<%@ ภาษาหน้า = "java" import = "java.sql.*" %>
<jsp:useBean id="bka" scope="page" class="shop.bka" />
-
สตริง product_type;
การกระทำของสตริง;
int product_id;
เคอร์เพจ int;
//ประเภทสินค้า
ถ้า (request.getParameter("product_type")==null){
product_type="ทั้งหมด";
}อื่น{
product_type=request.getParameter("product_type");
-
//หมายเลขหน้าและพารามิเตอร์ประเภทผลิตภัณฑ์ คุณสามารถกลับไปยังหน้าช็อปปิ้งสุดท้ายได้เมื่อ "ช็อปปิ้งต่อ"
ถ้า (request.getParameter("curpage")==null){
เคอร์เพจ=1;
}อื่น{
curpage=java.lang.Integer.parseInt(request.getParameter("curpage"));
-
//การกระทำ
ถ้า (request.getParameter("การกระทำ")==null){
การกระทำ = "ดู";
}อื่น{
action=request.getParameter("การกระทำ");
-
//หมายเลขรายการ
ถ้า (request.getParameter("product_id")==null){
product_id=0;
}อื่น{
product_id=java.lang.Integer.parseInt(request.getParameter("product_id"));
-
อินท์ บีบีบี;
บีบีบี=1;
จำนวนเต็ม num = จำนวนเต็มใหม่ (bbb);
//เลขที่ร้าน
session.putValue("shop_id",num);
//ชื่อผู้ใช้ของลูกค้า
session.putValue("แขก_ชื่อ", "asp2001");
สตริง guest_name=(สตริง)session.getValue("guest_name");
จำนวนเต็ม shop_id=(จำนวนเต็ม)session.getValue("shop_id");
java.lang.String sql;
java.sql.ResultSetrs;
ถ้า (action.compareTo("เพิ่ม")==0) {
sql="เลือก cart_quantity จาก shop_cart โดยที่ cart_shop_id=" + shop_id
+ " และ cart_guest_id='" + guest_name + "' และ cart_product_id=" + product_id ;
rs = bka.executeQuery(sql);
ถ้า (rs.next()){
int cart_quantity;
cart_quantity=java.lang.Integer.parseInt(rs.getString("cart_quantity"))+1;
sql = "อัปเดต shop_cart set cart_quantity = " + cart_quantity + " โดยที่ cart_shop_id = "
+ shop_id + " และ cart_guest_id='" + guest_name + "' และ cart_product_id=" + product_id ;
อาร์เอส = bka.executeQuery(sql);}
อื่น
-
sql="ใส่ลงใน shop_cart (cart_shop_id,cart_guest_id,cart_product_id,cart_quantity) ค่า ('" + shop_id + "','"
+ ชื่อแขก + "','" + product_id + "',1)";
rs = bka.executeQuery(sql);
-
-
ถ้า (action.compareTo("ชัดเจน")==0) {
sql="ลบจาก shop_cart โดยที่ cart_shop_id=" + shop_id + " และ cart_guest_id='" + guest_name + "'";
rs = bka.executeQuery(sql);
-
ถ้า (action.compareTo("ลบ")==0) {
sql="ลบจาก shop_cart โดยที่ cart_shop_id=" + shop_id + " และ cart_guest_id='"
+ guest_name + "' และ cart_product_id=" + product_id ;
rs = bka.executeQuery(sql);
-
-
<div align="center"><center>
<เส้นขอบตาราง = "0" cellpadding = "0" cellspacing = "0" width = "610"
ความสูง = "2">
<tr>
<td><รูปแบบวิธีการ = "POST"
action="shop_cart.jsp?action=update&product_type=<%=product_type%>&curp
อายุ=<%=curpage%>">
<เส้นขอบตาราง = "0" cellpadding = "0" cellspacing = "0" width = "610"
ความสูง = "2">
<tr>
<td width="122" height="7"><div align="center"><center><table
เส้นขอบ = "1" cellpadding = "2" cellspacing = "0" width = "100%" bordercolorlight = "#FFB468"
bordercolordark="#FFFFFF" bgcolor="#FFB468">
<tr>
<td width="100%"><div
align="center"><center><p>ตะกร้าสินค้า</td>
</tr>
</ตาราง>
</center></div></td>
<td width="122" height="7" style="border: ปานกลาง"
align="center"><div align="center"><center><table
เส้นขอบ = "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_list.jsp?shop_id=<%=shop_id%>&product_type=<%=product_type%>
&curpage=<%=curpage%>">ช็อปปิ้งต่อ</a></td>
</tr>
</ตาราง>
</center></div></td>
<td width="122" height="7" style="border: ปานกลาง"
align="center"><div align="center"><center><table
เส้นขอบ = "1" cellpadding = "2" cellspacing = "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()">การเรียกเก็บเงินซ้ำ</a></td>
</tr>
</ตาราง>
</center></div></td>
<td width="122" height="7" style="border: ปานกลาง"
align="center"><div align="center"><center><table
เส้นขอบ = "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_cart.jsp?action=clear&product_type=<%=product_type%>&curpage=<%=curpage%>">ล้างตะกร้าสินค้า</a></td>
</tr>
</ตาราง>
</center></div></td>
<td width="122" height="7" style="border: medium" align="center"><div align="center"><center><table
เส้นขอบ = "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">ยืนยันการซื้อ</a></td>
</tr>
</ตาราง>
</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">ชื่อผลิตภัณฑ์</td>
<td width="10%" height="8" align="left">ราคาตลาด</td>
<td width="10%" height="8" align="left">ราคาพิเศษ</td>
<td width="10%" height="8" align="left">ปริมาณ</td>
<td width="14%" height="8" align="left">ผลรวมย่อย</td>
<td width="12%" height="8" align="left">อัตราส่วนเงินฝาก</td>
<td width="17%" height="8" align="left">ยอดรวมเงินฝากย่อย</td>
<td width="17%" height="8" align="left">ลบ</td>
</tr>
-
sql = "เลือก shop_product.product_id, shop_product.product_name, shop_product.product_price,
shop_product.product_discount,shop_cart.cart_quantity,shop_product.product_first จาก shop_cart,shop_product โดยที่ shop_cart.cart_shop_id=" + shop_id + " และ shop_cart.cart_guest_id='" + guest_name + "' และ shop_cart.cart_product_id=shop_product.product_id";
rs = bka.executeQuery(sql);
จำนวนรวม;
int Total_first;
รวม=0;
รวม_แรก=0;
สตริง product_name;
int product_price;
int product_discount;
int product_first;
int cart_quantity;
ถ้า (rs.next()){
ในขณะที่ (rs.next()) {
product_id=java.lang.Integer.parseInt(rs.getString(1));
product_name=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%>">ลบ </a></td>
</tr>
-
รวม=รวม+สินค้า_ส่วนลด*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>ทั้งหมด</td>
<td width="36%" colspan="2" height="16"><div align="left"><%=รวม%></td>
</tr>
<tr align="center">
<td width="72%" colspan="6" height="16"><div align="right"><p>เงินฝากทั้งหมด</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>สมดุล</td>
<td width="36%" colspan="2" height="16"><div align="left"><%=total-total_first%></td>
</tr>
</ตาราง>
</center></div>
-
}อื่น{
-
<p align="center">ตะกร้าสินค้าว่างเปล่า!</p>
-
-
-
ส่วนปฏิบัติการฐานข้อมูล
โปรแกรมใช้สองตาราง:
โต๊ะรถเข็น 1 ตัว
cart_id int หมายเลขรถเข็น การกำหนดหมายเลขอัตโนมัติ
cart_shop_id หมายเลขร้านค้า nvarchar
cart_product_id หมายเลขผลิตภัณฑ์ nvarchar
cart_quantity int ปริมาณสินค้าจะเก็บข้อมูลตะกร้าสินค้าไว้ชั่วคราว
2 ร้านค้า_ตารางสินค้า
product_id int หมายเลขผลิตภัณฑ์ การกำหนดหมายเลขอัตโนมัติ
shop_id หมายเลขร้านค้า nvarchar
product_name ชื่อผลิตภัณฑ์ nvarchar
product_bb การแนะนำผลิตภัณฑ์ nvarchar
product_price ราคาตลาด int
product_discount ราคาส่วนลด int
product_img img รูปภาพ
product_status สถานะ nvarchar
product_อัตราส่วนเงินฝาก int ครั้งแรก
product_type nvanchar ประเภทผลิตภัณฑ์เก็บข้อมูลผลิตภัณฑ์
Javabeans ที่สร้างโดยใช้ bka.java: bka.class สามารถจัดเตรียมการดำเนินการบนฐานข้อมูลได้
นอกจากนี้ จำเป็นต้องลงทะเบียน bka.dsn ในระบบ DSN ของแผงควบคุม
สิ่งนี้ทำให้ JSP สามารถเรียกฐานข้อมูล sql ผ่าน JDBC-ODBC
หากต้องการเรียก javabean ในหน้านั้น โดยทั่วไปคุณสามารถใช้วิธีต่อไปนี้:
<%@ ภาษาเพจ = "java" import = "java.sql.*" %>
<jsp:useBean id="RegisterBean" scope="page" class="shop.bka" />
-
String sql="select * from xxx";
ResultSet rs = RegisterBean.executeQuery (sql);
ถ้า(rs.ถัดไป()) {
rs.ปิด();
ลงทะเบียนBean.closeStmt();
session.putValue("register_message","พบชื่อซ้ำ!");
-
-
โปรดทราบว่าควรปิด rs หลังการใช้งาน
ต่อไปนี้เป็นซอร์สโปรแกรมของ bka.java โปรดทราบว่าคุณต้องใช้ javac เพื่อคอมไพล์เป็นไฟล์คลาสหรือ javabean ก่อนใช้งาน
--shop/bka.java--
ร้านแพ็คเกจ;
นำเข้า java.sql.*;
คลาสสาธารณะ bka {
สตริง sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
สตริง sConnStr = "jdbc:odbc:bka";
การเชื่อมต่อการเชื่อมต่อ = null;
ResultSet rs = null;
สาธารณะ bka() {
พยายาม {
Class.forName(sDBDriver);
-
จับ (java.lang.ClassNotFoundException จ) {
System.err.println("bka(): " + e.getMessage());
-
-
ResultSet สาธารณะดำเนินการแบบสอบถาม (สตริง sql) {
อาร์เอส = โมฆะ;
พยายาม {
conn = DriverManager.getConnection(sConnStr,"xxx", "yyy");
คำสั่ง stmt = conn.createStatement();
อาร์เอส = stmt.executeQuery(sql);
-
จับ (เช่น SQLException) {
System.err.println("aq.executeQuery: " + ex.getMessage());
-
กลับอาร์เอส;
-
-