天天看点

JSP实例购物车

index.jsp

?

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>

<%@ page import="java.sql.*"%>

?

<html>

? <head>

??? <title>?ㄧ嚎璐???lt;/title>

? </head>

? <%

??? //瑁?杞?ySQL5.0??JDBC椹卞??

??? Class.forName("com.mysql.jdbc.Driver").newInstance();

??? //寤虹???版??搴?杩???

??? String url ="jdbc:mysql://localhost:3306/eshop?user=root&password=zhz&useUnicode=true&characterEncoding=gb2312";

??? Connection conn= DriverManager.getConnection(url);

??? //寤虹??涓?涓?Statement瀵硅薄锛??ㄤ??ц?SQL璇???

??? Statement stat = conn.createStatement();

??? //?ц??ヨ?㈠苟寰??版?ヨ?㈢???

??? String sql = "select * from shop";

??? ResultSet rs = stat.executeQuery(sql);?

? %>??

? <body>

??? <h2>?ㄧ嚎璐???lt;/h2>

??? <hr>

??? <table width="600">

??????? <tr bgcolor="#dddddd">

??????????? <td align="center" width="80">????缂╁??lt;/td>

??????????? <td align="center">??????瑕?</td>

??????????? <td align="center" width="100">?ㄧ嚎璐?涔?lt;/td>

??????? </tr>

??????? <%

??????????? String bm,name,price,info,img;

??????????? //灏??ヨ?㈢?????涓???璁板?杈??哄?伴〉???

??????????? while (rs.next()){

??????????????? //浠?褰???璁板?涓?璇诲????瀛?娈电????

??????????????? img = rs.getString("SP_PIC").trim();

??????????????? bm = rs.getString("SP_NO").trim();

??????????????? name = rs.getString("SP_NAME").trim();

??????????????? price = rs.getString("SP_PRICE").trim();

??????????????? info = rs.getString("SP_INFO").trim();

???????????????

??????????????? out.println("<tr>");

??????????????? out.println("<td><img src='"+ img +"' );

??????????????? out.println("<td>");

??????????????? out.println("????缂??凤?"+ bm +"<br>");

??????????????? out.println("??????绉帮?"+ name +"<br>");

??????????????? out.println("????浠锋?硷?"+ price +"??<br>");

??????????????? out.println("????绠?浠?锛?"+ info +"<br>");

??????????????? out.println("</td>");

??????????????? out.println("<td><a href='buy.jsp?op=add&bm="+bm+"'>?惧?ヨ喘?╄溅</a></td>");

??????????????? out.println("</tr>");

??????????? }

??????? %>?????

??? </table>

??? <br>

??? <a href="cart.jsp" target="_blank" rel="external nofollow" >?ョ??璐??╄溅</a>&nbsp;&nbsp;

??? <a href="buy.jsp?op=clear" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >娓?绌鸿喘?╄溅</a>??????????

? </body>

</html>

?

?

?

?

cart.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>

<%@ page import="java.sql.*"%>

?

<html>

? <head>

??? <title>????璐??╄溅</title>

? </head>

? <%

??? //瑁?杞?ySQL5.0??JDBC椹卞??

??? Class.forName("com.mysql.jdbc.Driver").newInstance();

??? //寤虹???版??搴?杩???

??? Stringurl="jdbc:mysql://localhost:3306/eshop?user=root&password=zhz&useUnicode=true&characterEncoding=gb2312";

??? Connection conn= DriverManager.getConnection(url);

??? //寤虹??涓?涓?Statement瀵硅薄锛??ㄤ??ц?SQL璇???

??? Statement stat = conn.createStatement();

??? //?ц??ヨ?㈠苟寰??版?ヨ?㈢???

??? String sql = "select * from cart";

??? ResultSet rs = stat.executeQuery(sql);?

? %>??

? <body>

??? <h2>????璐??╄溅</h2>

??? <hr>

??? <table width="600">

??????? <tr bgcolor="#dddddd">

??????????? <td align="center" width="80">??????绉?lt;/td>

??????????? <td align="center">??????浠?lt;/td>

??????????? <td align="center" width="100">璐?涔版?伴??</td>

??????????? <td align="center" width="100">??棰?</td>

??????????? <td align="center" width="100">缂?杈?</td>

??????? </tr>

??????? <%

??????????? String id,name,price,num,count;

??????????? //灏??ヨ?㈢?????涓???璁板?杈??哄?伴〉???

??????????? while (rs.next()){

??????????????? //浠?褰???璁板?涓?璇诲????瀛?娈电????

??????????????? id = rs.getString("ID").trim();

??????????????? name = rs.getString("SP_NAME").trim();

??????????????? price = rs.getString("SP_PRICE").trim();

??????????????? num = rs.getString("BUY_NUM").trim();

??????????????? count = rs.getString("COUNT").trim();

???????????????

??????????????? out.println("<tr>");

??????????????? out.println("<td>"+ name +"</td>");

??????????????? out.println("<td>"+ price +"</td>");

??????????????? out.println("<td><input type=text value="+ num +" onChange=/"updateNum('"+id+"',this.value,'"+price+"')/"></td>");

??????????????? out.println("<td>"+ count +"</td>");

??????????????? out.println("<td><a href='buy.jsp?op=del&id="+id+"'>??????????lt;/a></td>");

??????????????? out.println("</tr>");

??????????? }

??????? %>?????

??? </table>

??? <br>

??? <a href="index.jsp" target="_blank" rel="external nofollow" >缁х画璐???lt;/a>&nbsp;&nbsp;

??? <a href="buy.jsp?op=clear" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >娓?绌鸿喘?╄溅</a>???????????

? </body>

? <script language="javascript">

??? function updateNum(id,num,price){

??????? var url = "buy.jsp?op=update&id="+id+"&num="+num+"&price="+price;

??????? window.location = url;

??? }

? </script>?

</html>

?

?

?

buy.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>

<%@ page import="java.sql.*"%>

<%

??? //瑁?杞?ySQL5.0??JDBC椹卞??

??? Class.forName("com.mysql.jdbc.Driver").newInstance();

??? //寤虹???版??搴?杩???

??? String url ="jdbc:mysql://localhost:3306/eshop?user=root&password=zhz&useUnicode=true&characterEncoding=gb2312";

??? Connection conn= DriverManager.getConnection(url);

??? PreparedStatement pstat = null;

??? ResultSet rs = null;

???

??? String sql = null;

??? String op = request.getParameter("op");

???

??? //灏??????惧?ヨ喘?╄溅

??? if (op.equals("add")){

??????? //浠?????搴?涓????烘????璐????????版??

??????? String bm = request.getParameter("bm");

??????? String name=null,price=null;

??????? sql = "select * from shop where SP_NO=?";

??????? pstat = conn.prepareStatement(sql);

??????? pstat.setString(1,bm);

??????? rs = pstat.executeQuery();

??????? if (rs.next()){

??????????? name = rs.getString("SP_NAME").trim();

??????????? price = rs.getString("SP_PRICE").trim();

??????? }

??????? rs.close();

??????? pstat.close();

???????

??????? //灏?????璐????????ュ?拌喘?╄溅涓?

??????? sql = "insert into cart(SP_NAME,SP_PRICE,BUY_NUM,COUNT) values(?,?,?,?)";

??????? pstat = conn.prepareStatement(sql);

??????? pstat.setString(1,name);

??????? pstat.setString(2,price);

??????? pstat.setInt(3,1);

??????? pstat.setString(4,price);

??????? pstat.executeUpdate();

??????? pstat.close();

???????

??????? //?抽???版??搴?杩???

??????? conn.close();

???????

??????? //??瀹????拌喘?╄溅椤甸??

??????? response.sendRedirect("cart.jsp");

??? }

???

??? //?存?瑰???????伴??

??? if (op.equals("update")){

??????? int id = Integer.parseInt(request.getParameter("id"));

??????? int num = Integer.parseInt(request.getParameter("num"));

??????? double price=Double.parseDouble(request.getParameter("price"));

??????? sql = "update cart set BUY_NUM = ?, COUNT = ? where ID=?";

??????? pstat = conn.prepareStatement(sql);

??????? pstat.setInt(1,num);

??????? pstat.setString(2,new Double(price*num).toString());

??????? pstat.setInt(3,id);

??????? pstat.executeUpdate();

??????? pstat.close();

???????

??????? //?抽???版??搴?杩???

??????? conn.close();

???????

??????? //??瀹????拌喘?╄溅椤甸??

??????? response.sendRedirect("cart.jsp");

??? }??

???

??? //灏??????????板??????灏?????浠?璐??╄溅涓?????

??? if (op.equals("del")){

??????? int id = Integer.parseInt(request.getParameter("id"));

??????? sql = "delete from cart where ID=?";

??????? pstat = conn.prepareStatement(sql);

??????? pstat.setInt(1,id);

??????? pstat.executeUpdate();

??????? pstat.close();

???????

??????? //?抽???版??搴?杩???

??????? conn.close();

???????

??????? //??瀹????拌喘?╄溅椤甸??

??????? response.sendRedirect("cart.jsp");

??? }

???

??? //娓?绌鸿喘?╄溅

??? if (op.equals("clear")){

??????? sql = "delete from cart";

??????? pstat = conn.prepareStatement(sql);

??????? pstat.executeUpdate();

??????? pstat.close();

???????

??????? //?抽???版??搴?杩???

??????? conn.close();

???????

??????? //??瀹????拌喘?╄溅椤甸??

??????? response.sendRedirect("cart.jsp");

??? }

%>

?

?

?

?

?

?版??搴?eshop锛?

;

?

DROP DATABASE IF EXISTS `eshop`;

CREATE DATABASE `eshop` ;

USE `eshop`;

?

;

?

CREATE TABLE `cart` (

? `ID` int(11) NOT NULL auto_increment,

? `SP_NAME` varchar(40) default NULL,

? `SP_PRICE` decimal(8,2) default NULL,

? `BUY_NUM` int(11) default NULL,

? `COUNT` decimal(9,2) default NULL,

? PRIMARY KEY? (`ID`)

) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

?

CREATE TABLE `shop` (

? `SP_NO` char(10) NOT NULL,

? `SP_NAME` varchar(40) default NULL,

? `SP_PRICE` decimal(8,2) default NULL,

? `SP_INFO` varchar(200) default NULL,

? `SP_PIC` varchar(50) default NULL,

? PRIMARY KEY? (`SP_NO`)

) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

?

INSERT INTO `shop` (`SP_NO`,`SP_NAME`,`SP_PRICE`,`SP_INFO`,`SP_PIC`) VALUES ('SP0001','?抽???,950,'MAYA44 V3???锋??24bit/96KHz涓?涓???????4杩?4?轰?涓??板???抽???,'pic/pic01.jpg');

INSERT INTO `shop` (`SP_NO`,`SP_NAME`,`SP_PRICE`,`SP_INFO`,`SP_PIC`) VALUES ('SP0002','??????,4980,'PK-6浠ヨ?浣???浠锋?间负浣???渚?E-MU???扮??Proteus澹伴?冲??楂?璐ㄩ????????','pic/pic02.jpg');

INSERT INTO `shop` (`SP_NO`,`SP_NAME`,`SP_PRICE`,`SP_INFO`,`SP_PIC`) VALUES ('SP0003','MP3',450,'???芥??绀烘????USB2.0楂???浼?杈?','pic/pic03.jpg');

INSERT INTO `shop` (`SP_NO`,`SP_NAME`,`SP_PRICE`,`SP_INFO`,`SP_PIC`) VALUES ('SP0004','?????崇??,3800,'PX-T6A??寮哄ぇ????绔??????俱??杩??虹????绯荤??????抽????,'pic/pic04.jpg');

INSERT INTO `shop` (`SP_NO`,`SP_NAME`,`SP_PRICE`,`SP_INFO`,`SP_PIC`) VALUES ('SP0005','??????,29800,'3CCD/浼????ㄦ?昏薄绱?锛?112涓???绱?','pic/pic05.jpg');

?