1 总体概述
本设计主要通过HTML、CSS、JavaScript网页开发技术,会话及其会话技术,过滤器技术,Java语言以及连接mysql数据库来实现一个具有登录注册功能,且登录页面使用验证码技术来实现用户验证、未登录用户仅能访问主页的餐厅点餐系统。
主要的思路是与mysql数据库建表连接来管理用户名密码信息,判断登录时用户名密码是否正确,注册时向数据库中的表新增信息;通过会话及其会话技术来管理用户登录的状态、验证码用户验证、顾客的点餐订单加入购物车;通过过滤器技术来管理未登录的用户的访问权限。
相关理论介绍
会话及其会话技术:在Web开发中,服务器跟踪用户信息的技术称为会话技术。包含cookie和session对象。在本系统设计中,主要运用的是session对象。Session对象是一种将会话数据保存到服务器端的技术。Cookie技术可以将用户的信息保存在各自的浏览器中,并且可以在多次请求下实现数据的共享。但是如果传递的信息比较多,使用Cookie技术显然会增大服务器端程序处理的难道,这时可以使用Session技术。
过滤器技术(Filter):过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理。在doFilter()中判断用户是否登录系统,只有合法登录后才能访问系统。首先分析session中是否有用户的信息,有则放行,没有,判断是否是登录请求或者是登录提交请求,是则放行,不是则跳转回主页。
2 系统需求分析
由设计要求及对餐厅点餐系统的需求分析可知,网站首先拥有一个首页,该首页所有用户均可访问,首页拥有登录、注册、点餐、购物车等多个子页,但游客用户仅能访问登录、注册及主页,无法访问点餐页面。想要点餐时需要先登录,没有用户名密码的用户可以进行注册。进入点餐页面后,下单之后点击我的订单可查看购物车内的已点的菜单。
大概设计如下:
餐厅点餐系统功能主要包括浏览餐厅介绍信息功能、登录和注册功能、顾客点餐功能和加入购物车功能。
下面是各页面层次结构和功能的大致介绍:
主页的层次结构
登录页面的层次结构
注册页面的层次结构
点餐页面的层次结构
购物车页面的层次结构