hotel

框架规范:Apache+JavaEE +Mysql+前端(html5+css3+WEBGL)

本来想用.NET 方式去建构系统,windows自带iis就省去了服务软件的下载与安装,并且对于.net也更熟悉。
但是最终却是用了javaEE,还好Tomcat能在虚拟机启动,java+mysql还有一个优点就是二者全是开源免费的,因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。
(iis:Internet Information Services,互联网信息服务)
因为虚拟机的windows7系统无法打开iis。

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是最流行的Web服务器端软件之一,它可以运行在几乎所有广泛使用的计算机平台上(开源免费)。

Java EE,Java 平台企业版(Java Platform Enterprise Edition),用来开发B/S架构软件(开源免费)。

MySQL:关系型数据库管理系统(开源免费)。

WEBGL使用的是已经存在的库。

使用的JavaEE主要技术

JDBC
Java 数据库连接,(Java Database Connectivity,JDBC)是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。

JNDI
Java 命名和目录接口(Java Naming and Directory Interface,JNDI),是 Java 的一个目录服务应用程序界面(API),它提供一个目录系统,并将服务名称与对象关联起来,从而使得开发人员在开发过程中可以使用名称来访问对象。

EJB
企业级 JavaBean(Enterprise JavaBean, EJB)是一个用来构筑企业级应用的服务器端可被管理组件。不过这个东西在 Spring 问世后基本凉凉了,知道是什么就行。

Servlet
Servlet(Server Applet),是用 Java 编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。
狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类(本次使用了SessionServlet)。

JSP
JSP(全称JavaServer Pages)是由 Sun 公司主导创建的一种动态网页技术标准。JSP 部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成 HTML、XML 或其他格式文档的 Web 网页,然后返回给请求者。

前端

注册界面:
hotel_第1张图片
前台信息:
hotel_第2张图片
地理位置信息(百度API):
hotel_第3张图片
支付界面(WEBGL):
hotel_第4张图片

数据库

hotel_第5张图片

用例图

订单管理细化用例图 员工息维护细化用例图 房间订购细化用例图 员工息维护细化用例图 员工息维护细化用例图 办理订单取消细化用例图 客户信息管理细化用例图 员工信息管理细化用例图 客户 员工 管理员 个人信息维护 房间预订 订单管理 员工 员工登录 员工登录 修改账户信息 «extend» 客户 输入时间后,查询客房 按价格查询 按类型查询 订购 查看详情 «extend» «extend» «extend» «extend» 查看订单 支付 «include» 支付平台 客户 撤销订单 «extend» 申请退款 入住确认 «extend» «include» 员工 房间信息维护 办理订单取消申请 员工信息维护 员工 员工登录 员工登录 修改账户信息 «extend» 员工 员工登录 管理员信息修改 «extend» 员工 订单取消办理 确认并退款 支付平台 «extend» 否认 «extend» 管理员信息维护 客户信息管理 员工信息管理 管理员 删除长期未登录的客户信息 管理员 删除员工信息

类与方法

######################################################################
RegisterServlet(用户信息类) :

方法
方法
请求登陆方法
方法
RegisterServlet
add
view
login
change

ContactServlet(用户管理类I) :

删除方法
按姓名查询用户方法
更改用户信息方法
ContactServlet
delete
view
save

guanli页面(用户管理类II) :

删除方法
读取用户表方法
更改用户信息方法
guanli页面
delete
view
save

ProductServlet (产品信息类) :

增加产品方法
查询方法
按种类查询方法
按价格查询方法
修改方法
ProductServlet
add
view
viewbycategory
viewbyprice
change

DinggouServlet (订单信息类) :

订购方法
订购方法
DinggouServlet
book
view

Book页面(查看我的订单类) :

查看我的订单方法
Book页面
viewmybooked

ContactGuanlidingdan(管理订单类) :

删除订单方法
ContactGuanlidingdan
delete

DataBaseConnection(数据库链接类) :

构造方法
DataBaseConnection
DataBaseConnection

实现的顺序图

用户注册

sequenceDiagram
用户 ->> 注册界面: 输入基本信息
注册界面 ->> 注册界面:简单的 判断用户信息
Note right of  注册界面: 填写是否完整?
注册界面 --x用户: 若不合规范重新填写
注册界面 ->> 用户信息类: 请求写入用户信息
activate 用户信息类
用户信息类 ->>数据库: 请求写入用户信息
activate 数据库
数据库 ->>用户信息类 : --
deactivate 数据库
用户信息类 ->> 注册成功界面:注册成功
deactivate 写入用户信息类
注册成功界面 --x 用户: 你好!

用户登陆

用户 登陆界面 用户信息类 数据库 注册界面 输入基本信息 请求登录 读取用户信息 -- 存在信息,登陆成功 用户 登陆界面 用户信息类 数据库 注册界面

查询(以按价格查询为例)

已经登陆的用户 查询界面 产品信息类 数据库 查询结果界面 订购界面 输入价格,点击查询 查询 读取 -- 查看详情 已经登陆的用户 查询界面 产品信息类 数据库 查询结果界面 订购界面

订购:

sequenceDiagram
用户 ->> 订购界面: 请求
订购界面 ->>  订单信息类:  查询
activate 订单信息类
订单信息类 ->>  数据库: 读取
activate 数据库
数据库 ->>订单信息类 : --
deactivate 数据库
订单信息类 ->> 订购界面: 展示信息
deactivate  产品信息类
用户 ->> 订购界面: 点击订购
activate 订购界面
订购界面 ->>  订单信息类:  订购方法
activate 订单信息类
订单信息类 ->>  数据库: 写入
activate 数据库
数据库 ->>订单信息类 : --
deactivate 数据库
订单信息类 ->> 订购结果界面: 
deactivate  产品信息类

deactivate 订购界面
订购结果界面 ->> 用户: 成功提示

订单查看:

sequenceDiagram
用户 ->>订单查看界面: 请求
activate 订单查看界面
订单查看界面 ->>  查看我的订单类:  查询
deactivate 订单查看界面
activate 查看我的订单类
查看我的订单类->>  数据库: 读取

activate 数据库
数据库 ->>查看我的订单类 : --
deactivate 数据库


查看我的订单类->> 订单查看界面: 显示
deactivate 订单查看界面

修改用户信息

sequenceDiagram
用户 ->> 订单查看界面: 
订单查看界面 ->> 用户信息修改页: 跳转
用户信息修改页 ->> 用户信息类: 输入基本信息后请求写入用户信息
activate 用户信息类
用户信息类 ->>数据库: 请求写入用户信息
activate 数据库
数据库 ->>用户信息类 : --
deactivate 数据库
用户信息类 ->> 注册成功界面:注册成功
deactivate 写入用户信息类
注册成功界面 --x 用户: 你好!

部分代码

1.
参数一:
2.泛型:通用类型;通过参数设置类型 如只使用OBJECT还需强制类型转换 java.util 数组线性表:ArrayList 易定位 LinkedList 易删改 迭代器:iterator 例如:Collection集合的遍历 while (iterator.hasnext())
{} 类型转换: int money=Integer.parseInt(price); 3.javascript 构成: html代码 <%@ %>指令 <%= %>表达式 <%! %>声明 4.使用的JSP内置对象 request respone session request page PageContext out 5.servlet注册与使用 ContactServlet javaee.ch7.ContactServlet ContactServlet /contact public class ProductServlet extends HttpServlet {Connection con; public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if(action.equals("add")) {} public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { doGet(request,response); } //创建一个Connection对象,用于执行数据库操作。 public ProductServlet() { this.con=DataBaseConnection.getConnection(); } } 6.数据库操作 Statement stm=con.createStatement(); ResultSet result=stm.executeQuery("select * from products where categoryId='"+categoryId+"'"); return result; 7.javabean<jsp:useBean id="contact" class="javaee.ch7.zhuce" scope="page" />

开发方式与优化

由于JAVA是一种面向对象语言,更加方便了面向对象思想的实现,将要研究与操作的事物看为对象,类是对象的模板。即类是对一组有相同数据和相同操作的对象的定义,一个类所包含的方法和数据描述一组对象的共同行为和属性。类是在对象之上的抽象,对象则是类的具体化,是类的实例。如数据库链接类的定义,在系统需要链接数据库时,只需要在方法中实例化类,即可完成数据库的链接。类的继承性是子类自动共享父类之间数据和方法的机制,这也极大的简化了程序。

因为系统的复杂性,不能较好的模块化 ,制定每个阶段详细的工作步骤,所以选择了
原型化模型的开发方法。
原型法的实现过程:
第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,经过和用户针对原型的讨论和交流,弄清需求以便真正把握用户需要的软件产品是什么样子的。充分了解后,再在原型基础上开发出用户满意的产品。在实际中原型化经常在需求分析定义的过程进行。
但正是由于只建造了原型,系统需要优化的地方才更多,希望读到这篇文章的您可以在系统的优化与文章的结构等方面留下宝贵的意见。

######################################################################
https://mermaid-js.github.io/mermaid/#/sequenceDiagram
https://www.ddd.online/
https://codepen.io/

页面缩放调整:
https://blog.csdn.net/weixin_44149978/article/details/89887769?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

https://blog.csdn.net/boss_way/article/details/103033895
######################################################################

你可能感兴趣的:(BS架构)