总结

这一周学习了JSP和servlet,一周前还不知道它们之间的区别,在mooc上照着一个教程copy了一个项目,算是明白了JSP和Servlet各自的用途。

项目用的是model2模型

 

 

模型层(javabean)中是项目中要用到的类:

  模型类(名称可能不规范):entity包:Items类、Cart类

  工具类:util包:DBhelper(连接数据库)

  业务逻辑类:dao包:ItemsDAO类

Items类(商品):商品的各种属性(id,name,price,city,number,picture),属性的setter和getter,无参和含参的构造器,以及后面为了在购物车中合并相同商品而override的equals方法和hashcode方法。

 

Cart类(购物车):

  购物车的属性: HashMap<Items,Integer>goods(一个商品的集合,key为商品,value为数量)、double totalPrice(总金额)

  购物车的方法:属性的setter和getter,构造器,新增商品到购物车(addGoodsInCart),从购物车中删除商品(deleteGoodsFromCart),计算总金额(calTotalPrice).

 

 

ItemsDAO类:

  方法:getAllItems,getItemById 这两个方法用于从数据库中读入数据,getViewList(调用getItemById)这个方法用于后面在页面上显示浏览记录,给一个商品ID序列返回一个ArrayList<Items>

 

DBhelper类:连接数据库,方法:getConnection(获得连接)

public class DBhelper {
    private static final String driver = "com.mysql.jdbc.Driver";
    private static final String url = "jdbc:mysql://localhost:3306/shopping?useUnicode=true&characterEncoding=UTF-8";
    private static final String username = "root";
    private static final String password = "";

    private static Connection conn = null;
    static {
        try {
            Class.forName(driver);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

    }

    public static Connection getConnection() throws SQLException {
        if (conn == null) {
            conn = DriverManager.getConnection(url, username, password);
            return conn;
        }
        return conn;
    }

 

前端JSP页面:

  index.jsp :商品列表页面

  cart.jsp :购物车页面

  details.jsp :商品详情页面

  failure.jsp :添加到购物车失败页面

  success.jsp :添加到购物车成功页面

 

后台Servlet:servlet/CartServlet

  功能如上图所示:jsp页面的操作信息提交到servlet,servlet通过调用业务逻辑类总的方法实现数据库的修改和返回信息。

  重写doget,dopost方法,新增两个方法:private addToCart,private deleteFromCart,在doget和dopost方法中调用新增的两个方法来处理前端提交的请求。

 

posted on 2016-08-28 22:02  JASONlee3  阅读(163)  评论(0编辑  收藏  举报

导航