当前位置: 首页 > news >正文

Springboot阶段项目---《书城项目》

一 项目介绍

   本项目采用集成开发平台IntelliJ IDEA开发了在线作业成绩统计系统的设计与实现,实现了图书商城系统的综合功能和图形界面的显示,可以根据每个用户登录系统后,动态展示书城首页图书,实现了分类还有分页查询,还有用户可以添加图书到购物车,可以查看图书详情等基本功能。Springboot,SpringMVC,Mybatis等技术。

二 功能详细描述

该系统总共分为书城首页展示功能、书本详情功能,购物车功能,页面动态渲染功能,具体功能如下介绍:

(1) 书城首页展示功能:当用户访问首页时,我们会根据书本类型,书本价格,书本上架时间等对从数据库查询到的数据进行一个分页查询。

(2) 书本详情功能:当用户进入首页看见展示的图书后,用户可以通过点击书本从而进入该书本的详情页面,该页面包括了书本所有的详细信息。

(3) 购物车功能:该功能是一个较为核心的功能,首先用户在进入购物车功能之前,我们会先判断用户是否已经登录,我们使用的springMVC提供的拦截器进行实现,因为查询购物车的信息需要使用用户id。在进入购物车之后,首先我们会根据用户的id和购物车信息进行多表联查,将查询到的数据同样根据图书的分类,价格已经上架时间使用分页查询进行动态展示。同时,购物车也提供了对物品基本的删除,价格统计等功能。

(4) 页面动态渲染。该功能前端主要是使用jQuery来写的前端页面,然后通过ajax与后端进行交互,得到动态数据渲染在前端页面。

三 数据库表的设计

     本项目主要四张表,分别是用户信息表,用于存储用户的基本信息;图书信息表,用于展示图书的基本信息;图书分类表,用于后续对图书进行分类展示;购物车信息表,用于表示每个用户收藏购物车图书的信息。

     下面将分别展示每一张表的设计:

 

 

四 技术实现和难点 

 4.1 登录注册功能

        该功能没有什么特别大的难点,主要需要注意两点,第一点就是我们需要使用自定义全局异常处理器,对用户名和密码的正确性进行一个自定义的异常信息抛出。另外一点就是,为了方便后面业务逻辑的进行,我们在登录成功后,需要把用户的信息存入Session中,后面需要用的时候可以随时取。

4.2 书城首页功能

       该功能是比较核心的功能,它几乎包揽了我们平时使用的curd,但是稍微复杂一点的就是,我们需要根据前端数据动态查询sql。比如我们需要进行图书的分类查询,也可能需要根据价格或者上架时间来查询。另外一点就是分页查询,这个也是我们必须要掌握的。

4.3 购物车功能

       该功能和首页类型,也是对图书进行curd,但是他有一点需要注意,就是我们在进入购物车功能之前需要先进行判断用户是否已经登录,如果没有登录是不能进入购物车功能的,因为购物车的数据需要使用已经登录用户的uid进行数据库查询。所以这里就需要使用拦截器,对购物车请求进行拦截,先判断用户是否登录,如果登录了拦截器才会放行该请求。

4.4 浏览历史功能

       该功能暂未实现。因为我有一种思路就是再建一个表,然后根据该表中的时间字段进行排序查找,只根据最近时间展示前两本书数据,但是因为项目并没有给我们这个表,所以有点不科学。然后又想到了第二种方法,就是把游览的书本数据存入到前端的cookie或者Session中,然后再去里面拿,但是因为还没有试过,不知道怎么解决拿到最近两本书的信息,后面会再进行功能补充。

五 基本页面运行展示

5.1登录注册页面

5.2书城首页页面 

 

5.3购物车页面

 六 设计感言

作为计算机学院的学生,我觉得能做类似的课程设计是十分有意义,而且十分必要的。经过一周的课程设计,我成功的实现了成绩导入,数据查询,统计,删改等基本功能。

本次的课程提高了我编辑代码的能力和分析问题的能力,让我充分利用专业课程所学的知识来解决问题。也解决了我平时拖沓这种不好的学习习惯,增强了学习兴趣。学习的过程有乐趣也有困难,通过查阅课本,参考了网上的设计流程还有老师的讲解逐渐完成了本次任务。

写完运行时出现了很多问题,通过请教老师讲解不会的难点,解决了哈夫曼树如何打印在文档中的问题。并且与同学们的与分享解决了很多的基本问题。最后本次的课程设计使我学到了很多有用的东西,对今后的学习也有了很多帮助。

此次课程设计给我印象最深的就是通过对这个课题的训练,使我基本掌握了Java编程的基础知识,主体模块与功能模块的结合技巧、方法,让我发现了自己的不足之处而且学会了如何查找资料,提高了我的自学能力,也锻炼了我分析问题、解决问题的能力!边学边用这样才会提高效率,也提高了自己对专业的兴趣!

最后该项目的源码我已经放在了我主页的资源里面,名字叫做《书城项目》,另外如果有需要交课设的同学,可以找我拿项目文档。

相关文章:

  • 大厂程序员离职,开发一个盲盒小程序2万,一周开发完!
  • centos 安装mysql8 客户端
  • SpringBoot集成腾讯云敏感词校验API流程
  • vlan综合实验
  • 运维笔记.MySQL.基于mysqldump数据备份与恢复
  • 【Linux】- HBase集群部署 [19]
  • Ubuntu 22.04 docker方式启动artifactory相关
  • linux替换文件中的字符串
  • C语言 | Leetcode C语言题解之第108题将有序数组转换为二叉搜索树
  • 网上的面经【面试准备】
  • Docker打包nginx镜像丢失挂载的配置文件
  • Vue3实现上传照片以及回显
  • Linux--进程概念
  • 配置yum源
  • HTML5表单控件:新时代的交互魔法手册
  • 2017前端实习生面试总结
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • javascript 哈希表
  • JavaScript-Array类型
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • text-decoration与color属性
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • webpack4 一点通
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 日剧·日综资源集合(建议收藏)
  • 如何在 Tornado 中实现 Middleware
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​ArcGIS Pro 如何批量删除字段
  • #NOIP 2014# day.1 T2 联合权值
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (3)(3.5) 遥测无线电区域条例
  • (初研) Sentence-embedding fine-tune notebook
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (十三)Flask之特殊装饰器详解
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (一)Java算法:二分查找
  • (译)2019年前端性能优化清单 — 下篇
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)h264中avc和flv数据的解析
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)ORM
  • (转)关于pipe()的详细解析
  • .net core控制台应用程序初识
  • .NET Micro Framework 4.2 beta 源码探析
  • .NET MVC第五章、模型绑定获取表单数据
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .NET命令行(CLI)常用命令
  • .net下简单快捷的数值高低位切换
  • .Net中wcf服务生成及调用