-
Notifications
You must be signed in to change notification settings - Fork 0
yaachou/bookshop
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
【注:效果图请参考目录中原说明文档《网上书店系统说明文档》】 目 录 1、开发相关技术及方法 3 2、系统架构及功能模块 3 3、数据库表的设计 4 4、测试效果及截图 5 5、部分代码附录 6 6、总结及心得体会 20 1、开发相关技术及方法 1.1 开发环境 (1)硬件环境:PC机 (2)软件环境:JDK-1.8,spring tool suite,Tomcat 9.0,Mysql 1.2 相关技术及方法 Jsp,servlet,spring MVC,spring boot,spring Data JPA,maven,Hibernate,数据库,服务器以及前端设计等 2、系统架构及功能模块 2.1 系统架构 本网上书店系统在整体开发时采用spring boot架构并通过注入依赖来自动配置Spring MVC框架,Spring MVC是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架(图2.1.1),通过一套 MVC注解,让POJO(普通JavaBeans)成为处理请求的控制器,而无须实现任何接口。 对于数据库的操作,为了简化数据库的访问,使其访问变得简单快捷,本项目使用了Spring Data JPA,Spring Data JPA采用当前最为流行的Hibernate ORM框架,它允许开发者采用面向对象的方式来操作关系数据库,完成对象的持久化操作,减少了数据访问层 (DAO) 的开发量。 图2.1.1 2.2 功能模块 1、登录:提供注册界面和登录界面,注册则链接数据库后创建新的用户,登陆时会判断是否为管理员,若为管理员登录,则跳向后台管理界面,否则直接跳到书店首页。 2、管理员操作菜单:管理员可分别对图书进行操作(包括添加书籍、删除书籍、查看全部库存)及对用户进行操作(包括注销账户、查看全部账户)。 3、购书主页:此页面显示库存全部图书,进入该页后,用户可点击按钮将书籍信息通过get请求方式加入到购物车对象中)。 4、购物车:获取此用户对象的购物车并显示出来,计算当前购物车内图书的总价,用户在点击支付按钮前需提交个人信息(收件人、手机号、地址等)。 3、数据库表的设计 在数据库表的设计方面,本项目通过Hibernate持久化类自动创建了admin、reader和book三个数据库表。 其中admin表保存了管理员的信息,在以管理员身份登陆时通过静态方式进行判断;reader表保存了该系统下的用户信息,可通过用户注册和管理员的注销账户操作进行动态更新;book表则保存当前系统库存全部书籍信息,可通过管理员的移除书目操作进行更新(具体内容参考图3.1)。 4、测试效果及截图 1、欢迎登陆 2、点击立即注册按钮 3、注册成功 4、用注册的账号进行登录 5、进入书店 6、加入多本图书至购物车 7、填写信息并点击支付 8、支付成功 9、管理员登陆 10、管理员操作菜单 11、添加书籍 12、移除书籍 13、查看库存 14、注销账号 15、查看全部用户 5、部分代码附录 该web项目文件目录如下图所示,由于代码量较大,此处只附录部分代码。具体使用效果可参考上述第4部分-测试效果及截图... 6、总结及心得体会 本次作业设计开发的网上书店系统主要包括购书界面的设计和管理平台两个方面。在开发的工程中,采用了软件工程的设计思想,根据关系模式设计数据库表,用模块化设计方法将系统的各个功能模块层层分解,设计出系统的模块化结构,并根据系统的具体要求,详细地定义了系统各个模块的具体功能。本系统分为普通用户系统和管理员系统两大模块。根据功能要求,采用了开放式数据库连接技术对数据库进行访问。 通过对本次《JAVA EE》课程的学习,我掌握了web开发的基本技能,熟悉了servlet、JSP、spring等知识。其中前端包括对html、jsp的学习,后端包括servlet、javabean以及对数据库的连接、访问操作,除此之外,还熟悉了web项目的配置与搭建和部署到服务器上并运行的方法。《JAVA EE》课程极大地提高了我对web开发的认知和兴趣,在课程结束之后,我会深入学习关于spring等框架方面的知识,提升自己的开发能力!
About
J2EE
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published