JavaWeb图书管理系统day01
- 视频+资料+笔记【链接:https://pan.baidu.com/s/127I2oA8zvhTECCmC6wMSmQ 提取码:zjxs】
- JavaWeb图书管理系统【bookEstore文档】
- JavaWeb图书管理系统【源码 + 效果展示】
- JavaWeb图书管理系统day01【2014.09.27】
- JavaWeb图书管理系统day02【2014.09.28】
- JavaWeb图书管理系统day03【2014.09.29】
目录
公开课安排
一、功能分析与设计
数据表之间的关系
导入sql文件
设置域名(虚拟主机配置)
二、注册与登录操作
三、添加商品操作
四、显示商品信息
公开课安排
第一天
- 功能分析与设计
- 注册与登录操作
- 添加商品操作
- 显示商品信息
第二天
- 查看商品详细信息
- 添加商品到购物车
- 显示购物车商品
- 购物车删除与修改操作
第三天
- 生成订单
- 查看订单
- 订单的取消与支付
- 权限控制
一、功能分析与设计
数据表之间的关系
订单与用户之间存在关系:1 对 多
要在订单表中生成一个外键来描述关系。
订单项:描述的商品与订单之间的关系
多对多关系
需要一个中间表(orderitem)来描述它们的关系
导入sql文件
创建数据库后,进入数据库,通过 source导入sql文件:
设置域名(虚拟主机配置)
关于在浏览器上直接输入 http://www.bookEstore.com 就可以访问工程的问题。
1.在tomcat/conf/server.xml文件中,配置一个虚拟主机
<Host name="www.bookEstore.com" appBase="D:\j2eeWorkspaces\bookEstore"
unpackWARs="true" autoDeploy="true"><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="D:\j2eeWorkspaces\bookEstore\WebRoot"/>
</Host>
2.需要在C:\Windows\System32\drivers\etc路径下,查找一个配置文件hosts
在这个文件中配置
127.0.0.1 www.bookEstore.com
3.可以在server.xml文件中,配置:
<Engine name="Catalina" defaultHost="www.bookEstore.com">
二、注册与登录操作
1.注册
1.注册功能演示
2.代码实现
regist.jsp页面------>UserServlet----->UserDao
UserServlet中:
1.获取验证码,判断它是否正确,如果正确,向下执行.
如果不正确,跳转到regist.jsp页面,显示错误信息
2.将所有请求参数封装到User对象中,在User类中创建一个validateRegist方法,
这个方法会对请求参数进行校验,将错误信息封装到一个Map集合,在Servlet中
判断集合长度是否>0,这样就可以判断是否有错误信息,如果有,跳转到regist.jsp显示错误信息.
3.调用UserService去完成注册操作 调用regist方法,传递User参数
4.在regist方法中做了两件事情
1.调用UserDao完成注册操作
2.给注册的用户发送了一封激活邮件
关于md5加密:
在mysql数据库中通过 md5(字段);
update users set password=md5(password);
在java中可以通过代码实现
MessageDigest.getInstance("md5")
2.登录操作
index.jsp---->page.jsp页面 有登录窗口
会有登录窗口,提交时会访问UserServlet,会带一个请求参数 method=login
在UserServlet中就可以判断当前操作是登录操作
就会调用UserServlet中的login方法
UserServlet---UserService----->UserDao
1.userServlet中收集了用户名与密码
2.UserService中调用UserDao中查找用户操作 findUserByUserNameAndPassword
3.在UserService中判断了一下得到的User对象是否为null,如果为null,直接抛出一个自定义异常.
4.如果查找到了用户,但是用户未激活,那么也不能登录成功,抛出了一个自定义异常.
5.在UserServlet中捕获自定义异常,在page.jsp页面显示错误信息.
6.在UserServlet中判断用户不为空,就将User存储到session中,并跳转到首页index.jsp,
自动跳转到page.jsp页面。
1.记住用户名
当用户登录成功后,并且勾选了记住用户名操作,我们将用户的username存储到cookie中,
持久化存储,并携带到浏览器端.
在页面上通过el表达式获取username显示出来.
在cookie中是不能存储中文,那么要是用户名是中文,我们可以存储username的utf-8码.
在页面上,通过js将utf-8码解码.
2.自动登录操作
当用户登录成功后,并且勾选自动登录操作,我们将username,password都存储到cookie中,
持久化存储,并携带到浏览器端.
当下一次在访问时,我们可以通过Filter来拦截我们请求,判断cookie中是否有我们存储username,
passowrd的这个cookie
注意:自动登录时,有以下情况是不需要进行自动登录的.
1.用户已经登录
2.用户访问的路径是 login regist这样的操作。
3.注销操作
我们用户登录成功后,会将用户存储到session中。
注销操作就是将session销毁就可以以。
session.invalidate()方法.
点击注销访问UserServlet?method=logout
三、添加商品操作
3.关于商品的添加
添加商品操作,其实是一个文件上传操作。添加商品时,需要添加一个商品图片,我们使用文件上传。
commons-fileupload
浏览器:
1.method=post
2.encType="multipart/form-data"
3.<input type="file" name="f">组件
点击添加图书链接,会访问 addProduct.jsp页面
AddProductServlet这个servlet中有两个工作:
1.完成书箱图片的保存(上传操作)
2.将信息存储到数据库创建了一个Map<String,String[]>它用于封装所有请求参数
通过BeanUtils.populate方法将请求参数直接封装到Product类中。可以调用ProductService中的添加图书的方法,完成图书添加操作
当图片添加成功后,我们会跳转到index.jsp页面。
四、显示商品信息
4.关于查询图书操作
1.查询全部
index.jsp页面直接跳转到ProductServlet中
执行findAll操作,也就是查询出全部信息
调用ProductService----ProductDao完成查询操作,得到所有商品信息List<Product>
转发到page.jsp页面,在page.jsp页面展示所有商品信息.
2.根据id查询
点击“抢购书籍”,会访问ProductServlet,
product?method=findById&id=xxx
会将这本书籍的id也携带到服务器端.
会调用ProductService的findByid方法,根据id查找书籍,也就是得到一个Product对象。
查找到商品后,跳转到productInfo.jsp页面,展示商品信息。
上传的所有图片 大小不确定的,怎样保证显示商品时,它的大小?
通过一个工具类可以保证当前的商品的图片大小一致。
PicUtils putils = new PicUtils(this.getServletContext().getRealPath(product.getImgurl()));
putils.resize(200, 200);
当添加商品时,会生成商品图片的一个缩略图,以方便我们在页面上显示。
在Product类中提供了一个getImgurl_s方法,这个方法,会根据商品图片的路径,获取到缩略图片的路径,
我们就可以直接在页面上通过el表达式,获取缩略图的路径,显示出这个缩略图。
JavaWeb图书管理系统day01相关推荐
- JavaWeb图书管理系统day03
视频+资料+笔记[链接:https://pan.baidu.com/s/127I2oA8zvhTECCmC6wMSmQ 提取码:zjxs] JavaWeb图书管理系统[bookEstore文档] ...
- JavaWeb图书管理系统day02
视频+资料+笔记[链接:https://pan.baidu.com/s/127I2oA8zvhTECCmC6wMSmQ 提取码:zjxs] JavaWeb图书管理系统[bookEstore文档] ...
- Javaweb图书管理系统t
JavaWeb图书管理系统 一.创建数据库bookdb,导入数据库文件在这里插入代码片 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0;-- ------- ...
- JavaWeb图书管理系统 图书借阅系统项目源码附带视频部署演示教程
一.项目介绍 更新记录 2022.05.29 修复Java代码,添加过滤器未实现的方法 解决css,js样式失效,引入改为本地引入 重构项目,一个项目分两版本,一个idea版本一个eclipse版本 ...
- javaweb 图书管理系统完整代码_群晖 + Docker + Calibre-Web 搭建电子书管理系统
自从有了群晖生活方便了很多,想看的书也越来越多, 给管理带来了挑战,想着有没有什么高大上一点的系统能帮我管理这些电子书籍,就像Ds Video一样,界面养眼的同时还能激发我看书的欲望. 我在百度用各种 ...
- JavaWeb图书管理系统
目录 1.设计任务与目的 2.设计思路 3.概要设计 3.1系统结构图设计 3.2开发工具与运行环境 4.详细设计 4.1系统用户用例图 4.2用户登录用例图 4.3业务流程图 4.4数据流程图 4. ...
- JavaWeb 图书管理系统(数据库综合实验)
<数据库系统综合实验>设计报告 分工我负责了图书管理系统中整个数据库的设计与实现,编写与整理了数据库相关方面的文档.梳理了概念设计,对于实体,实体对应的属性,各实体间的关联,E-R(实体联 ...
- java工作日报管理系统_GitHub - LovebuildJ/book-manager: JavaWeb图书管理系统,简单易用功能强大,可拓展性高,集成主流框架...
book-manager 介绍 图书管理系统 请勿忽略更新日志, 会有详细的版本更新说明! 软件截图 在线API接口文档 登录 首页轮播 图书列表 图书上架 图书编辑 图书删除 图书借阅 图书检索 图 ...
- 基于eclipse开发软件的Javaweb图书管理系统【源代码】及部分软件
第一步 下载JDK 1.下载网址:所需JDK网址 根据自己的操作系统选择,x86代表32位,x64代表64位.点击相应的jdk下载.(本机系统是Windows 64位的,选择.exe) 2.百度网盘下 ...
最新文章
- 用计算机处理信息可以分为四个过程,大学计算机基础期末考试样题3
- python绘制三维散点图-Python散点图与三维图
- Vue3里的setup中使用vuex
- 群辉发布RackStation系列机型——RS3621RPxs、RS3621xs+与RS4021xs+
- Sublime Text 2安装汉化破解、插件包安装教程
- python之argmax
- Web1.0、Web2.0、Web3.0的主要区别
- Python弹球游戏(tkinter模块编写)
- python自动生成字幕脚本_自动生成字幕软件?
- openwrt中luci学习笔记
- MySql in子句 效率低下优化
- MachineLearning_LogisticRegression使用matlab编程遇到问题
- 平面几何----用角平分线逆定理证明阿氏圆定理
- java程序员表白代码_程序员表白代码,用过的人都找到了对象...
- python爬取有声小说_python写的有声小说爬虫
- 0 win10重装partition_gpt分区无法安装win10的根本原因
- sony android mp3播放器,高音质与流媒体兼具,索尼 NW-ZX500 安卓音乐播放器评测
- [更新]android平板手机 通过usb otg 来充电(以nexus 7 一代为例USB ROM)
- 如何使用anydesk进行远程控制?进来长知识
- Linux在线安装mysql57-community-release-el7-10.noarch.rpm
热门文章
- oracle脚本刷错了怎么办,Oracle故障处理中常用的脚本
- java+synchro_synchrozied,wait()与notify()的理解
- oracle 存储 更新,oracle 更新空间数据存储过程语句
- java try 返回值_JAVA的try... catch finally的return返回值问题
- pycharm创建python虚拟环境好处_pycharm虚拟环境的搭建
- python获取视频帧的时间_Python提取视频中图片的示例(按帧、按秒)
- 二十三、前端必学Node.js入门
- face_recognition快速入门
- 下一代对话系统中的关键技术(上篇)
- 对凸优化(Convex Optimization)的一些浅显理解