• 总结


    这一周学习了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方法中调用新增的两个方法来处理前端提交的请求。

  • 相关阅读:
    ConcurrentHashMap实现原理--转载
    java原子操作的实现原理--转载
    Catch Me If You ... Can't Do Otherwise--转载
    微框架spark--api开发利器
    Exploring Micro-frameworks: Spring Boot--转载
    简约之美jodd--props属性使用
    jodd-cache集锦
    java根据url获取完整域名
    Jodd-vtor验证框架
    倒排列表求交集算法 包括baeza yates的交集算法
  • 原文地址:https://www.cnblogs.com/jasonlixuetao/p/5816139.html
Copyright © 2020-2023  润新知