jsp 쇼핑 프로그램 구현

다음은 제 가 JSP 와 데이터 베 이 스 를 이용 하여 만 든 카 트 의 소스 프로그램 입 니 다.주의:1.비용 계산 부분 이 아직 다 되 지 않 았 으 니 여러분 이 직접 하 세 요!2.다음 버 전 은 session 으로 합 니 다./shop_cart.jsp<%@ page contentType="text/html;charset=gb2312"%><%@ page session="true" %><%@ page language="java" import="java.sql.*" %><%String product_type;String action;int product_id;int curpage;//상품 유형 if(request.getParameter)("producttype")==null){product_type="all";}else{product_type=request.getParameter("product_type");}//페이지 수 와 상품 유형 매개 변 수 는"계속 쇼핑"할 때 지난번 쇼핑 페이지 if(request.getParameter("curpage")=null){curpage=1;}로 돌아 갈 수 있 습 니 다.else{curpage=java.lang.Integer.parseInt(request.getParameter("curpage"));}//동작 if(request.getParameter("action")=null){action="view";}else{action=request.getParameter("action");}//상품 번호 if(request.getParameter)("productid")==null){product_id=0;}else{product_id=java.lang.Integer.parseInt(request.getParameter("product_id"));}int bbb;bbb=1;Integer num = new Integer(bbb);//상점 번호 session.putValue("shopid",num);//고객 usernamesession.putValue("guestname","asp2001");String guest_name=(String)session.getValue("guest_name");Integer shop_id=(Integer)session.getValue("shop_id");java.lang.String sql; java.sql.ResultSet rs;if (action.compareTo("add")==0) {sql="select cart_quantity from shop_cart where cart_shop_id=" + shop_id + " and cart_guest_id='" + guest_name + "' and cart_product_id=" + product_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 + " and cart_guest_id='" + guest_name + "' and cart_product_id=" + product_id ;rs = bka.executeQuery(sql);}else{sql="insert into shop_cart (cart_shop_id,cart_guest_id,cart_product_id,cart_quantity) values ('" + shop_id + "','"  + guest_name + "','" + product_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='" + guest_name + "' and cart_product_id=" + product_id ;rs = bka.executeQuery(sql);}%>

쇼핑 카

<<<<<<<<>너비="100%"100%""100%""100%""100%""100%""100%""100%"""100%

<divalign="center>

구 매 확인

상품 명시장가수량<<<소계계약금 비율계약금 소계삭제<%sql="select shopproduct.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 total;int total_first;total=0;total_first=0;String product_name;int product_price;int product_discount;int product_first;int cart_quantity;if (rs.next()){while (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));%><%=product_name%><%=product_price%><%=product_discount%>" size="3" value="<%=cart_quantity%>"><%=product_discount*cart_quantity%><%=product_first + "%"%><%=product_first*product_discount*cart_quantity/100.0%>

delete<%total=total+product_discount*cart_quantity;total_first=total_first+product_discount*cart_quantity*product_first/100;}%>

총계<%=total%>>>

계약금 총계<<<<<<<<>>>

<%=totalfirst%>

잔액

<%=total-totalfirst%>
<%}else{%>

카 트 가 비어 있 습 니 다!

<%}%>데이터베이스 작업 부분 프로그램 은 두 개의 표를 사용 합 니 다:1 shopcart 표 cartid int 카 트 번호 자동 번호 cartshop_id nvarchar 상점 번호 cartproduct_id nvarchar 상품 번호 cartquantity int 상품 수량 임시 저장 카 트 데이터 2 shopproduct 표 productid int 상품 번호 자동 번호 shopid nvarchar 상점 번호 productname nvarchar 상품 명 productbb nvarchar 상품 소개 productprice int 시장가 product할인 int 우대 가격 productimg img picture productstatus nvarchar 상태 productfirst int 계약금 비율 producttype nvanchar 상품 유형 저장 상품 자 료 는 bka.java 로 만 든 javabean:bka.class 에서 데이터베이스 에 대한 조작 을 제공 할 수 있 습 니 다.또한 제어 판 시스템 DSN 에 bka.dsn 을 등록 하여 JSP 가 JDBC-ODBC 를 통 해 sql 데이터 베 이 스 를 호출 할 수 있 도록 해 야 합 니 다.페이지 에서 javabean 을 호출 하면 기본적으로 다음 과 같은 방식 을 사용 할 수 있 습 니 다.<%@page language="java"import="java.sql.*"%><%String sql="select*from xxx";ResultSet rs = RegisterBean.executeQuery(sql); if(rs.next()) { rs.close();RegisterBean.closeStmt();session.putValue("register_message","duplicate name found!");}%>사용 후 rs 를 닫 아야 합 니 다.다음은 bka.java 의 원본 프로그램 입 니 다.사용 하기 전에 자바 c 로 클 라 스 파일 인 자바 빈 으로 컴 파일 해 야 합 니 다.--shop/bka.자바--package shop;import java.sql.*;public class bka {String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";String sConnStr = "jdbc:odbc:bka";Connection conn = null;ResultSet rs = null;public bka() {try {Class.forName(sDBDriver); }catch(java.lang.ClassNotFoundException e) {System.err.println("bka(): " + e.getMessage());}}public ResultSet executeQuery(String sql) {rs = null;try {conn = DriverManager.getConnection(sConnStr,"xxx","yyy"); Statement stmt = conn.createStatement();rs = stmt.executeQuery(sql);} catch(SQLException ex) { System.err.println("aq.executeQuery: " + ex.getMessage());}return rs;}}

좋은 웹페이지 즐겨찾기