├── README ├── 主页.png ├── 注册.png ├── 登录.png ├── ._主页.png ├── ._注册.png ├── ._登录.png ├── ._购物车.png ├── 个人中心.png ├── 商品管理.png ├── 我的订单.png ├── 按类目查询.png ├── 搜索商品.png ├── 新品商品.png ├── 新增商品.png ├── 热销商品.png ├── 用户管理.png ├── 订单管理.png ├── 购物车.png ├── ._个人中心.png ├── ._商品管理.png ├── ._我的订单.png ├── ._按类目查询.png ├── ._搜索商品.png ├── ._新品商品.png ├── ._新增商品.png ├── ._热销商品.png ├── ._用户管理.png ├── ._订单管理.png ├── 商品类目管理.png ├── 商品详细信息.png ├── ._商品类目管理.png └── ._商品详细信息.png ├── SQL ├── ._.DS_Store └── ._CakeShop.sql ├── web ├── admin │ ├── ._css │ ├── ._img │ ├── ._js │ ├── ._index.jsp │ ├── img │ │ ├── bg.jpg │ │ └── ._bg.jpg │ ├── ._header.jsp │ ├── ._goods_add.jsp │ ├── ._goods_edit.jsp │ ├── ._goods_list.jsp │ ├── ._order_list.jsp │ ├── ._type_edit.jsp │ ├── ._type_list.jsp │ ├── ._user_add.jsp │ ├── ._user_edit.jsp │ ├── ._user_list.jsp │ ├── ._user_reset.jsp │ ├── js │ │ └── ._jquery.js │ ├── css │ │ └── ._bootstrap.css │ ├── index.jsp │ ├── header.jsp │ ├── type_edit.jsp │ ├── user_reset.jsp │ ├── type_list.jsp │ ├── user_list.jsp │ ├── user_edit.jsp │ ├── user_add.jsp │ ├── goods_add.jsp │ ├── goods_edit.jsp │ ├── order_list.jsp │ └── goods_list.jsp ├── js │ ├── ._cart.js │ ├── ._theme │ ├── ._layer.js │ ├── ._jquery.min.js │ ├── theme │ │ ├── ._default │ │ └── default │ │ │ ├── ._icon.png │ │ │ ├── icon.png │ │ │ ├── ._layer.css │ │ │ ├── icon-ext.png │ │ │ ├── ._icon-ext.png │ │ │ ├── ._loading-0.gif │ │ │ ├── ._loading-1.gif │ │ │ ├── ._loading-2.gif │ │ │ ├── loading-0.gif │ │ │ ├── loading-1.gif │ │ │ └── loading-2.gif │ ├── ._bootstrap.min.js │ ├── ._jquery.flexslider.js │ └── cart.js ├── layer │ ├── ._theme │ ├── ._layer.js │ └── theme │ │ ├── ._default │ │ └── default │ │ ├── icon.png │ │ ├── ._icon.png │ │ ├── ._layer.css │ │ ├── icon-ext.png │ │ ├── ._icon-ext.png │ │ ├── loading-0.gif │ │ ├── loading-1.gif │ │ ├── loading-2.gif │ │ ├── ._loading-0.gif │ │ ├── ._loading-1.gif │ │ └── ._loading-2.gif ├── images │ ├── ._slid.jpg │ ├── alipay.jpg │ ├── slid.jpg │ ├── slid2.jpg │ ├── wechat.jpg │ ├── ._alipay.jpg │ ├── ._slid2.jpg │ ├── ._wechat.jpg │ ├── offline.jpg │ └── ._offline.jpg ├── picture │ ├── ._1-1.jpg │ ├── ._1-2.jpg │ ├── ._1-3.jpg │ ├── ._2-1.jpg │ ├── ._2-2.jpg │ ├── ._2-3.jpg │ ├── ._3-1.jpg │ ├── ._3-2.jpg │ ├── ._3-3.jpg │ ├── ._4-1.jpg │ ├── ._4-2.jpg │ ├── ._4-3.jpg │ ├── ._5-1.jpg │ ├── ._5-2.jpg │ ├── ._5-3.jpg │ ├── ._6-1.jpg │ ├── ._6-2.jpg │ ├── ._6-3.jpg │ ├── ._7-1.jpg │ ├── ._7-2.jpg │ ├── ._7-3.jpg │ ├── ._8-1.jpg │ ├── ._8-2.jpg │ ├── ._8-3.jpg │ ├── ._9-1.jpg │ ├── ._9-2.jpg │ ├── ._9-3.jpg │ ├── 1-1.jpg │ ├── 1-2.jpg │ ├── 1-3.jpg │ ├── 10-1.jpg │ ├── 10-2.jpg │ ├── 10-3.jpg │ ├── 11-1.jpg │ ├── 12-1.jpg │ ├── 12-2.jpg │ ├── 13-1.jpg │ ├── 14-1.jpg │ ├── 2-1.jpg │ ├── 2-2.jpg │ ├── 2-3.jpg │ ├── 3-1.jpg │ ├── 3-2.jpg │ ├── 3-3.jpg │ ├── 4-1.jpg │ ├── 4-2.jpg │ ├── 4-3.jpg │ ├── 5-1.jpg │ ├── 5-2.jpg │ ├── 5-3.jpg │ ├── 6-1.jpg │ ├── 6-2.jpg │ ├── 6-3.jpg │ ├── 7-1.jpg │ ├── 7-2.jpg │ ├── 7-3.jpg │ ├── 8-1.jpg │ ├── 8-2.jpg │ ├── 8-3.jpg │ ├── 9-1.jpg │ ├── 9-2.jpg │ ├── 9-3.jpg │ ├── ._10-1.jpg │ ├── ._10-2.jpg │ ├── ._10-3.jpg │ ├── ._11-1.jpg │ ├── ._12-1.jpg │ ├── ._12-2.jpg │ ├── ._13-1.jpg │ └── ._14-1.jpg ├── WEB-INF │ ├── lib │ │ ├── jstl-1.2.jar │ │ ├── c3p0-0.9.5.2.jar │ │ ├── commons-io-2.6.jar │ │ ├── commons-dbutils-1.7.jar │ │ ├── commons-logging-1.2.jar │ │ ├── commons-beanutils-1.9.3.jar │ │ ├── commons-fileupload-1.3.3.jar │ │ ├── mchange-commons-java-0.2.11.jar │ │ └── mysql-connector-java-5.1.49.jar │ └── web.xml ├── fonts │ ├── Marvel-Regular.ttf │ ├── Roboto-Regular.ttf │ ├── ._Marvel-Regular.ttf │ ├── ._Roboto-Regular.ttf │ ├── glyphicons-halflings-regular.woff │ ├── ._glyphicons-halflings-regular.woff │ ├── ._glyphicons-halflings-regular.woff2 │ └── glyphicons-halflings-regular.woff2 ├── footer.jsp ├── order_success.jsp ├── page.jsp ├── user_login.jsp ├── goods_search.jsp ├── goods_cart.jsp ├── user_register.jsp ├── user_center.jsp ├── order_list.jsp ├── goods_list.jsp ├── goodsrecommend_list.jsp ├── order_submit.jsp ├── goods_detail.jsp └── index.jsp ├── .idea ├── vcs.xml ├── .gitignore ├── modules.xml ├── misc.xml ├── runConfigurations.xml ├── artifacts │ └── CookieShop.xml └── libraries │ ├── lib1.xml │ └── lib.xml ├── src ├── c3p0-config.xml ├── utils │ ├── DBUtil.java │ └── PriceUtil.java ├── filter │ ├── EncodeFilter.java │ └── AdminFilter.java ├── model │ ├── Recommend.java │ ├── Type.java │ ├── Page.java │ ├── OrderItem.java │ ├── Goods.java │ ├── User.java │ └── Order.java ├── servlet │ ├── UserLogoutServlet.java │ ├── AdminOrderDeleteServlet.java │ ├── AdminOrderStatusServlet.java │ ├── GoodsDeleteServlet.java │ ├── GoodsLessenServlet.java │ ├── OrderSubmitServlet.java │ ├── AdminUserEditshowServlet.java │ ├── GoodsDetailServlet.java │ ├── OrderListServlet.java │ ├── AdminUserEditServlet.java │ ├── AdminGoodsDeleteServlet.java │ ├── AdminTypeAddServlet.java │ ├── IndexServlet.java │ ├── UserLoginServlet.java │ ├── AdminGoodsEditshowServelt.java │ ├── AdminUserResetServlet.java │ ├── GoodsBuyServlet.java │ ├── AdminTypeListServlet.java │ ├── UserChangePwd.java │ ├── AdminTypeDeleteServlet.java │ ├── AdminUserDeleteServlet.java │ ├── AdminTypeEditServlet.java │ ├── AdminGoodsRecommendServlet.java │ ├── UserChangeAddressServlet.java │ ├── UserRegisterServlet.java │ ├── GoodRecommendListServlet.java │ ├── AdminUserAddServlet.java │ ├── OrderConfirmServlet.java │ ├── AdminUserListServlet.java │ ├── AdminOrderListServlet.java │ ├── GoodsSearchServlet.java │ ├── AdminGoodsListServlet.java │ ├── GoodsListServlet.java │ └── AdminGoodsAddServlet.java ├── dao │ ├── TypeDao.java │ ├── UserDao.java │ └── OrderDao.java ├── service │ ├── TypeService.java │ ├── UserService.java │ └── OrderService.java └── listener │ └── ApplicationListener.java ├── CookieShop.iml └── README.md /README/主页.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/主页.png -------------------------------------------------------------------------------- /README/注册.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/注册.png -------------------------------------------------------------------------------- /README/登录.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/登录.png -------------------------------------------------------------------------------- /README/._主页.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/._主页.png -------------------------------------------------------------------------------- /README/._注册.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/._注册.png -------------------------------------------------------------------------------- /README/._登录.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/._登录.png -------------------------------------------------------------------------------- /README/._购物车.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/._购物车.png -------------------------------------------------------------------------------- /README/个人中心.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/个人中心.png -------------------------------------------------------------------------------- /README/商品管理.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/商品管理.png -------------------------------------------------------------------------------- /README/我的订单.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/我的订单.png -------------------------------------------------------------------------------- /README/按类目查询.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/按类目查询.png -------------------------------------------------------------------------------- /README/搜索商品.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/搜索商品.png -------------------------------------------------------------------------------- /README/新品商品.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/新品商品.png -------------------------------------------------------------------------------- /README/新增商品.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/新增商品.png -------------------------------------------------------------------------------- /README/热销商品.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/热销商品.png -------------------------------------------------------------------------------- /README/用户管理.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/用户管理.png -------------------------------------------------------------------------------- /README/订单管理.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/订单管理.png -------------------------------------------------------------------------------- /README/购物车.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/购物车.png -------------------------------------------------------------------------------- /SQL/._.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/SQL/._.DS_Store -------------------------------------------------------------------------------- /web/admin/._css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/._css -------------------------------------------------------------------------------- /web/admin/._img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/._img -------------------------------------------------------------------------------- /web/admin/._js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/._js -------------------------------------------------------------------------------- /web/js/._cart.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/._cart.js -------------------------------------------------------------------------------- /web/js/._theme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/._theme -------------------------------------------------------------------------------- /README/._个人中心.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/._个人中心.png -------------------------------------------------------------------------------- /README/._商品管理.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/._商品管理.png -------------------------------------------------------------------------------- /README/._我的订单.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/._我的订单.png -------------------------------------------------------------------------------- /README/._按类目查询.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/._按类目查询.png -------------------------------------------------------------------------------- /README/._搜索商品.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/._搜索商品.png -------------------------------------------------------------------------------- /README/._新品商品.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/._新品商品.png -------------------------------------------------------------------------------- /README/._新增商品.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/._新增商品.png -------------------------------------------------------------------------------- /README/._热销商品.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/._热销商品.png -------------------------------------------------------------------------------- /README/._用户管理.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/._用户管理.png -------------------------------------------------------------------------------- /README/._订单管理.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/._订单管理.png -------------------------------------------------------------------------------- /README/商品类目管理.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/商品类目管理.png -------------------------------------------------------------------------------- /README/商品详细信息.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/商品详细信息.png -------------------------------------------------------------------------------- /SQL/._CakeShop.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/SQL/._CakeShop.sql -------------------------------------------------------------------------------- /web/js/._layer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/._layer.js -------------------------------------------------------------------------------- /web/layer/._theme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/layer/._theme -------------------------------------------------------------------------------- /README/._商品类目管理.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/._商品类目管理.png -------------------------------------------------------------------------------- /README/._商品详细信息.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/README/._商品详细信息.png -------------------------------------------------------------------------------- /web/admin/._index.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/._index.jsp -------------------------------------------------------------------------------- /web/admin/img/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/img/bg.jpg -------------------------------------------------------------------------------- /web/images/._slid.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/images/._slid.jpg -------------------------------------------------------------------------------- /web/images/alipay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/images/alipay.jpg -------------------------------------------------------------------------------- /web/images/slid.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/images/slid.jpg -------------------------------------------------------------------------------- /web/images/slid2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/images/slid2.jpg -------------------------------------------------------------------------------- /web/images/wechat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/images/wechat.jpg -------------------------------------------------------------------------------- /web/layer/._layer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/layer/._layer.js -------------------------------------------------------------------------------- /web/picture/._1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._1-1.jpg -------------------------------------------------------------------------------- /web/picture/._1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._1-2.jpg -------------------------------------------------------------------------------- /web/picture/._1-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._1-3.jpg -------------------------------------------------------------------------------- /web/picture/._2-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._2-1.jpg -------------------------------------------------------------------------------- /web/picture/._2-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._2-2.jpg -------------------------------------------------------------------------------- /web/picture/._2-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._2-3.jpg -------------------------------------------------------------------------------- /web/picture/._3-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._3-1.jpg -------------------------------------------------------------------------------- /web/picture/._3-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._3-2.jpg -------------------------------------------------------------------------------- /web/picture/._3-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._3-3.jpg -------------------------------------------------------------------------------- /web/picture/._4-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._4-1.jpg -------------------------------------------------------------------------------- /web/picture/._4-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._4-2.jpg -------------------------------------------------------------------------------- /web/picture/._4-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._4-3.jpg -------------------------------------------------------------------------------- /web/picture/._5-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._5-1.jpg -------------------------------------------------------------------------------- /web/picture/._5-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._5-2.jpg -------------------------------------------------------------------------------- /web/picture/._5-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._5-3.jpg -------------------------------------------------------------------------------- /web/picture/._6-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._6-1.jpg -------------------------------------------------------------------------------- /web/picture/._6-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._6-2.jpg -------------------------------------------------------------------------------- /web/picture/._6-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._6-3.jpg -------------------------------------------------------------------------------- /web/picture/._7-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._7-1.jpg -------------------------------------------------------------------------------- /web/picture/._7-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._7-2.jpg -------------------------------------------------------------------------------- /web/picture/._7-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._7-3.jpg -------------------------------------------------------------------------------- /web/picture/._8-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._8-1.jpg -------------------------------------------------------------------------------- /web/picture/._8-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._8-2.jpg -------------------------------------------------------------------------------- /web/picture/._8-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._8-3.jpg -------------------------------------------------------------------------------- /web/picture/._9-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._9-1.jpg -------------------------------------------------------------------------------- /web/picture/._9-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._9-2.jpg -------------------------------------------------------------------------------- /web/picture/._9-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._9-3.jpg -------------------------------------------------------------------------------- /web/picture/1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/1-1.jpg -------------------------------------------------------------------------------- /web/picture/1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/1-2.jpg -------------------------------------------------------------------------------- /web/picture/1-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/1-3.jpg -------------------------------------------------------------------------------- /web/picture/10-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/10-1.jpg -------------------------------------------------------------------------------- /web/picture/10-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/10-2.jpg -------------------------------------------------------------------------------- /web/picture/10-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/10-3.jpg -------------------------------------------------------------------------------- /web/picture/11-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/11-1.jpg -------------------------------------------------------------------------------- /web/picture/12-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/12-1.jpg -------------------------------------------------------------------------------- /web/picture/12-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/12-2.jpg -------------------------------------------------------------------------------- /web/picture/13-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/13-1.jpg -------------------------------------------------------------------------------- /web/picture/14-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/14-1.jpg -------------------------------------------------------------------------------- /web/picture/2-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/2-1.jpg -------------------------------------------------------------------------------- /web/picture/2-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/2-2.jpg -------------------------------------------------------------------------------- /web/picture/2-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/2-3.jpg -------------------------------------------------------------------------------- /web/picture/3-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/3-1.jpg -------------------------------------------------------------------------------- /web/picture/3-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/3-2.jpg -------------------------------------------------------------------------------- /web/picture/3-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/3-3.jpg -------------------------------------------------------------------------------- /web/picture/4-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/4-1.jpg -------------------------------------------------------------------------------- /web/picture/4-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/4-2.jpg -------------------------------------------------------------------------------- /web/picture/4-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/4-3.jpg -------------------------------------------------------------------------------- /web/picture/5-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/5-1.jpg -------------------------------------------------------------------------------- /web/picture/5-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/5-2.jpg -------------------------------------------------------------------------------- /web/picture/5-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/5-3.jpg -------------------------------------------------------------------------------- /web/picture/6-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/6-1.jpg -------------------------------------------------------------------------------- /web/picture/6-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/6-2.jpg -------------------------------------------------------------------------------- /web/picture/6-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/6-3.jpg -------------------------------------------------------------------------------- /web/picture/7-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/7-1.jpg -------------------------------------------------------------------------------- /web/picture/7-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/7-2.jpg -------------------------------------------------------------------------------- /web/picture/7-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/7-3.jpg -------------------------------------------------------------------------------- /web/picture/8-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/8-1.jpg -------------------------------------------------------------------------------- /web/picture/8-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/8-2.jpg -------------------------------------------------------------------------------- /web/picture/8-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/8-3.jpg -------------------------------------------------------------------------------- /web/picture/9-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/9-1.jpg -------------------------------------------------------------------------------- /web/picture/9-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/9-2.jpg -------------------------------------------------------------------------------- /web/picture/9-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/9-3.jpg -------------------------------------------------------------------------------- /web/admin/._header.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/._header.jsp -------------------------------------------------------------------------------- /web/admin/img/._bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/img/._bg.jpg -------------------------------------------------------------------------------- /web/images/._alipay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/images/._alipay.jpg -------------------------------------------------------------------------------- /web/images/._slid2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/images/._slid2.jpg -------------------------------------------------------------------------------- /web/images/._wechat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/images/._wechat.jpg -------------------------------------------------------------------------------- /web/images/offline.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/images/offline.jpg -------------------------------------------------------------------------------- /web/js/._jquery.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/._jquery.min.js -------------------------------------------------------------------------------- /web/js/theme/._default: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/theme/._default -------------------------------------------------------------------------------- /web/picture/._10-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._10-1.jpg -------------------------------------------------------------------------------- /web/picture/._10-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._10-2.jpg -------------------------------------------------------------------------------- /web/picture/._10-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._10-3.jpg -------------------------------------------------------------------------------- /web/picture/._11-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._11-1.jpg -------------------------------------------------------------------------------- /web/picture/._12-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._12-1.jpg -------------------------------------------------------------------------------- /web/picture/._12-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._12-2.jpg -------------------------------------------------------------------------------- /web/picture/._13-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._13-1.jpg -------------------------------------------------------------------------------- /web/picture/._14-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/picture/._14-1.jpg -------------------------------------------------------------------------------- /web/admin/._goods_add.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/._goods_add.jsp -------------------------------------------------------------------------------- /web/admin/._goods_edit.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/._goods_edit.jsp -------------------------------------------------------------------------------- /web/admin/._goods_list.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/._goods_list.jsp -------------------------------------------------------------------------------- /web/admin/._order_list.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/._order_list.jsp -------------------------------------------------------------------------------- /web/admin/._type_edit.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/._type_edit.jsp -------------------------------------------------------------------------------- /web/admin/._type_list.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/._type_list.jsp -------------------------------------------------------------------------------- /web/admin/._user_add.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/._user_add.jsp -------------------------------------------------------------------------------- /web/admin/._user_edit.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/._user_edit.jsp -------------------------------------------------------------------------------- /web/admin/._user_list.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/._user_list.jsp -------------------------------------------------------------------------------- /web/admin/._user_reset.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/._user_reset.jsp -------------------------------------------------------------------------------- /web/admin/js/._jquery.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/js/._jquery.js -------------------------------------------------------------------------------- /web/images/._offline.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/images/._offline.jpg -------------------------------------------------------------------------------- /web/js/._bootstrap.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/._bootstrap.min.js -------------------------------------------------------------------------------- /web/layer/theme/._default: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/layer/theme/._default -------------------------------------------------------------------------------- /web/WEB-INF/lib/jstl-1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/WEB-INF/lib/jstl-1.2.jar -------------------------------------------------------------------------------- /web/fonts/Marvel-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/fonts/Marvel-Regular.ttf -------------------------------------------------------------------------------- /web/fonts/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/fonts/Roboto-Regular.ttf -------------------------------------------------------------------------------- /web/admin/css/._bootstrap.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/admin/css/._bootstrap.css -------------------------------------------------------------------------------- /web/fonts/._Marvel-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/fonts/._Marvel-Regular.ttf -------------------------------------------------------------------------------- /web/fonts/._Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/fonts/._Roboto-Regular.ttf -------------------------------------------------------------------------------- /web/js/._jquery.flexslider.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/._jquery.flexslider.js -------------------------------------------------------------------------------- /web/js/theme/default/._icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/theme/default/._icon.png -------------------------------------------------------------------------------- /web/js/theme/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/theme/default/icon.png -------------------------------------------------------------------------------- /web/WEB-INF/lib/c3p0-0.9.5.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/WEB-INF/lib/c3p0-0.9.5.2.jar -------------------------------------------------------------------------------- /web/js/theme/default/._layer.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/theme/default/._layer.css -------------------------------------------------------------------------------- /web/js/theme/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/theme/default/icon-ext.png -------------------------------------------------------------------------------- /web/layer/theme/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/layer/theme/default/icon.png -------------------------------------------------------------------------------- /web/WEB-INF/lib/commons-io-2.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/WEB-INF/lib/commons-io-2.6.jar -------------------------------------------------------------------------------- /web/js/theme/default/._icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/theme/default/._icon-ext.png -------------------------------------------------------------------------------- /web/js/theme/default/._loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/theme/default/._loading-0.gif -------------------------------------------------------------------------------- /web/js/theme/default/._loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/theme/default/._loading-1.gif -------------------------------------------------------------------------------- /web/js/theme/default/._loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/theme/default/._loading-2.gif -------------------------------------------------------------------------------- /web/js/theme/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/theme/default/loading-0.gif -------------------------------------------------------------------------------- /web/js/theme/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/theme/default/loading-1.gif -------------------------------------------------------------------------------- /web/js/theme/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/js/theme/default/loading-2.gif -------------------------------------------------------------------------------- /web/layer/theme/default/._icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/layer/theme/default/._icon.png -------------------------------------------------------------------------------- /web/layer/theme/default/._layer.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/layer/theme/default/._layer.css -------------------------------------------------------------------------------- /web/layer/theme/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/layer/theme/default/icon-ext.png -------------------------------------------------------------------------------- /web/layer/theme/default/._icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/layer/theme/default/._icon-ext.png -------------------------------------------------------------------------------- /web/layer/theme/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/layer/theme/default/loading-0.gif -------------------------------------------------------------------------------- /web/layer/theme/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/layer/theme/default/loading-1.gif -------------------------------------------------------------------------------- /web/layer/theme/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/layer/theme/default/loading-2.gif -------------------------------------------------------------------------------- /web/WEB-INF/lib/commons-dbutils-1.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/WEB-INF/lib/commons-dbutils-1.7.jar -------------------------------------------------------------------------------- /web/WEB-INF/lib/commons-logging-1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/WEB-INF/lib/commons-logging-1.2.jar -------------------------------------------------------------------------------- /web/layer/theme/default/._loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/layer/theme/default/._loading-0.gif -------------------------------------------------------------------------------- /web/layer/theme/default/._loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/layer/theme/default/._loading-1.gif -------------------------------------------------------------------------------- /web/layer/theme/default/._loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/layer/theme/default/._loading-2.gif -------------------------------------------------------------------------------- /web/WEB-INF/lib/commons-beanutils-1.9.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/WEB-INF/lib/commons-beanutils-1.9.3.jar -------------------------------------------------------------------------------- /web/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /web/WEB-INF/lib/commons-fileupload-1.3.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/WEB-INF/lib/commons-fileupload-1.3.3.jar -------------------------------------------------------------------------------- /web/fonts/._glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/fonts/._glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /web/fonts/._glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/fonts/._glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /web/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /web/WEB-INF/lib/mchange-commons-java-0.2.11.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/WEB-INF/lib/mchange-commons-java-0.2.11.jar -------------------------------------------------------------------------------- /web/WEB-INF/lib/mysql-connector-java-5.1.49.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duanYunXu/cookieshop/HEAD/web/WEB-INF/lib/mysql-connector-java-5.1.49.jar -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | # Zeppelin ignored files 10 | /ZeppelinRemoteNotebooks/ 11 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /web/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | index 8 | 9 | -------------------------------------------------------------------------------- /src/c3p0-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.mysql.jdbc.Driver 6 | 7 | 8 | 9 | root 10 | root 11 | 12 | 13 | -------------------------------------------------------------------------------- /web/footer.jsp: -------------------------------------------------------------------------------- 1 | <%-- 2 | Created by IntelliJ IDEA. 3 | User: 19767 4 | Date: 2018/11/23 5 | Time: 16:03 6 | To change this template use File | Settings | File Templates. 7 | --%> 8 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 9 | 10 | 17 | -------------------------------------------------------------------------------- /src/utils/DBUtil.java: -------------------------------------------------------------------------------- 1 | package utils; 2 | 3 | import com.mchange.v2.c3p0.ComboPooledDataSource; 4 | 5 | import javax.sql.DataSource; 6 | import java.sql.Connection; 7 | import java.sql.SQLException; 8 | 9 | public class DBUtil { 10 | private static DataSource ds=new ComboPooledDataSource(); 11 | 12 | public static DataSource getDataSource() 13 | { 14 | return ds; 15 | } 16 | public static Connection getConnection() throws SQLException { 17 | return ds.getConnection(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /web/admin/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 3 | 4 | 5 | 6 | 7 | 后台管理 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |

21 | 22 | 23 | 24 |
25 | 26 | -------------------------------------------------------------------------------- /src/filter/EncodeFilter.java: -------------------------------------------------------------------------------- 1 | package filter; 2 | 3 | import javax.servlet.*; 4 | import javax.servlet.annotation.WebFilter; 5 | import java.io.IOException; 6 | 7 | @WebFilter(filterName = "EncodeFilter",urlPatterns = "/*") 8 | public class EncodeFilter implements Filter { 9 | public void destroy() { 10 | } 11 | 12 | public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { 13 | req.setCharacterEncoding("utf-8"); 14 | chain.doFilter(req, resp); 15 | } 16 | 17 | public void init(FilterConfig config) throws ServletException { 18 | 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /.idea/artifacts/CookieShop.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | $PROJECT_DIR$/out/artifacts/CookieShop 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/model/Recommend.java: -------------------------------------------------------------------------------- 1 | package model; 2 | 3 | public class Recommend { 4 | private int id; 5 | private int type;//1条幅 2热销 3新品 6 | private Goods goods; 7 | 8 | public int getId() { 9 | return id; 10 | } 11 | public void setId(int id) { 12 | this.id = id; 13 | } 14 | public int getType() { 15 | return type; 16 | } 17 | public void setType(int type) { 18 | this.type = type; 19 | } 20 | public Goods getGoods() { 21 | return goods; 22 | } 23 | public void setGoods(Goods goods) { 24 | this.goods = goods; 25 | } 26 | public Recommend(int id, int type, Goods goods) { 27 | super(); 28 | this.id = id; 29 | this.type = type; 30 | this.goods = goods; 31 | } 32 | public Recommend() { 33 | super(); 34 | } 35 | 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/servlet/UserLogoutServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import javax.servlet.ServletException; 4 | import javax.servlet.annotation.WebServlet; 5 | import javax.servlet.http.HttpServlet; 6 | import javax.servlet.http.HttpServletRequest; 7 | import javax.servlet.http.HttpServletResponse; 8 | import java.io.IOException; 9 | 10 | @WebServlet(name = "user_logout",urlPatterns = "/user_logout") 11 | public class UserLogoutServlet extends HttpServlet { 12 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 13 | 14 | } 15 | 16 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 17 | request.getSession().removeAttribute("user"); 18 | response.sendRedirect(request.getContextPath()+"/index"); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/servlet/AdminOrderDeleteServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import service.OrderService; 4 | 5 | import javax.servlet.ServletException; 6 | import javax.servlet.annotation.WebServlet; 7 | import javax.servlet.http.HttpServlet; 8 | import javax.servlet.http.HttpServletRequest; 9 | import javax.servlet.http.HttpServletResponse; 10 | import java.io.IOException; 11 | 12 | @WebServlet(name = "admin_order_delete",urlPatterns = "/admin/order_delete") 13 | public class AdminOrderDeleteServlet extends HttpServlet { 14 | private OrderService oService = new OrderService(); 15 | 16 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 17 | int id = Integer.parseInt(request.getParameter("id")); 18 | 19 | oService.delete(id); 20 | request.getRequestDispatcher("/admin/order_list").forward(request, response); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/servlet/AdminOrderStatusServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import service.OrderService; 4 | 5 | import javax.servlet.ServletException; 6 | import javax.servlet.annotation.WebServlet; 7 | import javax.servlet.http.HttpServlet; 8 | import javax.servlet.http.HttpServletRequest; 9 | import javax.servlet.http.HttpServletResponse; 10 | import java.io.IOException; 11 | 12 | @WebServlet(name = "admin_order_status",urlPatterns = "/admin/order_status") 13 | public class AdminOrderStatusServlet extends HttpServlet { 14 | private OrderService oService = new OrderService(); 15 | 16 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 17 | int id = Integer.parseInt(request.getParameter("id")); 18 | int status = Integer.parseInt(request.getParameter("status")); 19 | oService.updateStatus(id, status); 20 | response.sendRedirect("/admin/order_list?status="+status); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/servlet/GoodsDeleteServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.Order; 4 | 5 | import javax.servlet.ServletException; 6 | import javax.servlet.annotation.WebServlet; 7 | import javax.servlet.http.HttpServlet; 8 | import javax.servlet.http.HttpServletRequest; 9 | import javax.servlet.http.HttpServletResponse; 10 | import java.io.IOException; 11 | 12 | @WebServlet(name = "goods_delete",urlPatterns = "/goods_delete") 13 | public class GoodsDeleteServlet extends HttpServlet { 14 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 15 | Order o = (Order) request.getSession().getAttribute("order"); 16 | int goodsid = Integer.parseInt(request.getParameter("goodsid")); 17 | o.delete(goodsid); 18 | response.getWriter().print("ok"); 19 | } 20 | 21 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/servlet/GoodsLessenServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.Order; 4 | 5 | import javax.servlet.ServletException; 6 | import javax.servlet.annotation.WebServlet; 7 | import javax.servlet.http.HttpServlet; 8 | import javax.servlet.http.HttpServletRequest; 9 | import javax.servlet.http.HttpServletResponse; 10 | import java.io.IOException; 11 | 12 | @WebServlet(name = "goods_lessen",urlPatterns = "/goods_lessen") 13 | public class GoodsLessenServlet extends HttpServlet { 14 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 15 | Order o = (Order) request.getSession().getAttribute("order"); 16 | int goodsid = Integer.parseInt(request.getParameter("goodsid")); 17 | o.lessen(goodsid); 18 | response.getWriter().print("ok"); 19 | } 20 | 21 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/servlet/OrderSubmitServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import javax.servlet.ServletException; 4 | import javax.servlet.annotation.WebServlet; 5 | import javax.servlet.http.HttpServlet; 6 | import javax.servlet.http.HttpServletRequest; 7 | import javax.servlet.http.HttpServletResponse; 8 | import java.io.IOException; 9 | 10 | @WebServlet(name = "order_submit",urlPatterns = "/order_submit") 11 | public class OrderSubmitServlet extends HttpServlet { 12 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 13 | 14 | } 15 | 16 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 17 | if(request.getSession().getAttribute("user")!=null) { 18 | request.getRequestDispatcher("/order_submit.jsp").forward(request, response); 19 | }else { 20 | request.setAttribute("failMsg", "请登录后,再提交订单!"); 21 | request.getRequestDispatcher("/user_login.jsp").forward(request, response); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/model/Type.java: -------------------------------------------------------------------------------- 1 | package model; 2 | 3 | import java.io.UnsupportedEncodingException; 4 | import java.net.URLEncoder; 5 | 6 | public class Type { 7 | private int id; 8 | private String name; 9 | 10 | private String encodeName; 11 | 12 | public String getEncodeName() { 13 | return encodeName; 14 | } 15 | public void setEncodeName(String encodeName) { 16 | this.encodeName = encodeName; 17 | } 18 | public int getId() { 19 | return id; 20 | } 21 | public void setId(int id) { 22 | this.id = id; 23 | } 24 | public String getName() { 25 | return name; 26 | } 27 | public void setName(String name) { 28 | this.name = name; 29 | try { 30 | this.encodeName = URLEncoder.encode(name, "utf-8"); 31 | } catch (UnsupportedEncodingException e) { 32 | // TODO Auto-generated catch block 33 | e.printStackTrace(); 34 | } 35 | } 36 | public Type(int id, String name) { 37 | super(); 38 | this.id = id; 39 | this.name = name; 40 | } 41 | public Type() { 42 | super(); 43 | } 44 | public Type(String name) { 45 | super(); 46 | this.name = name; 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/utils/PriceUtil.java: -------------------------------------------------------------------------------- 1 | package utils; 2 | 3 | import java.math.BigDecimal; 4 | 5 | public class PriceUtil { 6 | public static float add(float a,float b) { 7 | BigDecimal bigA = new BigDecimal(Float.toString(a)); 8 | BigDecimal bigB = new BigDecimal(Float.toString(b)); 9 | return bigA.add(bigB).floatValue(); 10 | } 11 | public static double add(double a,double b) { 12 | BigDecimal bigA = new BigDecimal(Double.toString(a)); 13 | BigDecimal bigB = new BigDecimal(Double.toString(b)); 14 | return bigA.add(bigB).doubleValue(); 15 | } 16 | public static float subtract(float a,float b) { 17 | BigDecimal bigA = new BigDecimal(Float.toString(a)); 18 | BigDecimal bigB = new BigDecimal(Float.toString(b)); 19 | return bigA.subtract(bigB).floatValue(); 20 | } 21 | public static double subtract(double a,double b) { 22 | BigDecimal bigA = new BigDecimal(Double.toString(a)); 23 | BigDecimal bigB = new BigDecimal(Double.toString(b)); 24 | return bigA.subtract(bigB).doubleValue(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/servlet/AdminUserEditshowServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.User; 4 | import service.UserService; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.annotation.WebServlet; 8 | import javax.servlet.http.HttpServlet; 9 | import javax.servlet.http.HttpServletRequest; 10 | import javax.servlet.http.HttpServletResponse; 11 | import java.io.IOException; 12 | 13 | @WebServlet(name = "admin_user_editshow",urlPatterns = "/admin/user_editshow") 14 | public class AdminUserEditshowServlet extends HttpServlet { 15 | private UserService uService = new UserService(); 16 | /** 17 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 18 | */ 19 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 20 | int id = Integer.parseInt(request.getParameter("id")); 21 | User user = uService.selectById(id); 22 | request.setAttribute("u", user); 23 | request.getRequestDispatcher("/admin/user_edit.jsp").forward(request, response); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /web/admin/header.jsp: -------------------------------------------------------------------------------- 1 | <%-- 2 | Created by IntelliJ IDEA. 3 | User: 19767 4 | Date: 2018/11/30 5 | Time: 17:17 6 | To change this template use File | Settings | File Templates. 7 | --%> 8 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 9 | 25 | -------------------------------------------------------------------------------- /src/servlet/GoodsDetailServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.Goods; 4 | import service.GoodsService; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.annotation.WebServlet; 8 | import javax.servlet.http.HttpServlet; 9 | import javax.servlet.http.HttpServletRequest; 10 | import javax.servlet.http.HttpServletResponse; 11 | import java.io.IOException; 12 | 13 | @WebServlet(name = "goods_detail",urlPatterns = "/goods_detail") 14 | public class GoodsDetailServlet extends HttpServlet { 15 | 16 | private GoodsService gService = new GoodsService(); 17 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 18 | 19 | } 20 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 21 | int id = Integer.parseInt(request.getParameter("id")); 22 | Goods g = gService.getGoodsById(id); 23 | request.setAttribute("g", g); 24 | request.getRequestDispatcher("/goods_detail.jsp").forward(request, response); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/filter/AdminFilter.java: -------------------------------------------------------------------------------- 1 | package filter; 2 | 3 | import model.User; 4 | 5 | import javax.servlet.*; 6 | import javax.servlet.annotation.WebFilter; 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | import java.io.IOException; 10 | 11 | @WebFilter(filterName = "AdminFilter",urlPatterns = "/admin/*") 12 | public class AdminFilter implements Filter { 13 | public void destroy() { 14 | } 15 | 16 | public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { 17 | HttpServletRequest request = (HttpServletRequest)req; 18 | HttpServletResponse requestp = (HttpServletResponse)resp; 19 | User u = (User) request.getSession().getAttribute("user"); 20 | if(u==null || u.isIsadmin()==false) { 21 | requestp.sendRedirect("../index.jsp"); 22 | }else { 23 | // pass the request along the filter chain 24 | chain.doFilter(req, resp); 25 | } 26 | } 27 | 28 | public void init(FilterConfig config) throws ServletException { 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /CookieShop.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /web/admin/type_edit.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=utf-8" 2 | pageEncoding="utf-8"%> 3 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 4 | 5 | 6 | 7 | 8 | 类目编辑 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 |

19 | 20 |
21 | 22 |
23 | 24 |
25 | 26 |
27 |
28 |
29 |
30 | 31 |
32 |
33 |
34 | 35 | 36 | 37 |
38 | 39 | -------------------------------------------------------------------------------- /.idea/libraries/lib1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/servlet/OrderListServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.Order; 4 | import model.User; 5 | import service.OrderService; 6 | 7 | import javax.servlet.ServletException; 8 | import javax.servlet.annotation.WebServlet; 9 | import javax.servlet.http.HttpServlet; 10 | import javax.servlet.http.HttpServletRequest; 11 | import javax.servlet.http.HttpServletResponse; 12 | import java.io.IOException; 13 | import java.util.List; 14 | 15 | @WebServlet(name = "order_list", urlPatterns = "/order_list") 16 | public class OrderListServlet extends HttpServlet { 17 | private OrderService oService = new OrderService(); 18 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 19 | 20 | } 21 | 22 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 23 | 24 | User u = (User) request.getSession().getAttribute("user"); 25 | if(u==null) 26 | { 27 | response.sendRedirect("/index"); 28 | return; 29 | } 30 | List list = oService.selectAll(u.getId()); 31 | request.setAttribute("orderList", list); 32 | request.getRequestDispatcher("/order_list.jsp").forward(request, response); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/servlet/AdminUserEditServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.User; 4 | import org.apache.commons.beanutils.BeanUtils; 5 | import service.UserService; 6 | 7 | import javax.servlet.ServletException; 8 | import javax.servlet.annotation.WebServlet; 9 | import javax.servlet.http.HttpServlet; 10 | import javax.servlet.http.HttpServletRequest; 11 | import javax.servlet.http.HttpServletResponse; 12 | import java.io.IOException; 13 | import java.lang.reflect.InvocationTargetException; 14 | 15 | @WebServlet(name = "admin_user_edit",urlPatterns = "/admin/user_edit") 16 | public class AdminUserEditServlet extends HttpServlet { 17 | private UserService uService = new UserService(); 18 | /** 19 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 20 | */ 21 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 22 | User u = new User(); 23 | try { 24 | BeanUtils.copyProperties(u, request.getParameterMap()); 25 | } catch (Exception e) { 26 | // TODO Auto-generated catch block 27 | e.printStackTrace(); 28 | } 29 | uService.updateUserAddress(u); 30 | request.getRequestDispatcher("/admin/user_list").forward(request, response); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /.idea/libraries/lib.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/servlet/AdminGoodsDeleteServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import service.GoodsService; 4 | 5 | import javax.servlet.ServletException; 6 | import javax.servlet.annotation.WebServlet; 7 | import javax.servlet.http.HttpServlet; 8 | import javax.servlet.http.HttpServletRequest; 9 | import javax.servlet.http.HttpServletResponse; 10 | import java.io.IOException; 11 | 12 | @WebServlet(name = "admin_goods_delete",urlPatterns = "/admin/goods_delete") 13 | public class AdminGoodsDeleteServlet extends HttpServlet { 14 | private GoodsService gService = new GoodsService(); 15 | /** 16 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 17 | */ 18 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 19 | int id = Integer.parseInt(request.getParameter("id")); 20 | gService.delete(id); 21 | request.getRequestDispatcher("/admin/goods_list").forward(request, response); 22 | } 23 | 24 | /** 25 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 26 | */ 27 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 28 | // TODO Auto-generated method stub 29 | doGet(request, response); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/servlet/AdminTypeAddServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.Type; 4 | import service.TypeService; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.annotation.WebServlet; 8 | import javax.servlet.http.HttpServlet; 9 | import javax.servlet.http.HttpServletRequest; 10 | import javax.servlet.http.HttpServletResponse; 11 | import java.io.IOException; 12 | 13 | @WebServlet(name = "admin_type_add",urlPatterns = "/admin/type_add") 14 | public class AdminTypeAddServlet extends HttpServlet { 15 | private TypeService tService = new TypeService(); 16 | /** 17 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 18 | */ 19 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 20 | String name = request.getParameter("name"); 21 | tService.insert(new Type(name)); 22 | request.getRequestDispatcher("/admin/type_list").forward(request, response); 23 | } 24 | 25 | /** 26 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 27 | */ 28 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 29 | // TODO Auto-generated method stub 30 | doGet(request, response); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/servlet/IndexServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import service.GoodsService; 4 | 5 | import javax.servlet.ServletException; 6 | import javax.servlet.annotation.WebServlet; 7 | import javax.servlet.http.HttpServlet; 8 | import javax.servlet.http.HttpServletRequest; 9 | import javax.servlet.http.HttpServletResponse; 10 | import java.io.IOException; 11 | import java.util.List; 12 | import java.util.Map; 13 | 14 | @WebServlet(name = "IndexServlet",urlPatterns = "/index") 15 | public class IndexServlet extends HttpServlet { 16 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 17 | 18 | } 19 | private GoodsService gService=new GoodsService(); 20 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 21 | Map ScrollGood=gService.getScrollGood(); 22 | request.setAttribute("scroll",ScrollGood); 23 | 24 | List>newList=gService.getGoodsList(3); 25 | request.setAttribute("newList",newList); 26 | 27 | List>hotList=gService.getGoodsList(2); 28 | request.setAttribute("hotList",hotList); 29 | 30 | //response.sendRedirect("index.jsp"); 31 | request.getRequestDispatcher("index.jsp").forward(request,response); 32 | 33 | 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/servlet/UserLoginServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.User; 4 | import service.UserService; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.annotation.WebServlet; 8 | import javax.servlet.http.HttpServlet; 9 | import javax.servlet.http.HttpServletRequest; 10 | import javax.servlet.http.HttpServletResponse; 11 | import java.io.IOException; 12 | 13 | @WebServlet(name = "user_login",urlPatterns = "/user_login") 14 | public class UserLoginServlet extends HttpServlet { 15 | private UserService uService = new UserService(); 16 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 17 | String ue = request.getParameter("ue"); 18 | String password = request.getParameter("password"); 19 | User user = uService.login(ue, password); 20 | if(user==null) { 21 | request.setAttribute("failMsg", "用户名、邮箱或者密码错误,请重新登录!"); 22 | request.getRequestDispatcher("/user_login.jsp").forward(request, response); 23 | }else { 24 | request.getSession().setAttribute("user", user); 25 | request.getRequestDispatcher("/user_center.jsp").forward(request, response); 26 | } 27 | } 28 | 29 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 30 | 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/model/Page.java: -------------------------------------------------------------------------------- 1 | package model; 2 | 3 | import java.util.List; 4 | 5 | public class Page { 6 | private int pageNumber; 7 | private int pageSize; 8 | private int totalCount; 9 | private int totalPage; 10 | 11 | private List list; 12 | 13 | public void SetPageSizeAndTotalCount(int pageSize,int totalCount) 14 | { 15 | this.pageSize=pageSize; 16 | this.totalCount=totalCount; 17 | totalPage= (int)Math.ceil((double)totalCount/pageSize); 18 | } 19 | public int getPageNumber() { 20 | return pageNumber; 21 | } 22 | 23 | public void setPageNumber(int pageNumber) { 24 | this.pageNumber = pageNumber; 25 | } 26 | 27 | public int getPageSize() { 28 | return pageSize; 29 | } 30 | 31 | public void setPageSize(int pageSize) { 32 | this.pageSize = pageSize; 33 | } 34 | 35 | public int getTotalCount() { 36 | return totalCount; 37 | } 38 | 39 | public void setTotalCount(int totalCount) { 40 | this.totalCount = totalCount; 41 | } 42 | 43 | public int getTotalPage() { 44 | return totalPage; 45 | } 46 | 47 | public void setTotalPage(int totalPage) { 48 | this.totalPage = totalPage; 49 | } 50 | 51 | public List getList() { 52 | return list; 53 | } 54 | 55 | public void setList(List list) { 56 | this.list = list; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/servlet/AdminGoodsEditshowServelt.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.Goods; 4 | import service.GoodsService; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.annotation.WebServlet; 8 | import javax.servlet.http.HttpServlet; 9 | import javax.servlet.http.HttpServletRequest; 10 | import javax.servlet.http.HttpServletResponse; 11 | import java.io.IOException; 12 | 13 | @WebServlet(name = "admin_goods_editshow",urlPatterns = "/admin/goods_editshow") 14 | public class AdminGoodsEditshowServelt extends HttpServlet { 15 | private GoodsService gService = new GoodsService(); 16 | /** 17 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 18 | */ 19 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 20 | int id = Integer.parseInt(request.getParameter("id")); 21 | Goods g = gService.getGoodsById(id); 22 | request.setAttribute("g", g); 23 | request.getRequestDispatcher("/admin/goods_edit.jsp").forward(request, response); 24 | } 25 | 26 | /** 27 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 28 | */ 29 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 30 | // TODO Auto-generated method stub 31 | doGet(request, response); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /web/order_success.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 | 4 | 5 | 6 | 7 | 支付成功 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 |
33 | 34 | 35 |
${msg }
36 |
37 | 38 |

查看我的订单

39 |
40 |
41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /src/servlet/AdminUserResetServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.User; 4 | import org.apache.commons.beanutils.BeanUtils; 5 | import service.UserService; 6 | 7 | import javax.servlet.ServletException; 8 | import javax.servlet.annotation.WebServlet; 9 | import javax.servlet.http.HttpServlet; 10 | import javax.servlet.http.HttpServletRequest; 11 | import javax.servlet.http.HttpServletResponse; 12 | import java.io.IOException; 13 | import java.lang.reflect.InvocationTargetException; 14 | 15 | @WebServlet(name = "admin_user_reset",urlPatterns = "/admin/user_reset") 16 | public class AdminUserResetServlet extends HttpServlet { 17 | private UserService uService = new UserService(); 18 | /** 19 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 20 | */ 21 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 22 | User u = new User(); 23 | try { 24 | BeanUtils.copyProperties(u, request.getParameterMap()); 25 | } catch (IllegalAccessException e) { 26 | // TODO Auto-generated catch block 27 | e.printStackTrace(); 28 | } catch (InvocationTargetException e) { 29 | // TODO Auto-generated catch block 30 | e.printStackTrace(); 31 | } 32 | uService.updatePwd(u); 33 | request.getRequestDispatcher("/admin/user_list").forward(request, response); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/servlet/GoodsBuyServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.Goods; 4 | import model.Order; 5 | import service.GoodsService; 6 | 7 | import javax.servlet.ServletException; 8 | import javax.servlet.annotation.WebServlet; 9 | import javax.servlet.http.HttpServlet; 10 | import javax.servlet.http.HttpServletRequest; 11 | import javax.servlet.http.HttpServletResponse; 12 | import java.io.IOException; 13 | 14 | @WebServlet(name = "goods_buy",urlPatterns = "/goods_buy") 15 | public class GoodsBuyServlet extends HttpServlet { 16 | private GoodsService gService = new GoodsService(); 17 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 18 | Order o = null; 19 | if(request.getSession().getAttribute("order") != null) { 20 | o = (Order) request.getSession().getAttribute("order"); 21 | }else { 22 | o = new Order(); 23 | request.getSession().setAttribute("order", o); 24 | } 25 | int goodsid = Integer.parseInt(request.getParameter("goodsid")); 26 | Goods goods = gService.getGoodsById(goodsid); 27 | if(goods.getStock()>0) { 28 | o.addGoods(goods); 29 | response.getWriter().print("ok"); 30 | }else { 31 | response.getWriter().print("fail"); 32 | } 33 | } 34 | 35 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 36 | 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/servlet/AdminTypeListServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.Type; 4 | import service.TypeService; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.annotation.WebServlet; 8 | import javax.servlet.http.HttpServlet; 9 | import javax.servlet.http.HttpServletRequest; 10 | import javax.servlet.http.HttpServletResponse; 11 | import java.io.IOException; 12 | import java.util.List; 13 | 14 | @WebServlet(name = "admi_type_list",urlPatterns = "/admin/type_list") 15 | public class AdminTypeListServlet extends HttpServlet { 16 | private TypeService tService = new TypeService(); 17 | /** 18 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 19 | */ 20 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 21 | List list= tService.GetAllType(); 22 | request.setAttribute("list", list); 23 | this.getServletContext().removeAttribute("typeList"); 24 | this.getServletContext().setAttribute("typeList",list); 25 | request.getRequestDispatcher("/admin/type_list.jsp").forward(request, response); 26 | } 27 | 28 | /** 29 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 30 | */ 31 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 32 | // TODO Auto-generated method stub 33 | doGet(request, response); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /web/admin/user_reset.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=utf-8" 2 | pageEncoding="utf-8"%> 3 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 4 | 5 | 6 | 7 | 重置密码 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 |

17 | 18 |
19 | 20 |
21 | 22 |
${param.username }
23 |
24 |
25 | 26 |
${param.email }
27 |
28 |
29 | 30 |
31 | 32 |
33 |
34 |
35 |
36 | 37 |
38 |
39 |
40 | 41 | 42 | 43 |
44 | 45 | -------------------------------------------------------------------------------- /src/servlet/UserChangePwd.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.User; 4 | import service.UserService; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.annotation.WebServlet; 8 | import javax.servlet.http.HttpServlet; 9 | import javax.servlet.http.HttpServletRequest; 10 | import javax.servlet.http.HttpServletResponse; 11 | import java.io.IOException; 12 | 13 | @WebServlet(name = "user_changepwd",urlPatterns = "/user_changepwd") 14 | public class UserChangePwd extends HttpServlet { 15 | 16 | private UserService uService = new UserService(); 17 | 18 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 19 | String password = request.getParameter("password"); 20 | String newPwd = request.getParameter("newPassword"); 21 | 22 | User u = (User) request.getSession().getAttribute("user"); 23 | if(password.equals(u.getPassword())) { 24 | u.setPassword(newPwd); 25 | uService.updatePwd(u); 26 | request.setAttribute("msg", "修改成功!"); 27 | request.getRequestDispatcher("/user_center.jsp").forward(request, response); 28 | }else { 29 | request.setAttribute("failMsg", "修改失败,原密码不正确,你再想想!"); 30 | request.getRequestDispatcher("/user_center.jsp").forward(request, response); 31 | } 32 | } 33 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 34 | 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/servlet/AdminTypeDeleteServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import service.TypeService; 4 | 5 | import javax.servlet.ServletException; 6 | import javax.servlet.annotation.WebServlet; 7 | import javax.servlet.http.HttpServlet; 8 | import javax.servlet.http.HttpServletRequest; 9 | import javax.servlet.http.HttpServletResponse; 10 | import java.io.IOException; 11 | 12 | @WebServlet(name = "admin_type_delete",urlPatterns = "/admin/type_delete") 13 | public class AdminTypeDeleteServlet extends HttpServlet { 14 | private TypeService tService = new TypeService(); 15 | /** 16 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 17 | */ 18 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 19 | int id = Integer.parseInt(request.getParameter("id")); 20 | boolean isSuccess = tService.delete(id); 21 | if(isSuccess) { 22 | request.setAttribute("msg", "删除成功"); 23 | }else { 24 | request.setAttribute("failMsg", "类目下包含商品,无法直接删除类目!"); 25 | } 26 | request.getRequestDispatcher("/admin/type_list").forward(request, response); 27 | } 28 | 29 | /** 30 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 31 | */ 32 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 33 | // TODO Auto-generated method stub 34 | doGet(request, response); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/servlet/AdminUserDeleteServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import service.UserService; 4 | 5 | import javax.servlet.ServletException; 6 | import javax.servlet.annotation.WebServlet; 7 | import javax.servlet.http.HttpServlet; 8 | import javax.servlet.http.HttpServletRequest; 9 | import javax.servlet.http.HttpServletResponse; 10 | import java.io.IOException; 11 | 12 | @WebServlet(name = "admin_user_delete",urlPatterns = "/admin/user_delete") 13 | public class AdminUserDeleteServlet extends HttpServlet { 14 | private UserService uService = new UserService(); 15 | /** 16 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 17 | */ 18 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 19 | int id = Integer.parseInt(request.getParameter("id")); 20 | boolean isSuccess = uService.delete(id); 21 | if(isSuccess) { 22 | request.setAttribute("msg", "客户删除成功"); 23 | }else { 24 | request.setAttribute("failMsg", "客户有下的订单,请先删除该客户下的订单,再来删除客户!"); 25 | } 26 | request.getRequestDispatcher("/admin/user_list").forward(request, response); 27 | } 28 | 29 | /** 30 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 31 | */ 32 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 33 | // TODO Auto-generated method stub 34 | doGet(request, response); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/servlet/AdminTypeEditServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.Type; 4 | import org.apache.commons.beanutils.BeanUtils; 5 | import service.TypeService; 6 | 7 | import javax.servlet.ServletException; 8 | import javax.servlet.annotation.WebServlet; 9 | import javax.servlet.http.HttpServlet; 10 | import javax.servlet.http.HttpServletRequest; 11 | import javax.servlet.http.HttpServletResponse; 12 | import java.io.IOException; 13 | 14 | @WebServlet(name = "admin_type_edit",urlPatterns = "/admin/type_edit") 15 | public class AdminTypeEditServlet extends HttpServlet { 16 | private TypeService tService = new TypeService(); 17 | /** 18 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 19 | */ 20 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 21 | Type t = new Type(); 22 | try { 23 | BeanUtils.copyProperties(t, request.getParameterMap()); 24 | } catch (Exception e) { 25 | // TODO Auto-generated catch block 26 | e.printStackTrace(); 27 | } 28 | tService.update(t); 29 | request.getRequestDispatcher("/admin/type_list").forward(request, response); 30 | } 31 | 32 | /** 33 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 34 | */ 35 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 36 | // TODO Auto-generated method stub 37 | doGet(request, response); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/model/OrderItem.java: -------------------------------------------------------------------------------- 1 | package model; 2 | 3 | public class OrderItem { 4 | private int id; 5 | private float price; 6 | private int amount; 7 | private String goodsName; 8 | private Goods goods; 9 | private Order order;// order_id 10 | 11 | public void setName(String name) { 12 | this.goodsName=name; 13 | } 14 | 15 | public String getGoodsName() { 16 | return goodsName; 17 | } 18 | 19 | public void setGoodsName(String goodsName) { 20 | this.goodsName = goodsName; 21 | } 22 | 23 | public int getId() { 24 | return id; 25 | } 26 | public void setId(int id) { 27 | this.id = id; 28 | } 29 | public float getPrice() { 30 | return price; 31 | } 32 | public void setPrice(float price) { 33 | this.price = price; 34 | } 35 | public int getAmount() { 36 | return amount; 37 | } 38 | public void setAmount(int amount) { 39 | this.amount = amount; 40 | } 41 | public Goods getGoods() { 42 | return goods; 43 | } 44 | public void setGoods(Goods goods) { 45 | this.goods = goods; 46 | } 47 | public Order getOrder() { 48 | return order; 49 | } 50 | public void setOrder(Order order) { 51 | this.order = order; 52 | } 53 | public OrderItem() { 54 | super(); 55 | } 56 | public OrderItem(float price, int amount, Goods goods, Order order) { 57 | super(); 58 | this.price = price; 59 | this.amount = amount; 60 | this.goods = goods; 61 | this.order = order; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /web/js/cart.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * 加入购物车 4 | */ 5 | function buy(goodid){ 6 | $.post("goods_buy", {goodsid:goodid}, function(data){ 7 | if(data=="ok") 8 | { 9 | layer.msg("添加到购物车!", {time:800}, function(){ 10 | location.reload(); 11 | }); 12 | } 13 | else if(data=="fail") 14 | { 15 | layer.msg("库存不足,请购买其他商品!", {time:800}, function(){ 16 | 17 | }); 18 | } 19 | /*if(data=="ok"){ 20 | layer.msg("操作成功!", {time:800}, function(){ 21 | location.reload(); 22 | }); 23 | }else if(data=="login"){ 24 | alert("请登录后购买!"); 25 | location.href="login.jsp"; 26 | }else if(data=="empty"){ 27 | alert("库存不足!"); 28 | location.reload(); 29 | }else{ 30 | alert("请求失败!"); 31 | }*/ 32 | 33 | }); 34 | } 35 | 36 | function lessen(goodsid){ 37 | $.post("goods_lessen", {goodsid:goodsid}, function(data){ 38 | if(data=="ok"){ 39 | layer.msg("操作成功!", {time:800}, function(){ 40 | location.reload(); 41 | }); 42 | } 43 | // if(data=="ok"){ 44 | // layer.msg("操作成功!", {time:800}, function(){ 45 | // location.href="cart.action"; 46 | // }); 47 | // }else if(data=="login"){ 48 | // alert("请登录后操作!"); 49 | // location.href="login.jsp"; 50 | // }else{ 51 | // alert("请求失败!"); 52 | // } 53 | }); 54 | } 55 | /** 56 | * 购物车删除 57 | */ 58 | function deletes(goodid){ 59 | $.post("goods_delete", {goodsid:goodid}, function(data){ 60 | if(data=="ok"){ 61 | layer.msg("删除成功!", {time:800}, function(){ 62 | location.reload(); 63 | }); 64 | } 65 | }); 66 | } -------------------------------------------------------------------------------- /web/page.jsp: -------------------------------------------------------------------------------- 1 | <%-- 2 | Created by IntelliJ IDEA. 3 | User: vili 4 | Date: 2018/12/1 5 | Time: 1:43 PM 6 | To change this template use File | Settings | File Templates. 7 | --%> 8 | <%@ page language="java" contentType="text/html; charset=utf-8" 9 | pageEncoding="utf-8"%> 10 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 11 | 20 | -------------------------------------------------------------------------------- /src/servlet/AdminGoodsRecommendServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import service.GoodsService; 4 | 5 | import javax.servlet.ServletException; 6 | import javax.servlet.annotation.WebServlet; 7 | import javax.servlet.http.HttpServlet; 8 | import javax.servlet.http.HttpServletRequest; 9 | import javax.servlet.http.HttpServletResponse; 10 | import java.io.IOException; 11 | 12 | @WebServlet(name = "admin_goods_recommend",urlPatterns = "/admin/goods_recommend") 13 | public class AdminGoodsRecommendServlet extends HttpServlet { 14 | private GoodsService gService = new GoodsService(); 15 | /** 16 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 17 | */ 18 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 19 | int id = Integer.parseInt(request.getParameter("id")); 20 | String method = request.getParameter("method"); 21 | int typeTarget=Integer.parseInt(request.getParameter("typeTarget")); 22 | if(method.equals("add")) { 23 | gService.addRecommend(id, typeTarget); 24 | }else { 25 | gService.removeRecommend(id, typeTarget); 26 | } 27 | request.getRequestDispatcher("/admin/goods_list").forward(request, response); 28 | } 29 | 30 | /** 31 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 32 | */ 33 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 34 | // TODO Auto-generated method stub 35 | doGet(request, response); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/servlet/UserChangeAddressServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.User; 4 | import org.apache.commons.beanutils.BeanUtils; 5 | import service.UserService; 6 | 7 | import javax.servlet.ServletException; 8 | import javax.servlet.annotation.WebServlet; 9 | import javax.servlet.http.HttpServlet; 10 | import javax.servlet.http.HttpServletRequest; 11 | import javax.servlet.http.HttpServletResponse; 12 | import java.io.IOException; 13 | import java.lang.reflect.InvocationTargetException; 14 | 15 | @WebServlet(name = "user_changeaddress",urlPatterns = "/user_changeaddress") 16 | public class UserChangeAddressServlet extends HttpServlet { 17 | 18 | private UserService uService = new UserService(); 19 | 20 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 21 | 22 | User loginUser = (User) request.getSession().getAttribute("user"); 23 | 24 | try { 25 | BeanUtils.copyProperties(loginUser, request.getParameterMap()); 26 | } catch (IllegalAccessException e) { 27 | // TODO Auto-generated catch block 28 | e.printStackTrace(); 29 | } catch (InvocationTargetException e) { 30 | // TODO Auto-generated catch block 31 | e.printStackTrace(); 32 | } 33 | uService.updateUserAddress(loginUser); 34 | request.setAttribute("msg", "收件信息更新成功!"); 35 | request.getRequestDispatcher("/user_center.jsp").forward(request, response); 36 | } 37 | 38 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 39 | 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /web/admin/type_list.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=utf-8" 2 | pageEncoding="utf-8"%> 3 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 4 | 5 | 6 | 7 | 8 | 类目列表 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 |
18 | 19 |
20 |
21 | 22 | 23 |
24 |
25 |
26 | 27 |
${msg }
28 |
29 | 30 |
${failMsg }
31 |
32 |
33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 50 | 51 | 52 | 53 | 54 |
ID名称操作

${t.id }

${t.name }

47 | 修改 48 | 删除 49 |
55 | 56 |
57 | 58 | -------------------------------------------------------------------------------- /src/servlet/UserRegisterServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.User; 4 | import org.apache.commons.beanutils.BeanUtils; 5 | import service.UserService; 6 | 7 | import javax.servlet.ServletException; 8 | import javax.servlet.annotation.WebServlet; 9 | import javax.servlet.http.HttpServlet; 10 | import javax.servlet.http.HttpServletRequest; 11 | import javax.servlet.http.HttpServletResponse; 12 | import java.io.IOException; 13 | import java.lang.reflect.InvocationTargetException; 14 | 15 | @WebServlet(name = "user_register",urlPatterns = "/user_rigister") 16 | public class UserRegisterServlet extends HttpServlet { 17 | private UserService uService = new UserService(); 18 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 19 | User user = new User(); 20 | try { 21 | BeanUtils.copyProperties(user, request.getParameterMap()); 22 | } catch (IllegalAccessException e) { 23 | // TODO Auto-generated catch block 24 | e.printStackTrace(); 25 | } catch (InvocationTargetException e) { 26 | // TODO Auto-generated catch block 27 | e.printStackTrace(); 28 | } 29 | if(uService.register(user)) { 30 | request.setAttribute("msg", "注册成功,请登录!"); 31 | request.getRequestDispatcher("user_login.jsp").forward(request, response); 32 | }else { 33 | request.setAttribute("msg", "用户名或邮箱重复,请重新填写!"); 34 | request.getRequestDispatcher("user_register.jsp").forward(request, response); 35 | } 36 | } 37 | 38 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 39 | 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/servlet/GoodRecommendListServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.Page; 4 | import service.GoodsService; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.annotation.WebServlet; 8 | import javax.servlet.http.HttpServlet; 9 | import javax.servlet.http.HttpServletRequest; 10 | import javax.servlet.http.HttpServletResponse; 11 | import java.io.IOException; 12 | 13 | @WebServlet(name = "goodrecommendList",urlPatterns = "/goodsrecommend_list") 14 | public class GoodRecommendListServlet extends HttpServlet { 15 | private GoodsService gService = new GoodsService(); 16 | 17 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 18 | int type = Integer.parseInt(request.getParameter("type") ) ; 19 | int pageNumber = 1; 20 | if(request.getParameter("pageNumber") != null) { 21 | try { 22 | pageNumber=Integer.parseInt(request.getParameter("pageNumber") ) ; 23 | } 24 | catch (Exception e) 25 | { 26 | 27 | } 28 | } 29 | if(pageNumber<=0) 30 | pageNumber=1; 31 | Page p = gService.getGoodsRecommendPage(type, pageNumber); 32 | 33 | if(p.getTotalPage()==0) 34 | { 35 | p.setTotalPage(1); 36 | p.setPageNumber(1); 37 | } 38 | else { 39 | if(pageNumber>=p.getTotalPage()+1) 40 | { 41 | p = gService.getGoodsRecommendPage(type, p.getTotalPage()); 42 | } 43 | } 44 | request.setAttribute("p", p); 45 | request.setAttribute("t", type); 46 | request.getRequestDispatcher("goodsrecommend_list.jsp").forward(request, response); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/servlet/AdminUserAddServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.User; 4 | import org.apache.commons.beanutils.BeanUtils; 5 | import service.UserService; 6 | 7 | import javax.servlet.ServletException; 8 | import javax.servlet.annotation.WebServlet; 9 | import javax.servlet.http.HttpServlet; 10 | import javax.servlet.http.HttpServletRequest; 11 | import javax.servlet.http.HttpServletResponse; 12 | import java.io.IOException; 13 | import java.lang.reflect.InvocationTargetException; 14 | 15 | @WebServlet(name = "admin_user_add",urlPatterns = "/admin/user_add") 16 | public class AdminUserAddServlet extends HttpServlet { 17 | private UserService uService = new UserService(); 18 | /** 19 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 20 | */ 21 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 22 | User user = new User(); 23 | try { 24 | BeanUtils.copyProperties(user, request.getParameterMap()); 25 | } catch (IllegalAccessException e) { 26 | // TODO Auto-generated catch block 27 | e.printStackTrace(); 28 | } catch (InvocationTargetException e) { 29 | // TODO Auto-generated catch block 30 | e.printStackTrace(); 31 | } 32 | if(uService.register(user)) { 33 | request.setAttribute("msg", "客户添加成功!"); 34 | request.getRequestDispatcher("/admin/user_list").forward(request, response); 35 | }else { 36 | request.setAttribute("failMsg", "用户名或邮箱重复,请重新填写!"); 37 | request.setAttribute("u",user); 38 | request.getRequestDispatcher("/admin/user_add.jsp").forward(request, response); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/servlet/OrderConfirmServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.*; 4 | import org.apache.commons.beanutils.BeanUtils; 5 | import service.OrderService; 6 | 7 | import javax.servlet.ServletException; 8 | import javax.servlet.annotation.WebServlet; 9 | import javax.servlet.http.HttpServlet; 10 | import javax.servlet.http.HttpServletRequest; 11 | import javax.servlet.http.HttpServletResponse; 12 | import java.io.IOException; 13 | import java.lang.reflect.InvocationTargetException; 14 | import java.util.Date; 15 | 16 | @WebServlet(name = "order_confirm",urlPatterns = "/order_confirm") 17 | public class OrderConfirmServlet extends HttpServlet { 18 | private OrderService oService = new OrderService(); 19 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 20 | Order o = (Order) request.getSession().getAttribute("order"); 21 | try { 22 | BeanUtils.copyProperties(o, request.getParameterMap()); 23 | } catch (IllegalAccessException e) { 24 | // TODO Auto-generated catch block 25 | e.printStackTrace(); 26 | } catch (InvocationTargetException e) { 27 | // TODO Auto-generated catch block 28 | e.printStackTrace(); 29 | } 30 | o.setDatetime(new Date()); 31 | o.setStatus(2); 32 | o.setUser((User) request.getSession().getAttribute("user")); 33 | oService.addOrder(o); 34 | request.getSession().removeAttribute("order"); 35 | 36 | request.setAttribute("msg", "订单支付成功!"); 37 | request.getRequestDispatcher("/order_success.jsp").forward(request, response); 38 | } 39 | 40 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 41 | 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/dao/TypeDao.java: -------------------------------------------------------------------------------- 1 | package dao; 2 | 3 | import model.Type; 4 | import org.apache.commons.dbutils.QueryRunner; 5 | import org.apache.commons.dbutils.handlers.BeanHandler; 6 | import org.apache.commons.dbutils.handlers.BeanListHandler; 7 | import utils.DBUtil; 8 | 9 | import java.sql.SQLException; 10 | import java.util.List; 11 | 12 | public class TypeDao 13 | { 14 | public List GetAllType() throws SQLException { 15 | QueryRunner r=new QueryRunner(DBUtil.getDataSource()); 16 | String sql="select * from type"; 17 | return r.query(sql,new BeanListHandler(Type.class)); 18 | } 19 | public Type selectTypeNameByID(int typeid) throws SQLException { 20 | QueryRunner r=new QueryRunner(DBUtil.getDataSource()); 21 | String sql="select * from type where id=?"; 22 | return r.query(sql,new BeanHandler(Type.class),typeid); 23 | } 24 | public Type select(int id) throws SQLException { 25 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 26 | String sql = "select * from type where id = ?"; 27 | return r.query(sql, new BeanHandler(Type.class),id); 28 | } 29 | public void insert(Type t) throws SQLException { 30 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 31 | String sql = "insert into type(name) values(?)"; 32 | r.update(sql,t.getName()); 33 | } 34 | public void update(Type t) throws SQLException { 35 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 36 | String sql = "update type set name=? where id = ?"; 37 | r.update(sql,t.getName(),t.getId()); 38 | } 39 | public void delete(int id) throws SQLException { 40 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 41 | String sql = "delete from type where id = ?"; 42 | r.update(sql,id); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/service/TypeService.java: -------------------------------------------------------------------------------- 1 | package service; 2 | 3 | import dao.TypeDao; 4 | import model.Type; 5 | 6 | import java.sql.SQLException; 7 | import java.util.List; 8 | 9 | public class TypeService { 10 | TypeDao tDao=new TypeDao(); 11 | public List GetAllType() 12 | { 13 | List list=null; 14 | try { 15 | list=tDao.GetAllType(); 16 | } catch (SQLException e) { 17 | e.printStackTrace(); 18 | } 19 | return list; 20 | } 21 | public Type selectTypeNameByID(int typeid) 22 | { 23 | Type type=null; 24 | try { 25 | type=tDao.selectTypeNameByID(typeid); 26 | } catch (SQLException e) { 27 | e.printStackTrace(); 28 | } 29 | return type; 30 | } 31 | public Type select(int id) { 32 | Type t=null; 33 | try { 34 | t = tDao.select(id); 35 | } catch (SQLException e) { 36 | // TODO Auto-generated catch block 37 | e.printStackTrace(); 38 | } 39 | return t; 40 | } 41 | public void insert(Type t) { 42 | try { 43 | tDao.insert(t); 44 | } catch (SQLException e) { 45 | // TODO Auto-generated catch block 46 | e.printStackTrace(); 47 | } 48 | } 49 | public void update(Type t) { 50 | try { 51 | tDao.update(t); 52 | } catch (SQLException e) { 53 | // TODO Auto-generated catch block 54 | e.printStackTrace(); 55 | } 56 | } 57 | public boolean delete(int id) { 58 | try { 59 | tDao.delete(id); 60 | return true; 61 | } catch (SQLException e) { 62 | // TODO Auto-generated catch block 63 | e.printStackTrace(); 64 | return false; 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/servlet/AdminUserListServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.Page; 4 | import service.UserService; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.annotation.WebServlet; 8 | import javax.servlet.http.HttpServlet; 9 | import javax.servlet.http.HttpServletRequest; 10 | import javax.servlet.http.HttpServletResponse; 11 | import java.io.IOException; 12 | 13 | @WebServlet(name = "admin_user_list",urlPatterns = "/admin/user_list") 14 | public class AdminUserListServlet extends HttpServlet { 15 | private UserService uService = new UserService(); 16 | /** 17 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 18 | */ 19 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 20 | int pageNumber = 1; 21 | if(request.getParameter("pageNumber") != null) { 22 | try { 23 | pageNumber=Integer.parseInt(request.getParameter("pageNumber") ) ; 24 | } 25 | catch (Exception e) 26 | { 27 | 28 | } 29 | 30 | } 31 | if(pageNumber<=0) 32 | pageNumber=1; 33 | Page p = uService.getUserPage(pageNumber); 34 | if(p.getTotalPage()==0) 35 | { 36 | p.setTotalPage(1); 37 | p.setPageNumber(1); 38 | } 39 | else { 40 | if(pageNumber>=p.getTotalPage()+1) 41 | { 42 | p = uService.getUserPage(pageNumber); 43 | } 44 | } 45 | request.setAttribute("p", p); 46 | request.getRequestDispatcher("/admin/user_list.jsp").forward(request, response); 47 | } 48 | @Override 49 | protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 50 | this.doGet(req, resp); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/servlet/AdminOrderListServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.Page; 4 | import service.OrderService; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.annotation.WebServlet; 8 | import javax.servlet.http.HttpServlet; 9 | import javax.servlet.http.HttpServletRequest; 10 | import javax.servlet.http.HttpServletResponse; 11 | import java.io.IOException; 12 | 13 | @WebServlet(name = "admin_order_list",urlPatterns = "/admin/order_list") 14 | public class AdminOrderListServlet extends HttpServlet { 15 | private OrderService oService = new OrderService(); 16 | /** 17 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 18 | */ 19 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 20 | int status = 0; 21 | if(request.getParameter("status") != null) { 22 | status=Integer.parseInt(request.getParameter("status") ) ; 23 | } 24 | request.setAttribute("status", status); 25 | int pageNumber = 1; 26 | if(request.getParameter("pageNumber") != null) { 27 | try { 28 | pageNumber=Integer.parseInt(request.getParameter("pageNumber") ) ; 29 | } 30 | catch (Exception e) 31 | { 32 | 33 | } 34 | } 35 | if(pageNumber<=0) 36 | pageNumber=1; 37 | Page p = oService.getOrderPage(status,pageNumber); 38 | if(p.getTotalPage()==0) 39 | { 40 | p.setTotalPage(1); 41 | p.setPageNumber(1); 42 | } 43 | else { 44 | if(pageNumber>=p.getTotalPage()+1) 45 | { 46 | p = oService.getOrderPage(status,pageNumber); 47 | } 48 | } 49 | 50 | request.setAttribute("p", p); 51 | request.getRequestDispatcher("/admin/order_list.jsp").forward(request, response); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/servlet/GoodsSearchServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import service.GoodsService; 4 | import model.*; 5 | import javax.servlet.ServletException; 6 | import javax.servlet.annotation.WebServlet; 7 | import javax.servlet.http.HttpServlet; 8 | import javax.servlet.http.HttpServletRequest; 9 | import javax.servlet.http.HttpServletResponse; 10 | import java.io.IOException; 11 | import java.net.URLEncoder; 12 | 13 | @WebServlet(name = "goods_search",urlPatterns = "/goods_search") 14 | public class GoodsSearchServlet extends HttpServlet { 15 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 16 | 17 | } 18 | 19 | private GoodsService gService = new GoodsService(); 20 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 21 | String keyword = request.getParameter("keyword"); 22 | int pageNumber = 1; 23 | if(request.getParameter("pageNumber") != null) { 24 | try { 25 | pageNumber=Integer.parseInt(request.getParameter("pageNumber") ) ; 26 | } 27 | catch (Exception e) 28 | { 29 | 30 | } 31 | } 32 | if(pageNumber<=0) 33 | { 34 | pageNumber=1; 35 | } 36 | Page p =gService.getSearchGoodsPage(keyword,pageNumber); 37 | 38 | if(p.getTotalPage()==0) 39 | { 40 | p.setTotalPage(1); 41 | p.setPageNumber(1); 42 | } 43 | else { 44 | if(pageNumber>=p.getTotalPage()+1) 45 | { 46 | p =gService.getSearchGoodsPage(keyword,pageNumber); 47 | } 48 | } 49 | request.setAttribute("p", p); 50 | request.setAttribute("keyword", URLEncoder.encode(keyword,"utf-8")); 51 | request.getRequestDispatcher("/goods_search.jsp").forward(request, response); 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /web/admin/user_list.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 | 4 | 5 | 6 | 7 | 客户列表 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
${msg }
24 |
25 | 26 |
${failMsg }
27 |
28 |
29 |
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 57 | 58 | 59 | 60 | 61 |
ID用户名邮箱收件人电话地址操作

${u.id }

${u.username }

${u.email }

${u.name }

${u.phone }

${u.address }

53 | 重置密码 54 | 修改 55 | 删除 56 |
62 | 63 |
64 | 65 | 66 | 67 |
68 |
69 | 70 | -------------------------------------------------------------------------------- /web/admin/user_edit.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=utf-8" 2 | pageEncoding="utf-8"%> 3 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 4 | 5 | 6 | 7 | 8 | 客户修改 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 |

18 | 19 |
20 | 21 |
22 | 23 |
${u.username }
24 |
25 |
26 | 27 |
${u.email }
28 |
29 |
30 | 31 |
32 | 33 |
34 |
35 |
36 | 37 |
38 | 39 |
40 |
41 |
42 | 43 |
44 | 45 |
46 |
47 |
48 |
49 | 50 |
51 |
52 |
53 | 54 | 55 | 56 |
57 | 58 | -------------------------------------------------------------------------------- /web/user_login.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 3 | 4 | 5 | 6 | 7 | 用户登录 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /src/servlet/AdminGoodsListServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.Page; 4 | import service.GoodsService; 5 | 6 | import javax.servlet.ServletException; 7 | import javax.servlet.annotation.WebServlet; 8 | import javax.servlet.http.HttpServlet; 9 | import javax.servlet.http.HttpServletRequest; 10 | import javax.servlet.http.HttpServletResponse; 11 | import java.io.IOException; 12 | 13 | @WebServlet(name = "admin_goods_list",urlPatterns = "/admin/goods_list") 14 | public class AdminGoodsListServlet extends HttpServlet { 15 | private GoodsService gService = new GoodsService(); 16 | /** 17 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 18 | */ 19 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 20 | int type = 0;//推荐类型 21 | if(request.getParameter("type") != null) { 22 | type=Integer.parseInt(request.getParameter("type") ) ; 23 | } 24 | int pageNumber = 1; 25 | if(request.getParameter("pageNumber") != null) { 26 | try { 27 | pageNumber=Integer.parseInt(request.getParameter("pageNumber") ) ; 28 | } 29 | catch (Exception e) 30 | { 31 | 32 | } 33 | 34 | } 35 | if(pageNumber<=0) 36 | pageNumber=1; 37 | Page p = gService.getGoodsRecommendPage(type, pageNumber); 38 | if(p.getTotalPage()==0) 39 | { 40 | p.setTotalPage(1); 41 | p.setPageNumber(1); 42 | } 43 | else { 44 | if(pageNumber>=p.getTotalPage()+1) 45 | { 46 | p = gService.getGoodsRecommendPage(type, pageNumber); 47 | } 48 | } 49 | request.setAttribute("p", p); 50 | request.setAttribute("type", type); 51 | request.getRequestDispatcher("/admin/goods_list.jsp").forward(request, response); 52 | } 53 | 54 | /** 55 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 56 | */ 57 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 58 | // TODO Auto-generated method stub 59 | doGet(request, response); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CakesShop 2 | 3 | **作者:积极向上小木木            联系方式:x_u_xiang@163.com** 4 | 5 | *基于jsp+servlet的网上蛋糕商城* 6 | 7 | ## 一、项目功能 8 | 9 | ### 1.前台功能 10 | 1. 商品基本展示,包括推荐商品展示和类型商品展示. 11 | 2. 推荐商品包括条幅推荐,热销推荐和新品推荐. 12 | 3. 按照商品类型展示商品. 13 | 4. 商品详细信息展示. 14 | 5. 商品加入购物车. 15 | 6. 修改购物车内商品信息,例如数量等. 16 | 7. 用户登录. 17 | 8. 用户注册. 18 | 9. 修改个人信息,包括密码和收获信息. 19 | 10. 购物车付款. 20 | 11. 用户订单查询. 21 | 12. 根据关键字搜索商品. 22 | 23 | ### 2.后台功能 24 | 25 | *当管理员用户登录后会显示后台管理按钮,点击介意进入后台管理页面* 26 | 27 | 1. 订单操作:包括按状态查询订单,修改订单状态(发货,完成,删除). 28 | 2. 用户操作:包括查询所有用户,新增用户,修改用户密码,修改用户信息和删除用户. 29 | 3. 商品类目操作:包括查看所有类目,增加商品类目,修改商品类目信息以及删除商品类目. 30 | 4. 商品操作:包括查询所有商品,新增商品,修改现有商品信息以及删除商品. 31 | 32 | *注意,删除用户时需要先删除用户下的所有订单,才可以删除用户。删除商品类目时,要先删除类目下的商品,才能删除商品类目。删除商品时,可直接删除,他的推荐信息也会直接删除!(不要问为什么做的这么蠢,当时脑子抽风了!)* 33 | 34 | ## 二、项目开发环境 35 | 1. 项目使用IDEA 2017.3.5进行开发。 36 | 2. Tomcat版本为 8.5.42。 37 | 3. 数据库为mysql 5.7。 38 | 4. JDK版本为1.8_211。 39 | 5. 开发过程中使用到插件有从c3p0,DButil,Beanutil,Fileupload,Jstl等,jar包版本详见/web/WEB-INF/lib目录. 40 | 41 | ## 三、项目还原设置 42 | 1. 在本地或服务器上安装mysql数据库(如果版本较高请考虑更新数据库连接驱动)。 43 | 44 | 2. 将cakeshop.sql文件还原至数据库中。 45 | 46 | 3. 在CookieShop/src/c3p0-config.xml中的文字替换,主要有连接字符串,用户名和密码。 47 | 48 | 4. 使用IDEA打开项目并重新指定jdk。 49 | 50 | 5. 下载Tomcat并在IDEA中配置。 51 | 52 | 6. 运行项目。 53 | 54 | ## 四、项目截图 55 | 56 | ### 1.用户界面 57 | 58 | 1. 主页: 59 | 60 | ![主页](README/主页.png) 61 | 62 | 2. 按类目查询商品: 63 | 64 | ![按类目查询](README/按类目查询.png) 65 | 66 | 3. 热销商品: 67 | 68 | ![热销商品](README/热销商品.png) 69 | 70 | 4. 新品商品: 71 | 72 | ![新品商品](README/新品商品.png) 73 | 74 | 5. 商品详细信息: 75 | 76 | ![商品详细信息](README/商品详细信息.png) 77 | 78 | 6. 注册: 79 | 80 | ![注册](README/注册.png) 81 | 82 | 7. 登录: 83 | 84 | ![登录](README/登录.png) 85 | 86 | 8. 个人中心: 87 | 88 | ![个人中心](README/个人中心.png) 89 | 90 | 9. 我的订单: 91 | 92 | ![我的订单](README/我的订单.png) 93 | 94 | 10. 购物车: 95 | 96 | ![购物车](README/购物车.png) 97 | 98 | 11. 搜索商品: 99 | 100 | ![搜索商品](README/搜索商品.png) 101 | 102 | ### 2.后台界面 103 | 104 | 1. 订单管理: 105 | 106 | ![订单管理](README/订单管理.png) 107 | 108 | 2. 用户管理: 109 | 110 | ![用户管理](README/用户管理.png) 111 | 112 | 3. 商品类目管理: 113 | 114 | ![商品类目管理](README/商品类目管理.png) 115 | 116 | 4. 商品管理: 117 | 118 | ![商品管理](README/商品管理.png) 119 | 120 | 5. 新增商品: 121 | 122 | ![新增商品](README/新增商品.png) 123 | -------------------------------------------------------------------------------- /src/servlet/GoodsListServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.Goods; 4 | import model.Page; 5 | import model.Type; 6 | import service.GoodsService; 7 | import service.TypeService; 8 | 9 | import javax.servlet.ServletException; 10 | import javax.servlet.annotation.WebServlet; 11 | import javax.servlet.http.HttpServlet; 12 | import javax.servlet.http.HttpServletRequest; 13 | import javax.servlet.http.HttpServletResponse; 14 | import java.io.IOException; 15 | import java.util.List; 16 | 17 | @WebServlet(name = "goods_List",urlPatterns = "/goods_list") 18 | public class GoodsListServlet extends HttpServlet { 19 | private GoodsService gService=new GoodsService(); 20 | private TypeService tService=new TypeService(); 21 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 22 | 23 | } 24 | 25 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 26 | int id=0; 27 | if(request.getParameter("typeid")!=null) 28 | { 29 | id=Integer.parseInt(request.getParameter("typeid")); 30 | } 31 | int pageNumber=1; 32 | if(request.getParameter("pageNumber")!=null) { 33 | try { 34 | pageNumber=Integer.parseInt(request.getParameter("pageNumber")); 35 | } 36 | catch (Exception e) 37 | { 38 | 39 | } 40 | 41 | } 42 | Type t=null; 43 | if(id!=0) 44 | { 45 | t=tService.selectTypeNameByID(id); 46 | } 47 | request.setAttribute("t",t); 48 | //List list=gService.selectGoodsByTypeID(id,1,8); 49 | //request.setAttribute("goodsList",list); 50 | if(pageNumber<=0) 51 | pageNumber=1; 52 | Page p=gService.selectPageByTypeID(id,pageNumber); 53 | 54 | if(p.getTotalPage()==0) 55 | { 56 | p.setTotalPage(1); 57 | p.setPageNumber(1); 58 | } 59 | else { 60 | if(pageNumber>=p.getTotalPage()+1) 61 | { 62 | p=gService.selectPageByTypeID(id,p.getTotalPage()); 63 | } 64 | } 65 | 66 | request.setAttribute("p",p); 67 | request.setAttribute("id",String.valueOf(id)); 68 | request.getRequestDispatcher("/goods_list.jsp").forward(request,response); 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /web/admin/user_add.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=utf-8" 2 | pageEncoding="utf-8"%> 3 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 4 | 5 | 6 | 7 | 8 | 客户添加 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 |
${failMsg }
20 |
21 |

22 |
23 |
24 | 25 |
26 | 27 |
28 |
29 |
30 | 31 |
32 | 33 |
34 |
35 |
36 | 37 |
38 | 39 |
40 |
41 |
42 | 43 |
44 | 45 |
46 |
47 |
48 | 49 |
50 | 51 |
52 |
53 |
54 | 55 |
56 | 57 |
58 |
59 |
60 |
61 | 62 |
63 |
64 |
65 | 66 | 67 |
68 | 69 | -------------------------------------------------------------------------------- /web/goods_search.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=utf-8" 2 | pageEncoding="utf-8"%> 3 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 4 | 5 | 6 | 7 | 8 | 首页 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 |
30 |

搜索 ‘${param.keyword }’的结果

31 | 32 |
33 | 34 | 35 |
36 | 37 |
38 | 46 |
47 |
48 |
49 |

${g.name }

50 | ¥ ${g.price } 51 | 52 |
53 |
54 |
55 |
56 |
57 | 58 |
59 |
60 |
61 | 62 | 63 | 64 | 65 |
66 |
67 |
68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /web/goods_cart.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 3 | 4 | 5 | 6 | 7 | 购物车 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |
34 |
35 | 36 | 37 | 38 |

我的购物车

39 | 40 | 41 | 42 |
43 |
44 |
45 | 46 | 47 | 48 |
49 |
50 |

${item.value.goods.name}

51 |

单价: ¥ ${item.value.price}

52 |

数量: ${item.value.amount}

53 | 增加 54 | 减少 55 | 删除 56 |
57 |
58 |
59 |
60 |
61 | 62 |
63 |
64 |

订单总金额: ¥ ${order.total}

65 | 提交订单 66 |
67 | 68 | 69 | 70 |
71 |
72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /src/listener/ApplicationListener.java: -------------------------------------------------------------------------------- 1 | package listener; 2 | 3 | import service.TypeService; 4 | 5 | import javax.servlet.ServletContextEvent; 6 | import javax.servlet.ServletContextListener; 7 | import javax.servlet.annotation.WebListener; 8 | import javax.servlet.http.HttpSessionAttributeListener; 9 | import javax.servlet.http.HttpSessionEvent; 10 | import javax.servlet.http.HttpSessionListener; 11 | import javax.servlet.http.HttpSessionBindingEvent; 12 | 13 | @WebListener() 14 | public class ApplicationListener implements ServletContextListener, 15 | HttpSessionListener, HttpSessionAttributeListener { 16 | TypeService tsService=new TypeService(); 17 | // Public constructor is required by servlet spec 18 | public ApplicationListener() { 19 | } 20 | 21 | // ------------------------------------------------------- 22 | // ServletContextListener implementation 23 | // ------------------------------------------------------- 24 | public void contextInitialized(ServletContextEvent sce) { 25 | /* This method is called when the servlet context is 26 | initialized(when the Web application is deployed). 27 | You can initialize servlet context related data here. 28 | */ 29 | sce.getServletContext().setAttribute("typeList",tsService.GetAllType()); 30 | } 31 | 32 | public void contextDestroyed(ServletContextEvent sce) { 33 | /* This method is invoked when the Servlet Context 34 | (the Web application) is undeployed or 35 | Application Server shuts down. 36 | */ 37 | } 38 | 39 | // ------------------------------------------------------- 40 | // HttpSessionListener implementation 41 | // ------------------------------------------------------- 42 | public void sessionCreated(HttpSessionEvent se) { 43 | /* Session is created. */ 44 | } 45 | 46 | public void sessionDestroyed(HttpSessionEvent se) { 47 | /* Session is destroyed. */ 48 | } 49 | 50 | // ------------------------------------------------------- 51 | // HttpSessionAttributeListener implementation 52 | // ------------------------------------------------------- 53 | 54 | public void attributeAdded(HttpSessionBindingEvent sbe) { 55 | /* This method is called when an attribute 56 | is added to a session. 57 | */ 58 | } 59 | 60 | public void attributeRemoved(HttpSessionBindingEvent sbe) { 61 | /* This method is called when an attribute 62 | is removed from a session. 63 | */ 64 | } 65 | 66 | public void attributeReplaced(HttpSessionBindingEvent sbe) { 67 | /* This method is invoked when an attibute 68 | is replaced in a session. 69 | */ 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /web/user_register.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 3 | 4 | 5 | 6 | 7 | 8 | 用户注册 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /web/admin/goods_add.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=utf-8" 2 | pageEncoding="utf-8"%> 3 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 4 | 5 | 6 | 7 | 8 | 商品添加 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 |

18 |
19 |
20 | 21 |
22 | 23 |
24 |
25 |
26 | 27 |
28 | 29 |
30 |
31 |
32 | 33 |
34 | 35 |
36 |
37 |
38 | 39 |
40 | 41 |
42 |
43 |
44 | 45 |
46 | 推荐尺寸: 500 * 500 47 |
48 |
49 |
50 | 51 |
52 | 推荐尺寸: 500 * 500 53 |
54 |
55 |
56 | 57 |
58 | 推荐尺寸: 500 * 500 59 |
60 |
61 |
62 | 63 |
64 | 72 |
73 |
74 |
75 |
76 | 77 |
78 |
79 |
80 |
81 | 82 | -------------------------------------------------------------------------------- /web/user_center.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=utf-8" 2 | pageEncoding="utf-8"%> 3 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 4 | 5 | 6 | 7 | 8 | 个人中心 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | <%response.sendRedirect("/index");%> 23 | 24 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /web/order_list.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 | 4 | 5 | 6 | 7 | 8 | 我的订单 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
35 |
36 | 37 | 38 | 39 |

我的订单

40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 64 | 69 | 78 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 |
ID总价商品详情收货信息订单状态支付方式下单时间

${order.id }

${order.total }

59 | 60 |

${item.goodsName }(${item.price }) x ${item.amount }

61 |
62 | 63 |
65 |

${order.name }

66 |

${order.phone }

67 |

${order.address }

68 |
70 |

71 | 已付款 72 | 已发货 73 | 已完成 74 | 75 | 76 |

77 |
79 |

80 | 81 | 微信 82 | 支付宝 83 | 货到付款 84 | 85 |

86 |

${order.datetime }

95 | 96 | 97 | 98 | 99 |
100 |
101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | -------------------------------------------------------------------------------- /src/model/Goods.java: -------------------------------------------------------------------------------- 1 | package model; 2 | 3 | public class Goods { 4 | private int id; 5 | private String name; 6 | private String cover; 7 | private String image1; 8 | private String image2; 9 | private float price; 10 | private String intro; 11 | private int stock; 12 | private Type type; 13 | 14 | private boolean isScroll; 15 | private boolean isHot; 16 | private boolean isNew; 17 | 18 | 19 | public boolean getIsScroll() { 20 | return isScroll; 21 | } 22 | public void setScroll(boolean isScroll) { 23 | this.isScroll = isScroll; 24 | } 25 | public boolean getIsHot() { 26 | return isHot; 27 | } 28 | public void setHot(boolean isHot) { 29 | this.isHot = isHot; 30 | } 31 | public boolean getIsNew() { 32 | return isNew; 33 | } 34 | public void setNew(boolean isNew) { 35 | this.isNew = isNew; 36 | } 37 | public void setTypeid(int typeid) { 38 | if(type==null) { 39 | type = new Type(); 40 | } 41 | type.setId(typeid); 42 | } 43 | public void setTypename(String typename) { 44 | if(type==null) { 45 | type = new Type(); 46 | } 47 | type.setName(typename); 48 | } 49 | @Override 50 | public String toString() { 51 | return "Goods [id=" + id + ", name=" + name + ", cover=" + cover + ", image1=" + image1 + ", image2=" + image2 52 | + ", price=" + price + ", intro=" + intro + ", stock=" + stock + ", type=" + type + "]"; 53 | } 54 | public int getId() { 55 | return id; 56 | } 57 | public void setId(int id) { 58 | this.id = id; 59 | } 60 | public String getName() { 61 | return name; 62 | } 63 | public void setName(String name) { 64 | this.name = name; 65 | } 66 | public String getCover() { 67 | return cover; 68 | } 69 | public void setCover(String cover) { 70 | this.cover = cover; 71 | } 72 | public String getImage1() { 73 | return image1; 74 | } 75 | public void setImage1(String image1) { 76 | this.image1 = image1; 77 | } 78 | public String getImage2() { 79 | return image2; 80 | } 81 | public void setImage2(String image2) { 82 | this.image2 = image2; 83 | } 84 | public float getPrice() { 85 | return price; 86 | } 87 | public void setPrice(float price) { 88 | this.price = price; 89 | } 90 | public String getIntro() { 91 | return intro; 92 | } 93 | public void setIntro(String intro) { 94 | this.intro = intro; 95 | } 96 | public int getStock() { 97 | return stock; 98 | } 99 | public void setStock(int stock) { 100 | this.stock = stock; 101 | } 102 | public Type getType() { 103 | return type; 104 | } 105 | public void setType(Type type) { 106 | this.type = type; 107 | } 108 | public Goods() { 109 | super(); 110 | } 111 | public Goods(int id, String name, String cover, String image1, String image2, float price, String intro, int stock, 112 | Type type) { 113 | super(); 114 | this.id = id; 115 | this.name = name; 116 | this.cover = cover; 117 | this.image1 = image1; 118 | this.image2 = image2; 119 | this.price = price; 120 | this.intro = intro; 121 | this.stock = stock; 122 | this.type = type; 123 | } 124 | 125 | 126 | } 127 | -------------------------------------------------------------------------------- /src/model/User.java: -------------------------------------------------------------------------------- 1 | package model; 2 | 3 | public class User { 4 | private int id; 5 | private String username; 6 | private String email; 7 | private String password; 8 | private String name; 9 | private String phone; 10 | private String address; 11 | private boolean isadmin=false; 12 | private boolean isvalidate=false; 13 | public int getId() { 14 | return id; 15 | } 16 | public void setId(int id) { 17 | this.id = id; 18 | } 19 | public String getUsername() { 20 | return username; 21 | } 22 | public void setUsername(String username) { 23 | this.username = username; 24 | } 25 | public String getEmail() { 26 | return email; 27 | } 28 | public void setEmail(String email) { 29 | this.email = email; 30 | } 31 | public String getPassword() { 32 | return password; 33 | } 34 | public void setPassword(String password) { 35 | this.password = password; 36 | } 37 | @Override 38 | public String toString() { 39 | return "User [id=" + id + ", username=" + username + ", email=" + email + ", password=" + password + ", name=" 40 | + name + ", phone=" + phone + ", address=" + address + ", isadmin=" + isadmin + ", isvalidate=" 41 | + isvalidate + "]"; 42 | } 43 | public String getName() { 44 | return name; 45 | } 46 | public void setName(String name) { 47 | this.name = name; 48 | } 49 | public String getPhone() { 50 | return phone; 51 | } 52 | public void setPhone(String phone) { 53 | this.phone = phone; 54 | } 55 | public String getAddress() { 56 | return address; 57 | } 58 | public void setAddress(String address) { 59 | this.address = address; 60 | } 61 | public boolean isIsadmin() { 62 | return isadmin; 63 | } 64 | public void setIsadmin(boolean isadmin) { 65 | this.isadmin = isadmin; 66 | } 67 | public boolean isIsvalidate() { 68 | return isvalidate; 69 | } 70 | public void setIsvalidate(boolean isvalidate) { 71 | this.isvalidate = isvalidate; 72 | } 73 | public User(int id, String username, String email, String password, String name, String phone, String address, 74 | boolean isadmin, boolean isvalidate) { 75 | super(); 76 | this.id = id; 77 | this.username = username; 78 | this.email = email; 79 | this.password = password; 80 | this.name = name; 81 | this.phone = phone; 82 | this.address = address; 83 | this.isadmin = isadmin; 84 | this.isvalidate = isvalidate; 85 | } 86 | public User( String username, String email, String password, String name, String phone, String address) { 87 | this.username = username; 88 | this.email = email; 89 | this.password = password; 90 | this.name = name; 91 | this.phone = phone; 92 | this.address = address; 93 | this.isadmin = false; 94 | this.isvalidate = false; 95 | } 96 | public User() { 97 | super(); 98 | } 99 | 100 | 101 | } 102 | -------------------------------------------------------------------------------- /web/goods_list.jsp: -------------------------------------------------------------------------------- 1 | <%-- 2 | Created by IntelliJ IDEA. 3 | User: 19767 4 | Date: 2018/11/26 5 | Time: 16:03 6 | To change this template use File | Settings | File Templates. 7 | --%> 8 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 9 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 10 | 11 | 12 | 13 | 14 | 首页 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 |
42 |
43 |

全部系列${t.name}

44 | 45 |
46 | 47 | 48 |
49 | 50 |
51 | 59 |
60 |
61 |
62 |

${g.name}

63 | ¥ ${g.price} 64 | 65 |
66 |
67 |
68 |
69 |
70 | 71 | 72 | 73 |
74 | 75 | 76 | 77 | 78 | 79 |
80 |
81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /src/service/UserService.java: -------------------------------------------------------------------------------- 1 | package service; 2 | 3 | import dao.UserDao; 4 | import model.Page; 5 | import model.User; 6 | 7 | import java.sql.SQLException; 8 | import java.util.List; 9 | 10 | public class UserService { 11 | private UserDao uDao = new UserDao(); 12 | public boolean register(User user) { 13 | try { 14 | if(uDao.isUsernameExist(user.getUsername())) { 15 | return false; 16 | } 17 | if(uDao.isEmailExist(user.getEmail())) { 18 | return false; 19 | } 20 | uDao.addUser(user); 21 | return true; 22 | } catch (SQLException e) { 23 | // TODO Auto-generated catch block 24 | e.printStackTrace(); 25 | } 26 | return false; 27 | } 28 | 29 | public User login(String ue,String password) { 30 | User user=null; 31 | try { 32 | user = uDao.selectByUsernamePassword(ue, password); 33 | } catch (SQLException e) { 34 | // TODO Auto-generated catch block 35 | e.printStackTrace(); 36 | } 37 | if(user!=null) { 38 | return user; 39 | } 40 | try { 41 | user=uDao.selectByEmailPassword(ue, password); 42 | } catch (SQLException e) { 43 | // TODO Auto-generated catch block 44 | e.printStackTrace(); 45 | } 46 | if(user!=null) { 47 | return user; 48 | } 49 | return null; 50 | } 51 | public User selectById(int id) { 52 | User u=null; 53 | try { 54 | u = uDao.selectById(id); 55 | } catch (SQLException e) { 56 | // TODO Auto-generated catch block 57 | e.printStackTrace(); 58 | } 59 | return u; 60 | } 61 | public void updateUserAddress(User user) { 62 | try { 63 | uDao.updateUserAddress(user); 64 | } catch (SQLException e) { 65 | // TODO Auto-generated catch block 66 | e.printStackTrace(); 67 | } 68 | } 69 | public void updatePwd(User user) { 70 | try { 71 | uDao.updatePwd(user); 72 | } catch (SQLException e) { 73 | // TODO Auto-generated catch block 74 | e.printStackTrace(); 75 | } 76 | } 77 | 78 | public Page getUserPage(int pageNumber) { 79 | Page p = new Page(); 80 | p.setPageNumber(pageNumber); 81 | int pageSize = 7; 82 | int totalCount = 0; 83 | try { 84 | totalCount = uDao.selectUserCount(); 85 | } catch (SQLException e) { 86 | // TODO Auto-generated catch block 87 | e.printStackTrace(); 88 | } 89 | p.SetPageSizeAndTotalCount(pageSize, totalCount); 90 | List list=null; 91 | try { 92 | list = uDao.selectUserList( pageNumber, pageSize); 93 | } catch (SQLException e) { 94 | // TODO Auto-generated catch block 95 | e.printStackTrace(); 96 | } 97 | p.setList(list); 98 | return p; 99 | } 100 | public boolean delete(int id ) { 101 | try { 102 | uDao.delete(id); 103 | return true; 104 | } catch (SQLException e) { 105 | // TODO Auto-generated catch block 106 | e.printStackTrace(); 107 | return false; 108 | } 109 | } 110 | } 111 | -------------------------------------------------------------------------------- /web/goodsrecommend_list.jsp: -------------------------------------------------------------------------------- 1 | <%-- 2 | Created by IntelliJ IDEA. 3 | User: 19767 4 | Date: 2018/11/26 5 | Time: 16:03 6 | To change this template use File | Settings | File Templates. 7 | --%> 8 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 9 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 10 | 11 | 12 | 13 | 14 | 首页 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 |
42 |
43 |

热销商品新品商品

44 | 45 |
46 | 47 | 48 |
49 | 50 |
51 | 59 |
60 |
61 |
62 |

${g.name}

63 | ¥ ${g.price} 64 | 65 |
66 |
67 |
68 |
69 |
70 | 71 | 72 | 73 |
74 | 75 | 76 | 77 | 78 | 79 |
80 |
81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /web/order_submit.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 | 4 | 5 | 6 | 7 | 支付 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
31 |

确认收货信息

32 |
33 |
34 | 35 |
36 |
37 |
38 |
39 |
40 | 41 |
42 |
43 |
44 |
45 |
46 | 47 |
48 |
49 |
50 |
51 | 52 |


53 | 54 |

选择支付方式

55 |

支付金额: ${order.total }



56 | 57 | 58 |
59 | 65 |
66 |
67 | 73 |
74 |
75 | 81 |
82 |
83 |
84 | 85 |
86 |
87 |
88 |
89 |
90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /web/admin/goods_edit.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=utf-8" 2 | pageEncoding="utf-8"%> 3 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 4 | 5 | 6 | 7 | 8 | 9 | 商品编辑 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 |

19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 |
29 | 30 |
31 |
32 |
33 | 34 |
35 | 36 |
37 |
38 |
39 | 40 |
41 | 42 |
43 |
44 |
45 | 46 |
47 | 48 |
49 |
50 |
51 | 52 |
53 | 推荐尺寸: 500 * 500 54 |
55 |
56 |
57 | 58 |
59 | 推荐尺寸: 500 * 500 60 |
61 |
62 |
63 | 64 |
65 | 推荐尺寸: 500 * 500 66 |
67 |
68 |
69 | 70 |
71 | 78 |
79 |
80 |
81 |
82 | 83 |
84 |
85 |
86 |
87 | 88 | -------------------------------------------------------------------------------- /web/admin/order_list.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 | 4 | 5 | 6 | 7 | 8 | 订单列表 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 30 | 31 |
32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 56 | 61 | 69 | 78 | 79 | 80 | 89 | 90 | 91 | 92 | 93 |
ID总价商品详情收货信息订单状态支付方式下单用户下单时间操作

${order.id }

${order.total }

52 | 53 |

${item.goodsName }(${item.price }) x ${item.amount}

54 |
55 |
57 |

${order.name }

58 |

${order.phone }

59 |

${order.address }

60 |
62 |

63 | 已付款 64 | 已发货 65 | 已完成 66 | 67 |

68 |
70 |

71 | 72 | 微信 73 | 支付宝 74 | 货到付款 75 | 76 |

77 |

${order.user.username }

${order.datetime }

81 | 82 | 发货 83 | 84 | 85 | 完成 86 | 87 | 删除 88 |
94 | 95 |
96 | 97 | 98 | 99 | 100 |
101 |
102 | 103 | -------------------------------------------------------------------------------- /src/service/OrderService.java: -------------------------------------------------------------------------------- 1 | package service; 2 | 3 | import dao.*; 4 | import model.*; 5 | import utils.*; 6 | 7 | import java.sql.*; 8 | import java.util.List; 9 | 10 | public class OrderService { 11 | private OrderDao oDao = new OrderDao(); 12 | public void addOrder(Order order) { 13 | Connection con = null; 14 | try { 15 | con = DBUtil.getConnection(); 16 | con.setAutoCommit(false); 17 | 18 | oDao.insertOrder(con, order); 19 | int id = oDao.getLastInsertId(con); 20 | order.setId(id); 21 | for(OrderItem item : order.getItemMap().values()) { 22 | oDao.insertOrderItem(con, item); 23 | } 24 | 25 | con.commit(); 26 | } catch (SQLException e) { 27 | // TODO Auto-generated catch block 28 | e.printStackTrace(); 29 | if(con!=null) 30 | try { 31 | con.rollback(); 32 | } catch (SQLException e1) { 33 | // TODO Auto-generated catch block 34 | e1.printStackTrace(); 35 | } 36 | } 37 | } 38 | public List selectAll(int userid){ 39 | List list=null; 40 | try { 41 | list = oDao.selectAll(userid); 42 | for(Order o :list) { 43 | List l = oDao.selectAllItem(o.getId()); 44 | o.setItemList(l); 45 | } 46 | } catch (SQLException e) { 47 | // TODO Auto-generated catch block 48 | e.printStackTrace(); 49 | } 50 | return list; 51 | } 52 | public Page getOrderPage(int status,int pageNumber) { 53 | Page p = new Page(); 54 | p.setPageNumber(pageNumber); 55 | int pageSize = 10; 56 | int totalCount = 0; 57 | try { 58 | totalCount = oDao.getOrderCount(status); 59 | } catch (SQLException e) { 60 | // TODO Auto-generated catch block 61 | e.printStackTrace(); 62 | } 63 | p.SetPageSizeAndTotalCount(pageSize, totalCount); 64 | List list=null; 65 | try { 66 | list = oDao.selectOrderList(status, pageNumber, pageSize); 67 | for(Order o :(List)list) { 68 | List l = oDao.selectAllItem(o.getId()); 69 | o.setItemList(l); 70 | } 71 | } catch (SQLException e) { 72 | // TODO Auto-generated catch block 73 | e.printStackTrace(); 74 | } 75 | p.setList(list); 76 | return p; 77 | } 78 | public void updateStatus(int id,int status) { 79 | try { 80 | oDao.updateStatus(id, status); 81 | } catch (SQLException e) { 82 | // TODO Auto-generated catch block 83 | e.printStackTrace(); 84 | } 85 | } 86 | public void delete(int id) { 87 | Connection con = null; 88 | try { 89 | con = DBUtil.getDataSource().getConnection(); 90 | con.setAutoCommit(false); 91 | 92 | oDao.deleteOrderItem(con, id); 93 | oDao.deleteOrder(con, id); 94 | con.commit(); 95 | } catch (SQLException e) { 96 | // TODO Auto-generated catch block 97 | e.printStackTrace(); 98 | if(con!=null) 99 | try { 100 | con.rollback(); 101 | } catch (SQLException e1) { 102 | // TODO Auto-generated catch block 103 | e1.printStackTrace(); 104 | } 105 | } 106 | 107 | 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /src/dao/UserDao.java: -------------------------------------------------------------------------------- 1 | package dao; 2 | 3 | import model.User; 4 | import org.apache.commons.dbutils.QueryRunner; 5 | import org.apache.commons.dbutils.handlers.BeanHandler; 6 | import org.apache.commons.dbutils.handlers.BeanListHandler; 7 | import org.apache.commons.dbutils.handlers.ScalarHandler; 8 | import utils.DBUtil; 9 | 10 | import java.sql.SQLException; 11 | import java.util.List; 12 | 13 | public class UserDao { 14 | public void addUser(User user) throws SQLException { 15 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 16 | String sql = "insert into user(username,email,password,name,phone,address,isadmin,isvalidate) values(?,?,?,?,?,?,?,?)"; 17 | r.update(sql,user.getUsername(),user.getEmail(),user.getPassword(),user.getName(),user.getPhone(),user.getAddress(),user.isIsadmin(),user.isIsvalidate()); 18 | } 19 | public boolean isUsernameExist(String username) throws SQLException { 20 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 21 | String sql = "select * from user where username = ?"; 22 | User u = r.query(sql, new BeanHandler(User.class),username); 23 | if(u==null) { 24 | return false; 25 | }else { 26 | return true; 27 | } 28 | } 29 | public boolean isEmailExist(String email) throws SQLException { 30 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 31 | String sql = "select * from user where email = ?"; 32 | User u = r.query(sql, new BeanHandler(User.class),email); 33 | if(u==null) { 34 | return false; 35 | }else { 36 | return true; 37 | } 38 | } 39 | public User selectByUsernamePassword(String username,String password) throws SQLException { 40 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 41 | String sql = "select * from user where username=? and password=?"; 42 | return r.query(sql, new BeanHandler(User.class),username,password); 43 | } 44 | public User selectByEmailPassword(String email,String password) throws SQLException { 45 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 46 | String sql = "select * from user where email=? and password=?"; 47 | return r.query(sql, new BeanHandler(User.class),email,password); 48 | } 49 | public User selectById(int id) throws SQLException { 50 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 51 | String sql = "select * from user where id=?"; 52 | return r.query(sql, new BeanHandler(User.class),id); 53 | } 54 | 55 | public void updateUserAddress(User user) throws SQLException { 56 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 57 | String sql ="update user set name = ?,phone=?,address=? where id = ?"; 58 | r.update(sql,user.getName(),user.getPhone(),user.getAddress(),user.getId()); 59 | } 60 | public void updatePwd(User user) throws SQLException { 61 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 62 | String sql ="update user set password = ? where id = ?"; 63 | r.update(sql,user.getPassword(),user.getId()); 64 | } 65 | public int selectUserCount() throws SQLException { 66 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 67 | String sql = "select count(*) from user"; 68 | return r.query(sql, new ScalarHandler()).intValue(); 69 | } 70 | public List selectUserList(int pageNo, int pageSize) throws SQLException { 71 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 72 | String sql = "select * from user limit ?,?"; 73 | return r.query(sql, new BeanListHandler(User.class), (pageNo-1)*pageSize,pageSize ); 74 | } 75 | public void delete(int id) throws SQLException { 76 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 77 | String sql = "delete from user where id = ?"; 78 | r.update(sql,id); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /src/model/Order.java: -------------------------------------------------------------------------------- 1 | package model; 2 | 3 | import utils.PriceUtil; 4 | 5 | import java.util.*; 6 | 7 | public class Order { 8 | private int id; 9 | private float total;//总价 10 | private int amount;// 商品总数 11 | private int status;//1未付款/2已付款/3已发货/4已完成 12 | private int paytype;//1微信/2支付宝/3货到付款 13 | private String name; 14 | private String phone; 15 | private String address; 16 | private Date datetime; 17 | private User user; 18 | private Map itemMap = new HashMap(); 19 | private List itemList = new ArrayList(); 20 | 21 | public void setUsername(String username) { 22 | user = new User(); 23 | user.setUsername(username); 24 | } 25 | public void addGoods(Goods g) { 26 | if(itemMap.containsKey(g.getId())) { 27 | OrderItem item = itemMap.get(g.getId()); 28 | item.setAmount(item.getAmount()+1); 29 | }else { 30 | OrderItem item = new OrderItem(g.getPrice(),1,g,this); 31 | itemMap.put(g.getId(), item); 32 | } 33 | amount++; 34 | total = PriceUtil.add(total, g.getPrice()); 35 | } 36 | 37 | public List getItemList() { 38 | return itemList; 39 | } 40 | 41 | public void setItemList(List itemList) { 42 | this.itemList = itemList; 43 | } 44 | 45 | public void lessen(int goodsid) { 46 | if(itemMap.containsKey(goodsid)) { 47 | OrderItem item = itemMap.get(goodsid); 48 | item.setAmount(item.getAmount()-1); 49 | amount--; 50 | total = PriceUtil.subtract(total, item.getPrice()); 51 | if(item.getAmount()<=0) { 52 | itemMap.remove(goodsid); 53 | } 54 | } 55 | } 56 | public void delete(int goodsid) 57 | { 58 | if(itemMap.containsKey(goodsid)) { 59 | OrderItem item = itemMap.get(goodsid); 60 | total = PriceUtil.subtract(total, item.getAmount()*item.getPrice()); 61 | amount-=item.getAmount(); 62 | itemMap.remove(goodsid); 63 | } 64 | } 65 | 66 | public Map getItemMap() { 67 | return itemMap; 68 | } 69 | 70 | public void setItemMap(Map itemMap) { 71 | this.itemMap = itemMap; 72 | } 73 | 74 | public int getId() { 75 | return id; 76 | } 77 | public void setId(int id) { 78 | this.id = id; 79 | } 80 | public float getTotal() { 81 | return total; 82 | } 83 | public void setTotal(float total) { 84 | this.total = total; 85 | } 86 | public int getAmount() { 87 | return amount; 88 | } 89 | public void setAmount(int amount) { 90 | this.amount = amount; 91 | } 92 | public int getStatus() { 93 | return status; 94 | } 95 | public void setStatus(int status) { 96 | this.status = status; 97 | } 98 | public int getPaytype() { 99 | return paytype; 100 | } 101 | public void setPaytype(int paytype) { 102 | this.paytype = paytype; 103 | } 104 | public String getName() { 105 | return name; 106 | } 107 | public void setName(String name) { 108 | this.name = name; 109 | } 110 | public String getPhone() { 111 | return phone; 112 | } 113 | public void setPhone(String phone) { 114 | this.phone = phone; 115 | } 116 | public String getAddress() { 117 | return address; 118 | } 119 | public void setAddress(String address) { 120 | this.address = address; 121 | } 122 | public Date getDatetime() { 123 | return datetime; 124 | } 125 | public void setDatetime(Date datetime) { 126 | this.datetime = datetime; 127 | } 128 | public User getUser() { 129 | return user; 130 | } 131 | public void setUser(User user) { 132 | this.user = user; 133 | } 134 | public Order() { 135 | super(); 136 | } 137 | } 138 | -------------------------------------------------------------------------------- /src/dao/OrderDao.java: -------------------------------------------------------------------------------- 1 | package dao; 2 | 3 | import model.*; 4 | import org.apache.commons.dbutils.*; 5 | import utils.*; 6 | import java.math.*; 7 | import java.sql.*; 8 | import java.util.*; 9 | import org.apache.commons.dbutils.handlers.*; 10 | 11 | public class OrderDao { 12 | public void insertOrder(Connection con, Order order) throws SQLException { 13 | QueryRunner r = new QueryRunner(); 14 | String sql = "insert into `order`(total,amount,status,paytype,name,phone,address,datetime,user_id) values(?,?,?,?,?,?,?,?,?)"; 15 | r.update(con,sql, 16 | order.getTotal(),order.getAmount(),order.getStatus(), 17 | order.getPaytype(),order.getName(),order.getPhone(), 18 | order.getAddress(),order.getDatetime(),order.getUser().getId() ); 19 | } 20 | public int getLastInsertId(Connection con) throws SQLException { 21 | QueryRunner r = new QueryRunner(); 22 | String sql = "select last_insert_id()"; 23 | BigInteger bi = r.query(con, sql,new ScalarHandler()); 24 | return Integer.parseInt(bi.toString()); 25 | } 26 | public void insertOrderItem(Connection con, OrderItem item) throws SQLException { 27 | QueryRunner r = new QueryRunner(); 28 | String sql ="insert into orderitem(price,amount,goods_id,order_id) values(?,?,?,?)"; 29 | r.update(con,sql,item.getPrice(),item.getAmount(),item.getGoods().getId(),item.getOrder().getId()); 30 | } 31 | public List selectAll(int userid) throws SQLException { 32 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 33 | String sql = "select * from `order` where user_id=? order by datetime desc"; 34 | return r.query(sql, new BeanListHandler(Order.class),userid); 35 | } 36 | public List selectAllItem(int orderid) throws SQLException{ 37 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 38 | String sql = "select i.id,i.price,i.amount,g.name from orderitem i,goods g where order_id=? and i.goods_id=g.id"; 39 | return r.query(sql, new BeanListHandler(OrderItem.class),orderid); 40 | } 41 | public int getOrderCount(int status) throws SQLException { 42 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 43 | String sql = ""; 44 | if(status==0) { 45 | sql = "select count(*) from `order`"; 46 | return r.query(sql, new ScalarHandler()).intValue(); 47 | }else { 48 | sql = "select count(*) from `order` where status=?"; 49 | return r.query(sql, new ScalarHandler(),status).intValue(); 50 | } 51 | } 52 | public List selectOrderList(int status, int pageNumber, int pageSize) throws SQLException { 53 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 54 | if(status==0) { 55 | String sql = "select o.id,o.total,o.amount,o.status,o.paytype,o.name,o.phone,o.address,o.datetime,u.username from `order` o,user u where o.user_id=u.id order by o.datetime desc limit ?,?"; 56 | return r.query(sql, new BeanListHandler(Order.class), (pageNumber-1)*pageSize,pageSize ); 57 | }else { 58 | String sql = "select o.id,o.total,o.amount,o.status,o.paytype,o.name,o.phone,o.address,o.datetime,u.username from `order` o,user u where o.user_id=u.id and o.status=? order by o.datetime desc limit ?,?"; 59 | return r.query(sql, new BeanListHandler(Order.class),status, (pageNumber-1)*pageSize,pageSize ); 60 | } 61 | } 62 | public void updateStatus(int id,int status) throws SQLException { 63 | QueryRunner r = new QueryRunner(DBUtil.getDataSource()); 64 | String sql ="update `order` set status=? where id = ?"; 65 | r.update(sql,status,id); 66 | } 67 | public void deleteOrder(Connection con ,int id) throws SQLException { 68 | QueryRunner r = new QueryRunner(); 69 | String sql ="delete from `order` where id = ?"; 70 | r.update(con,sql,id); 71 | } 72 | public void deleteOrderItem(Connection con ,int id) throws SQLException { 73 | QueryRunner r = new QueryRunner(); 74 | String sql ="delete from orderitem where order_id=?"; 75 | r.update(con,sql,id); 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /web/admin/goods_list.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=utf-8" 2 | pageEncoding="utf-8"%> 3 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 4 | 5 | 6 | 7 | 商品列表 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 26 | 27 | 28 | 29 | 30 | 31 |
32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 84 | 85 | 86 | 87 | 88 |
ID图片名称介绍价格类目操作

${g.id }

${g.name}

${g.intro}

${g.price}

${g.type.name}

54 |

55 | 56 | 57 | 移出条幅 58 | 59 | 60 | 加入条幅 61 | 62 | 63 | 64 | 65 | 移出热销 66 | 67 | 68 | 加入热销 69 | 70 | 71 | 72 | 73 | 移出新品 74 | 75 | 76 | 加入新品 77 | 78 | 79 | 80 |

81 | 修改 82 | 删除 83 |
89 | 90 |
91 | 92 | 93 | 94 | 95 |
96 |
97 | 98 | -------------------------------------------------------------------------------- /src/servlet/AdminGoodsAddServlet.java: -------------------------------------------------------------------------------- 1 | package servlet; 2 | 3 | import model.Goods; 4 | import org.apache.commons.fileupload.FileItem; 5 | import org.apache.commons.fileupload.FileUploadException; 6 | import org.apache.commons.fileupload.disk.DiskFileItemFactory; 7 | import org.apache.commons.fileupload.servlet.ServletFileUpload; 8 | import service.GoodsService; 9 | 10 | import javax.servlet.ServletException; 11 | import javax.servlet.annotation.WebServlet; 12 | import javax.servlet.http.HttpServlet; 13 | import javax.servlet.http.HttpServletRequest; 14 | import javax.servlet.http.HttpServletResponse; 15 | import java.io.FileOutputStream; 16 | import java.io.IOException; 17 | import java.io.InputStream; 18 | import java.util.Date; 19 | import java.util.List; 20 | 21 | @WebServlet(name = "admin_goods_add",urlPatterns = "/admin/goods_add") 22 | public class AdminGoodsAddServlet extends HttpServlet { 23 | private GoodsService gService = new GoodsService(); 24 | /** 25 | * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 26 | */ 27 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 28 | DiskFileItemFactory factory=new DiskFileItemFactory(); 29 | ServletFileUpload upload = new ServletFileUpload(factory); 30 | try { 31 | List list = upload.parseRequest(request); 32 | Goods g = new Goods(); 33 | for(FileItem item:list) { 34 | if(item.isFormField()) { 35 | switch(item.getFieldName()) { 36 | case "name": 37 | g.setName(item.getString("utf-8")); 38 | break; 39 | case "price": 40 | g.setPrice(Integer.parseInt(item.getString("utf-8"))); 41 | break; 42 | case "intro": 43 | g.setIntro(item.getString("utf-8")); 44 | break; 45 | case "stock": 46 | g.setStock(Integer.parseInt(item.getString("utf-8"))); 47 | break; 48 | case "typeid": 49 | g.setTypeid(Integer.parseInt(item.getString("utf-8"))); 50 | break; 51 | } 52 | }else { 53 | if(item.getInputStream().available()<=0)continue; 54 | String fileName = item.getName(); 55 | fileName = fileName.substring(fileName.lastIndexOf(".")); 56 | fileName = "/"+new Date().getTime()+fileName; 57 | String path = this.getServletContext().getRealPath("/picture")+fileName; 58 | InputStream in = item.getInputStream(); 59 | FileOutputStream out = new FileOutputStream(path); 60 | byte[] buffer = new byte[1024]; 61 | int len=0; 62 | while( (len=in.read(buffer))>0 ) { 63 | out.write(buffer); 64 | } 65 | in.close(); 66 | out.close(); 67 | item.delete(); 68 | switch(item.getFieldName()) { 69 | case "cover": 70 | g.setCover("/picture"+fileName); 71 | break; 72 | case "image1": 73 | g.setImage1("/picture"+fileName); 74 | break; 75 | case "image2": 76 | g.setImage2("/picture"+fileName); 77 | break; 78 | } 79 | } 80 | } 81 | gService.insert(g); 82 | request.getRequestDispatcher("/admin/goods_list").forward(request, response); 83 | } catch (FileUploadException e) { 84 | // TODO Auto-generated catch block 85 | e.printStackTrace(); 86 | } 87 | } 88 | 89 | /** 90 | * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 91 | */ 92 | protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 93 | // TODO Auto-generated method stub 94 | doGet(request, response); 95 | } 96 | } 97 | -------------------------------------------------------------------------------- /web/goods_detail.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 3 | 4 | 5 | 6 | 7 | 8 | 商品详情 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 |
43 |
44 |
45 |
46 |
47 | 48 |
    49 |
  • 50 |
    51 |
  • 52 |
  • 53 |
    54 |
  • 55 |
  • 56 |
    57 |
  • 58 |
59 |
60 |
61 |
62 |

${g.name}

63 |
64 |

分类 : ${g.type.name}

65 |
66 |

${g.intro}

67 |
68 |
69 |
¥ ${g.price}
70 |
71 |
72 |
73 |
74 | 加入购物车 75 |
76 |
77 |
78 | 79 | 86 |
87 |
88 |
89 |
90 |
91 | 92 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | -------------------------------------------------------------------------------- /web/index.jsp: -------------------------------------------------------------------------------- 1 | <%-- 2 | Created by IntelliJ IDEA. 3 | User: 19767 4 | Date: 2018/11/19 5 | Time: 15:03 6 | To change this template use File | Settings | File Templates. 7 | --%> 8 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 9 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 10 | 11 | 12 | 13 | 14 | 商品列表 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 43 | 44 | 45 | 46 |
47 | 48 | 49 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | --------------------------------------------------------------------------------