失效链接处理 |
javaweb基础项目实战 PDF 下载
本站整理下载:
提取码:8jgo
相关截图:
主要内容:
JavaWeb增强:
过滤器、监听器、国际化、文件上传与下载、JavaMail邮件开发
回顾项目开发设计模式之mvc模式:
M model 模型层 【entity/dao/service】
V view 视图层 【jsp/html…】
C control 控制器 【servlet】
优缺点:
每一层各司其职! 更容易更换具体的实现,而对其他层代码影响较小!
目标:
1. 掌握mvc开发模式
2. 需求分析
《需求分析说明书.doc》
3. 设计数据库
每一组用同一个数据库。
4. 编码
组长:分配任务,每个人要做什么 (项目计划)
项目开发生命周期
软件项目开发模式:
螺旋开发模式
适合于项目前期部分需求不确定的情况, 对于每一个模块一个个开发:分析、设计、编码、测试、上线;
好处: 降低软件风险! (做出的产品要尽量满足客户需求!)
瀑布模式:
先进行所有模块的需求分析,当分析结束后,才进入项目下一个阶段, 即设计、编码、测试、上线;
好处: 更容易进行项目把控,即项目质量控制!
需求分析:
软件工程师: 了解需求的途径?
1. 需求文档
2. 项目经理
3. 项目的系统原型 (美工设计师)
(4. 客户)
“餐馆王”系统功能:
1. 餐桌模块
2. 菜类别模块(菜系)
3. 菜信息 (菜品)
4. 订单
详细分析:
1. 后台录入的餐桌, 要在前台首页显示; 且只显示未预定
2. 后台录入的菜类别, 在前台主页显示
3. 后台录入的菜信息,在前台主页显示
4. 前台生成订单后,在后台显示订单详细
数据库设计
-- 创建数据库
CREATE DATABASE hotel CHARACTER SET utf8;
USE hotel;
-- 1. 餐桌表
CREATE TABLE dinnerTable(
id INT PRIMARY KEY AUTO_INCREMENT, -- 餐桌主键
tableName VARCHAR(20), -- 餐桌名
tableStatus INT DEFAULT 0, -- 餐桌状态:0,空闲; 1,预定
orderDate DATETIME
);
-- 2. 菜类别表
CREATE TABLE foodType(
id INT PRIMARY KEY AUTO_INCREMENT, -- 类别主键
typeName VARCHAR(20) -- 类别名称
);
-- 3. 菜品种表
CREATE TABLE food(
id INT PRIMARY KEY AUTO_INCREMENT, -- 主键
foodName VARCHAR(20), -- 菜名称
foodType_id INT, -- 所属菜系, 外键字段
price DOUBLE, -- 价格
mprice DOUBLE, -- 会员价格
remark VARCHAR(200), -- 简介
img VARCHAR(100) -- 图片
);
-- 4. 订单表 (订单基本信息)
CREATE TABLE orders(
id INT PRIMARY KEY AUTO_INCREMENT, -- 主键
table_id INT, -- 外键: 餐桌编号
orderDate DATETIME, -- 下单日期
totalPrice DOUBLE, -- 订单所有菜需要的总金额
orderStatus INT DEFAULT 0 -- 订单状态: 0,未结账; 1,已结账
);
-- 5. 订单明细表 (主要是菜品种)
CREATE TABLE orderDetail(
id INT PRIMARY KEY AUTO_INCREMENT, -- 主键
orderId INT, -- 外键:引入的是订单表的主键
food_id INT, -- 外键:引用的是菜信息表的主键
foodCount INT -- 菜的数量
);
-- 添加菜品与菜类别的关系约束
ALTER TABLE food ADD CONSTRAINT fk_food_foodType_id FOREIGN KEY(foodType_id) REFERENCES foodType(id);
-- 订单表: 与餐桌表的关系
ALTER TABLE orders ADD CONSTRAINT order_table_id FOREIGN KEY(table_id) REFERENCES dinnertable(id);
-- 订单明细: 与订单表的关系
ALTER TABLE orderDetail ADD CONSTRAINT orderDetail_order_id FOREIGN KEY(orderId) REFERENCES orders(id);
-- 订单明细: 与菜信息的关系
ALTER TABLE orderDetail ADD CONSTRAINT orderDetail_food_id FOREIGN KEY(food_id) REFERENCES food(id);
|