jsp+servlet+javabean 实现的简单网上购物车

简单购物车案例(附源码)

下面具体流程,很多功能都还未完善,之后会实现更多功能,例如分页,付款等 敬请期待

使用jspMVC模型开发购物车(jsp+servlet+javabean

必须有三层架构思想:web层负责与用户打交道  业务处理层(服务层 service)数据访问层(dao

1.搭建开发环境

1)导入开发包:jdbc驱动(jstl的jar包)

2)创建程序所在的包,如下:

3)在MYSQL下创建库和表 字段有:book,name,author,price,description

2.编码

1)开发实体类bean:Book

2) 开发dao   (创建工具类)

3)  开发service

4)  web层

3.实现效果如下:

1)在浏览器输入:http://localhost:8080/bookstore/后如下图:

2)进入后显示图书列表

 

3)加入两种书进入购物车后

4)当点击 删除后

5)点击清空购物车后

 

6)结算功能还未实现

4.附源码:

 

[java]  view plain copy
  1. //BookDao.java  
  2. package com.hbsi.dao;  
  3.   
  4. import java.util.List;  
  5.   
  6. import com.hbsi.domain.Book;  
  7.   
  8. public interface BookDao {  
  9.       
  10.     //获取所有的书  
  11.     public List<Book> getAll();  
  12.       
  13.     //根据id获取书  
  14.     public Book find(String id);  
  15.   
  16. }  
[java]  view plain copy
  1. //BookDaoImpl.java  
  2.   
  3. package com.hbsi.dao;  
  4.   
  5. import java.sql.Connection;  
  6. import java.sql.PreparedStatement;  
  7. import java.sql.ResultSet;  
  8. import java.util.ArrayList;  
  9. import java.util.List;  
  10.   
  11. import com.hbsi.domain.Book;  
  12. import com.hbsi.utils.DBManager;  
  13.   
  14. public class BookDaoImpl implements BookDao{  
  15.   
  16.     @Override  
  17.     public Book find(String id) {  
  18.         Connection conn = null;  
  19.         PreparedStatement pt = null;  
  20.         ResultSet rs = null;  
  21.   
  22.         try {  
  23.             conn = DBManager.getConnection();  
  24.             String sql = "select * from book where id=?";  
  25.             pt = conn.prepareStatement(sql);  
  26.               
  27.             pt.setString(1, id);  
  28.               
  29.             rs = pt.executeQuery();  
  30.             //Book b = null;  
  31.             if(rs.next()){  
  32.                 Book b = new Book();  
  33.                 b.setId(rs.getString("id"));  
  34.                 b.setName(rs.getString("name"));  
  35.                 b.setAuthor(rs.getString("author"));  
  36.                 b.setPrice(rs.getDouble("price"));  
  37.                 b.setDescription(rs.getString("description"));  
  38.                 return b;  
  39.                   
  40.             }  
  41.             return null;  
  42.               
  43.   
  44.         } catch (Exception e) {  
  45.             throw new RuntimeException(e);  
  46.   
  47.         } finally {  
  48.             DBManager.closeDB(conn, pt, rs);  
  49.         }  
  50.     }  
  51.   
  52.     @Override  
  53.     public List<Book> getAll() {  
  54.         Connection conn = null;  
  55.         PreparedStatement pt = null;  
  56.         ResultSet rs = null;  
  57.   
  58.         try {  
  59.             conn = DBManager.getConnection();  
  60.             String sql = "select id,name,author,price,description from book";  
  61.             pt = conn.prepareStatement(sql);  
  62.             rs = pt.executeQuery();  
  63.   
  64.             List<Book> list = new ArrayList<Book>();  
  65.   
  66.             while (rs.next()) {  
  67.                 Book b = new Book();  
  68.                 b.setId(rs.getString("id"));  
  69.                 b.setName(rs.getString("name"));  
  70.                 b.setAuthor(rs.getString("author"));  
  71.                 b.setPrice(rs.getDouble("price"));  
  72.                 b.setDescription(rs.getString("description"));  
  73.   
  74.                 list.add(b);  
  75.   
  76.             }  
  77.             return list;  
  78.   
  79.         } catch (Exception e) {  
  80.             throw new RuntimeException(e);  
  81.   
  82.         } finally {  
  83.             DBManager.closeDB(conn, pt, rs);  
  84.         }  
  85.   
  86.     }  
  87.   
  88. }  
[java]  view plain copy
  1. //Book.java  
  2. package com.hbsi.domain;  
  3.   
  4. public class Book {  
  5.     private String id;  
  6.     private String name;  
  7.     private String author;  
  8.     private double price;  
  9.     private String description;  
  10.     public String getId() {  
  11.         return id;  
  12.     }  
  13.     public void setId(String id) {  
  14.         this.id = id;  
  15.     }  
  16.     public String getName() {  
  17.         return name;  
  18.     }  
  19.     public void setName(String name) {  
  20.         this.name = name;  
  21.     }  
  22.     public String getAuthor() {  
  23.         return author;  
  24.     }  
  25.     public void setAuthor(String author) {  
  26.         this.author = author;  
  27.     }  
  28.     public double getPrice() {  
  29.         return price;  
  30.     }  
  31.     public void setPrice(double price) {  
  32.         this.price = price;  
  33.     }  
  34.     public String getDescription() {  
  35.         return description;  
  36.     }  
  37.     public void setDescription(String description) {  
  38.         this.description = description;  
  39.     }  
  40.       
  41. }  
  42.   
  43. //Cart.java  
  44. package com.hbsi.domain;  
  45.   
  46. import java.util.LinkedHashMap;  
  47. import java.util.Map;  
  48.   
  49. public class Cart {  
  50.     private Map<String,CartItem> map=new LinkedHashMap<String,CartItem>();  
  51.     private double price;//所有购物项的价格总计  
  52.       
  53.     public void add(Book book){  
  54.         CartItem item=map.get(book.getId());  
  55.         if(item!=null){  
  56.             item.setQuantity(item.getQuantity()+1);  
  57.         }else{  
  58.             item=new CartItem();  
  59.             item.setBook(book);  
  60.             item.setQuantity(1);  
  61.             //把新的购物项添加到map集合中  
  62.             map.put(book.getId(),item);  
  63.         }  
  64.     }  
  65.     public Map<String, CartItem> getMap() {  
  66.         return map;  
  67.     }  
  68.     public void setMap(Map<String, CartItem> map) {  
  69.         this.map = map;  
  70.     }  
  71.     public double getPrice() {  
  72.         double totalprice=0;  
  73.         for(Map.Entry<String, CartItem> me:map.entrySet()){  
  74.             CartItem item=me.getValue();  
  75.             totalprice+=item.getPrice();  
  76.         }  
  77.         this.price=totalprice;  
  78.         return price;  
  79.     }  
  80.     public void setPrice(double price) {  
  81.         this.price = price;  
  82.     }  
  83. }  
  84.   
  85. //CartItem.java  
  86. package com.hbsi.domain;  
  87. //用于代表购买的商品(书)。包括书的数量。(购物项,购物车的一行)  
  88. public class CartItem {  
  89.     private Book book;  
  90.     private int quantity;  
  91.     private double price;//对此类书的价格计算(小计)  
  92.     public Book getBook() {  
  93.         return book;  
  94.     }  
  95.     public void setBook(Book book) {  
  96.         this.book = book;  
  97.     }  
  98.     public int getQuantity() {  
  99.         return quantity;  
  100.     }  
  101.     public void setQuantity(int quantity) {  
  102.         this.quantity = quantity;  
  103.         this.price=this.book.getPrice()*this.quantity;//书的单价乘以数量  
  104.     }  
  105.     public double getPrice() {  
  106.           
  107.         return price;  
  108.     }  
  109.     public void setPrice(double price) {  
  110.         this.price = price;  
  111.     }  
  112.       
  113. }  
  114.   
  115. //BusinessService.java  
  116. package com.hbsi.service;  
  117.   
  118. import java.util.List;  
  119.   
  120. import com.hbsi.domain.Book;  
  121. import com.hbsi.domain.Cart;  
  122.   
  123. public interface BusinessService {  
  124.     public List<Book> getAllBook();  
  125.     //获取指定id的书  
  126.     public Book findBook(String id);  
  127. //删除购物项  
  128.     public void deleteCartItem(String sid, Cart cart);  
  129.     //清空购物车  
  130.     public void clearCart(Cart cart);  
  131.     //改变数量  
  132.     public void changeQuantity(String sid, String quantity, Cart cart);  
  133.       
  134. }  
  135.   
  136. //BusinessServiceImpl.java  
  137. package com.hbsi.service;  
  138.   
  139. import java.util.List;  
  140.   
  141. import com.hbsi.dao.BookDao;  
  142. import com.hbsi.dao.BookDaoImpl;  
  143. import com.hbsi.domain.Book;  
  144. import com.hbsi.domain.Cart;  
  145. import com.hbsi.domain.CartItem;  
  146.   
  147. public class BusinessServiceImpl implements BusinessService{  
  148. BookDao dao=new BookDaoImpl();  
  149.     @Override  
  150.     public List<Book> getAllBook() {  
  151.           
  152.         return dao.getAll();  
  153.     }  
  154.       
  155.       
  156.     @Override  
  157.     public void deleteCartItem(String sid, Cart cart) {  
  158.           
  159.         cart.getMap().remove(sid);  
  160.     }  
  161.   
  162.   
  163.     @Override  
  164.     public Book findBook(String id) {  
  165.           
  166.         return dao.find(id);  
  167.     }  
  168.   
  169.   
  170.     @Override  
  171.     public void clearCart(Cart cart) {  
  172.         cart.getMap().clear();  
  173.           
  174.     }  
  175.   
  176.   
  177.     @Override  
  178.     public void changeQuantity(String sid, String quantity, Cart cart) {  
  179.         CartItem item=cart.getMap().get(sid);  
  180.         item.setQuantity(Integer.parseInt(quantity));  
  181.           
  182.     }  
  183.       
  184.       
  185. }  
  186.   
  187. //db.properties  
  188. driver=com.mysql.jdbc.Driver  
  189. url=jdbc:mysql://localhost:3306/bookdb  
  190. username=root  
  191. password=root  
  192.   
  193. //BuyServlet.java  
  194. package com.hbsi.web.controller;  
  195.   
  196. import java.io.IOException;  
  197.   
  198. import javax.servlet.ServletException;  
  199. import javax.servlet.http.HttpServlet;  
  200. import javax.servlet.http.HttpServletRequest;  
  201. import javax.servlet.http.HttpServletResponse;  
  202.   
  203. import com.hbsi.domain.Book;  
  204. import com.hbsi.domain.Cart;  
  205. import com.hbsi.service.BusinessServiceImpl;  
  206.   
  207. public class BuyServlet extends HttpServlet {  
  208.     BusinessServiceImpl service=new BusinessServiceImpl();  
  209.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  210.             throws ServletException, IOException {  
  211.         //1.获取要买的书  
  212.         String sid=request.getParameter("id");  
  213.         Book book =service.findBook(sid);  
  214.         //2.得到购物车  
  215.         Cart cart=(Cart)request.getSession().getAttribute("cart");  
  216.         if(cart==null){  
  217.             cart=new Cart();  
  218.             request.getSession().setAttribute("cart", cart);  
  219.         }  
  220.         //3.把数添加到购物车中  
  221.         cart.add(book);  
  222.         response.sendRedirect("./ListCartServlet");  
  223.         //request.getRequestDispatcher("/WEB-INF/jsp/listcart.jsp").forward(request, response);  
  224.           
  225.   
  226.     }  
  227.   
  228.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  229.             throws ServletException, IOException {  
  230.   
  231.         doGet(request, response);  
  232.     }  
  233.   
  234. }  
  235.   
  236. //ChangeQuantitySevlet.java  
  237. package com.hbsi.web.controller;  
  238.   
  239. import java.io.IOException;  
  240.   
  241. import javax.servlet.ServletException;  
  242. import javax.servlet.http.HttpServlet;  
  243. import javax.servlet.http.HttpServletRequest;  
  244. import javax.servlet.http.HttpServletResponse;  
  245.   
  246. import com.hbsi.domain.Cart;  
  247. import com.hbsi.service.BusinessService;  
  248. import com.hbsi.service.BusinessServiceImpl;  
  249.   
  250. public class ChangeQuantitySevlet extends HttpServlet {  
  251.   
  252.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  253.             throws ServletException, IOException {  
  254.         String sid = request.getParameter("id");  
  255.         String quantity = request.getParameter("quantity");  
  256.           
  257.         Cart cart = (Cart) request.getSession().getAttribute("cart");  
  258.           
  259.         BusinessService service = new BusinessServiceImpl();  
  260.         service.changeQuantity(sid,quantity,cart);  
  261.           
  262.         request.getRequestDispatcher("/WEB-INF/jsp/listcart.jsp").forward(request, response);  
  263.   
  264.     }  
  265.   
  266.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  267.             throws ServletException, IOException {  
  268.   
  269.         doGet(request, response);  
  270.     }  
  271.   
  272. }  
  273.   
  274. //ClearCartServlet.java   
  275. package com.hbsi.web.controller;  
  276.   
  277. import java.io.IOException;  
  278.   
  279. import javax.servlet.ServletException;  
  280. import javax.servlet.http.HttpServlet;  
  281. import javax.servlet.http.HttpServletRequest;  
  282. import javax.servlet.http.HttpServletResponse;  
  283.   
  284. import com.hbsi.domain.Cart;  
  285. import com.hbsi.service.BusinessService;  
  286. import com.hbsi.service.BusinessServiceImpl;  
  287.   
  288. public class ClearCartServlet extends HttpServlet {  
  289.     BusinessService service=new BusinessServiceImpl();  
  290.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  291.             throws ServletException, IOException {  
  292.         Cart cart=(Cart) request.getSession().getAttribute("cart");  
  293.         service.clearCart(cart);  
  294.           
  295.         request.getRequestDispatcher("/WEB-INF/jsp/listcart.jsp").forward(request, response);  
  296.     }  
  297.   
  298.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  299.             throws ServletException, IOException {  
  300.   
  301.         doGet(request, response);  
  302.     }  
  303.   
  304. }  
  305.   
  306. //DeleteItemServlet.java  
  307. package com.hbsi.web.controller;  
  308.   
  309. import java.io.IOException;  
  310.   
  311. import javax.servlet.ServletException;  
  312. import javax.servlet.http.HttpServlet;  
  313. import javax.servlet.http.HttpServletRequest;  
  314. import javax.servlet.http.HttpServletResponse;  
  315.   
  316. import com.hbsi.domain.Cart;  
  317. import com.hbsi.service.BusinessService;  
  318. import com.hbsi.service.BusinessServiceImpl;  
  319.   
  320. public class DeleteItemServlet extends HttpServlet {  
  321.     //调服务类里边的方法从购物项里删除想要删除的书  
  322.     BusinessService service=new BusinessServiceImpl();  
  323.   
  324.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  325.             throws ServletException, IOException {  
  326.         //获取到购物项  
  327.         String sid=request.getParameter("id");  
  328.         Cart cart=(Cart)request.getSession().getAttribute("cart");  
  329.           
  330.           
  331.         service.deleteCartItem(sid,cart);  
  332.         request.getRequestDispatcher("/WEB-INF/jsp/listcart.jsp").forward(request, response);  
  333.   
  334.     }  
  335.   
  336.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  337.             throws ServletException, IOException {  
  338.   
  339.         doGet(request, response);  
  340.     }  
  341.   
  342. }  
  343.   
  344. //ListBookServlet.java  
  345. package com.hbsi.web.controller;  
  346.   
  347. import java.io.IOException;  
  348. import java.util.List;  
  349.   
  350. import javax.servlet.ServletException;  
  351. import javax.servlet.http.HttpServlet;  
  352. import javax.servlet.http.HttpServletRequest;  
  353. import javax.servlet.http.HttpServletResponse;  
  354.   
  355. import com.hbsi.domain.Book;  
  356. import com.hbsi.service.BusinessService;  
  357. import com.hbsi.service.BusinessServiceImpl;  
  358.   
  359. public class ListBookServlet extends HttpServlet {  
  360.     BusinessService service=new BusinessServiceImpl();  
  361.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  362.             throws ServletException, IOException {  
  363.           
  364.           
  365.             List<Book> list=service.getAllBook();  
  366.             request.setAttribute("books", list);  
  367.           
  368.             request.getRequestDispatcher("../WEB-INF/jsp/listbook.jsp").forward(request, response);  
  369.               
  370.     }  
  371.   
  372.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  373.             throws ServletException, IOException {  
  374.   
  375.         doGet(request, response);  
  376.     }  
  377.   
  378. }  
  379.   
  380. //ListCartServlet.java  
  381. package com.hbsi.web.ui;  
  382.   
  383. import java.io.IOException;  
  384.   
  385. import javax.servlet.ServletException;  
  386. import javax.servlet.http.HttpServlet;  
  387. import javax.servlet.http.HttpServletRequest;  
  388. import javax.servlet.http.HttpServletResponse;  
  389.   
  390. public class ListCartServlet extends HttpServlet {  
  391.   
  392.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  393.             throws ServletException, IOException {  
  394.         request.getRequestDispatcher("/WEB-INF/jsp/listcart.jsp").forward(request, response);  
  395.     }  
  396.   
  397.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  398.             throws ServletException, IOException {  
  399.   
  400.         doGet(request, response);  
  401.     }  
  402.   
  403. }  
  404.   
  405. //listbook.jsp  
  406. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  407. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>  
  408. <%  
  409. String path = request.getContextPath();  
  410. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  411. %>  
  412.   
  413. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  414. <html>  
  415.   <head>  
  416.       
  417.       
  418.     <title>My JSP 'listbook.jsp' starting page</title>  
  419.       
  420.       
  421.   
  422.   </head>  
  423.     
  424.   <body style="text-align:center">  
  425.     <h2>渊博书店</h2>  
  426.       
  427.       <table border="1" width="80%">  
  428.         <tr>  
  429.            <td>编号</td>  
  430.            <td>书名</td>  
  431.            <td>作者</td>  
  432.            <td>价格</td>  
  433.            <td>描述</td>  
  434.            <td>操作</td>     
  435.         </tr>  
  436.         <c:forEach var="book" items="${books}">  
  437.           <tr>  
  438.           <td>${book.id}</td>  
  439.            <td>${book.name}</td>  
  440.            <td>${book.author}</td>  
  441.            <td>${book.price}</td>  
  442.            <td>${book.description}</td>  
  443.            <td>  
  444.                <a href="${pageContext.request.contextPath}/servlet/BuyServlet?id=${book.id}">加入购物车</a>  
  445.              
  446.            </td>     
  447.             
  448.           </tr>  
  449.           
  450.         </c:forEach>  
  451.           
  452.         
  453.         
  454.       </table>  
  455.   </body>  
  456. </html>  
  457.   
  458.   
  459.   
  460. //listcart.jsp  
  461. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  462. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>  
  463. <%  
  464. String path = request.getContextPath();  
  465. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  466. %>  
  467.   
  468. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  469. <html>  
  470.   <head>  
  471.       
  472.       
  473.     <title>My JSP 'listbook.jsp' starting page购物显示页面</title>  
  474.     <script type="text/javascript">  
  475.         function deleteItem(id){  
  476.         var  b = window.confirm("确定要删除吗?");  
  477.            if(b){  
  478.                 window.location.href="${pageContext.request.contextPath}/servlet/DeleteItemServlet?id="+id;             
  479.            }  
  480.         }  
  481.         function clearcart(){  
  482.         var  b = window.confirm("确定要清空您当前所选的商品吗?");  
  483.            if(b){  
  484.                 window.location.href="${pageContext.request.contextPath}/servlet/ClearCartServlet";             
  485.            }  
  486.         }  
  487.     function changequantity(input,id,oldvalue){  
  488.            //得到修改的数量  
  489.           var quantity = input.value;  
  490.             
  491.           //判断是否是正整数  
  492.           if(quantity<0 || quantity!=parseInt(quantity)){  
  493.                  alert("请输入正整数!!");  
  494.                  input.value=oldvalue;  
  495.                  return;  
  496.           }  
  497.            var  b = window.confirm("确定要将数量修改为:"+quantity);  
  498.            if(b){  
  499.                 window.location.href="${pageContext.request.contextPath}/servlet/ChangeQuantitySevlet?id="+id+"&quantity="+quantity;             
  500.            }  
  501.          
  502.        }  
  503.       
  504.     </script>  
  505.       
  506.       
  507.   
  508.   </head>  
  509.     
  510.   <body style="text-align:center">  
  511.   <h1> 您的购物车</h1>  
  512.     <h2>您购买了如下商品</h2>  
  513.     <c:if test="${empty cart.map}">  
  514.  <font color="red">您的购物车还是空的哦!!</font><br/>  
  515.   <img src="../images/gouwuche.jpg" width="350" height="350"/>    
  516.     您可以  
  517.     <a href="${pageContext.request.contextPath}/servlet/ListBookServlet">点击此处进入购买页面</a>  
  518.     </c:if>  
  519.     <c:if test="${!empty cart.map}">  
  520.       <table border="1" width="80%" bordercolor="blue">  
  521.         <tr>  
  522.            <td>编号</td>  
  523.            <td>书名</td>  
  524.            <td>单价</td>  
  525.            <td>数量</td>  
  526.            <td>小计</td>  
  527.            <td>操作</td>     
  528.         </tr>  
  529.         <c:forEach var="me" items="${cart.map}">  
  530.           <tr>  
  531.           <td>${me.key}</td>  
  532.            <td>${me.value.book.name}</td>  
  533.            <td>${me.value.book.price}¥</td>  
  534.            <td>  
  535.           <input type="text" name="quantity" value="${me.value.quantity}" οnchange="changequantity(this,${me.key},${me.value.quantity})"/>  
  536.           在此修改数量  
  537.            </td>  
  538.            <td>${me.value.price}¥</td>  
  539.              
  540.            <td>  
  541.                 <a href="javascript:deleteItem(${me.key })" >删除</a>  
  542.                   <!--<a href="javascript:void(0)" οnclick="deleteItem(${me.key })">删除</a>-->  
  543.                <!--<a href="${pageContext.request.contextPath}/servlet/DeleteItemServlet?id=${me.key}">删除</a>-->  
  544.              
  545.            </td>     
  546.             
  547.           </tr>  
  548.           
  549.         </c:forEach>  
  550.         <tr>  
  551.             <td colspan="3">总价(totalprice)</td>  
  552.             <td colspan="1">${cart.price }¥</td>  
  553.             <td>  
  554.                   <!--<a href="${pageContext.request.contextPath}/servlet/ClearCartServlet">清空购物车</a>-->  
  555.                 <a href="javascript:clearcart()">清空购物车</a>  
  556.             </td>  
  557.              <td> <a href="javascript:pay()">去结算</a></td>  
  558.         </tr>  
  559.   
  560.       </table>  
  561.       <a href="${pageContext.request.contextPath}/servlet/ListBookServlet">返回继续购物</a>  
  562.        </c:if>  
  563.   </body>  
  564. </html>  
  565.   
  566.   
  567. //index.jsp  
  568. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  569. <%  
  570. String path = request.getContextPath();  
  571. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  572. %>  
  573.   
  574. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  575. <html>  
  576.   <head>  
  577.     <base href="<%=basePath%>">  
  578.       
  579.     <title>网上购物首页</title>  
  580.       
  581.   </head>  
  582.   <body>  
  583.   <font color="red" size="15px">   想要你的书架上再多几本书吗?</font><br/>点击图片进入  
  584.     
  585.     <a href="${pageContext.request.contextPath}/servlet/ListBookServlet"> <img src="./images/book.jpg" width="350" height="350"/>  </a>  
  586.   </body>  
  587. </html>  


//DBConn.java

[java]  view plain copy
  1. package com.hbsi.utils;  
  2.   
  3. import java.sql.Connection;  
  4. import java.sql.DriverManager;  
  5. import java.sql.PreparedStatement;  
  6. import java.sql.ResultSet;  
  7. import java.sql.SQLException;  
  8.   
  9. public class DBConn {  
  10.     private static Connection conn=null;  
  11.     public static Connection getConn(){  
  12.         if(conn==null){  
  13.             try {  
  14.                 Class.forName("com.mysql.jdbc.Driver");  
  15.                 try {  
  16.                     conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/bookdb?user=root&password=root&useUnicode=true&characterEncoding=UTF-8");  
  17.                 } catch (SQLException e) {  
  18.                     // TODO Auto-generated catch block  
  19.                     e.printStackTrace();  
  20.                 }  
  21.             } catch (ClassNotFoundException e) {  
  22.                 // TODO Auto-generated catch block  
  23.                 e.printStackTrace();  
  24.             }  
  25.         }  
  26.           
  27.           
  28.         return conn;  
  29.           
  30.     }  
  31.     public static void realse(ResultSet rs, PreparedStatement pstmt) {  
  32.         if(rs!=null){  
  33.             try {  
  34.                 rs.close();  
  35.             } catch (SQLException e) {  
  36.                 // TODO Auto-generated catch block  
  37.                 e.printStackTrace();  
  38.             }  
  39.         }  
  40.         if(pstmt!=null){  
  41.             try {  
  42.                 pstmt.close();  
  43.             } catch (SQLException e) {  
  44.                 // TODO Auto-generated catch block  
  45.                 e.printStackTrace();  
  46.             }  
  47.         }  
  48.     }  
  49.   
  50.   
  51. }  


//DBManager.java

[java]  view plain copy
  1. package com.hbsi.utils;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.InputStream;  
  5. import java.sql.Connection;  
  6. import java.sql.DriverManager;  
  7. import java.sql.ResultSet;  
  8. import java.sql.SQLException;  
  9. import java.sql.Statement;  
  10. import java.util.Properties;  
  11.   
  12. public class DBManager {  
  13.   
  14.     /** 
  15.      * @param args 
  16.      */  
  17.     static String driver;  
  18.     static String url;  
  19.     static String username;  
  20.     static String password;  
  21.       
  22.       
  23.     static{  
  24.         InputStream in=DBManager.class.getClassLoader().getResourceAsStream("db.properties");  
  25.         Properties pro=new Properties();  
  26.         try {  
  27.             pro.load(in);  
  28.         } catch (IOException e) {  
  29.             // TODO Auto-generated catch block  
  30.             e.printStackTrace();  
  31.         }  
  32.           
  33.         driver = pro.getProperty("driver");  
  34.       
  35.         url = pro.getProperty("url");  
  36.           
  37.         username = pro.getProperty("username");  
  38.           
  39.         password = pro.getProperty("password");  
  40.         try {  
  41.             Class.forName(driver);  
  42.         } catch (ClassNotFoundException e) {  
  43.             // TODO Auto-generated catch block  
  44.             e.printStackTrace();  
  45.         }  
  46.           
  47.     }  
  48.     public static Connection getConnection(){  
  49.         Connection con=null;  
  50.           
  51.           
  52.         try {  
  53.             con=DriverManager.getConnection(url,username,password);  
  54.               
  55.         } catch (SQLException e) {  
  56.             // TODO Auto-generated catch block  
  57.             e.printStackTrace();  
  58.         }  
  59.         return con;  
  60.   
  61.     }  
  62.       
  63.     public static void closeDB(Connection con,Statement st,ResultSet rs){  
  64.         if(rs!=null){  
  65.             try {  
  66.                 rs.close();  
  67.             } catch (SQLException e) {  
  68.                 // TODO Auto-generated catch block  
  69.                 e.printStackTrace();  
  70.             }  
  71.         }  
  72.         if(st!=null){  
  73.             try {  
  74.                 st.close();  
  75.             } catch (SQLException e) {  
  76.                 // TODO Auto-generated catch block  
  77.                 e.printStackTrace();  
  78.             }  
  79.         }  
  80.         if(con!=null){  
  81.             try {  
  82.                 con.close();  
  83.             } catch (SQLException e) {  
  84.                 // TODO Auto-generated catch block  
  85.                 e.printStackTrace();  
  86.             }  
  87.         }  
  88.           
  89.     }  
  90.       
  91.       
  92.     public static void main(String[] args) {  
  93.         getConnection();  
  94.   
  95.       
  96.   
  97. }  
  98. }  
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页