合肥师范学院2015届本科生毕业论文(设计)
图3-1 航班信息实体
图3-2 用户信息实体
图3-3 机票信息实体
图3-4 订单信息实体
7
合肥师范学院2015届本科生毕业论文(设计)
图3-5 ER图
3.1.3数据库的逻辑结构设计
数据库逻辑结构设计是描述数据库的组织结构、生成数据库模式。数据库模式定义以下内容:存储什么信息、数据的组织、需要的表、列的定义[9]。
本课题使用的是MySQL数据库,根据上述建立的E-R图,经设计得到如下的数据表: (1) flightinfo(航班信息表)
航班信息表用来保存航班的信息,如图3-5所示。 (2) userinfo(用户信息表)
用户信息表用于记录用户的信息情况,如图3-6所示。 (3) ticketinfo(机票信息表)
机票信息表用来保存机票的信息,如图3-7所示。 (4) user_ticketinfo(订单信息表)
订单信息表用于记录每个用户订购机票的信息,如图3-8所示。
图3-6 flightinfo(航班信息表)
8
合肥师范学院2015届本科生毕业论文(设计)
图3-7 userinfo(用户信息表)
图3-8 ticketinfo(机票信息表)
图3-9 user_ticketinfo(订单信息表)
9
合肥师范学院2015届本科生毕业论文(设计)
3.2 功能模块概要设计
3.2.1模块设计
[用户登录模块] 实现了对用户使用系统的检验工作。用户又分为不同的权限,管理员登陆,用户登录和不进行登录直接进入。对不同用户进入系统所赋予的权限也不同,增加了系统的安全性。
[用户管理模块]管理员登陆的权限,对系统登录用户的查看和删除操作。
[航班管理模块]包含对航班信息的查询,所有用户都拥有的权限。对航班信息的添加、修改和删除这是系统管理员的操作权限。
[机票管理模块]包含对机票信息的查询,所有用户都拥有的权限。对机票信息的添加、修改和删除这是系统管理员的操作权限。对机票的预定这是登录用户的权限。
[我的订单模块]包含对用户订单信息的查询,并且包含对机票的退订以及改签权限,改签后会提示改签前后机票价格信息。
[修改密码模块]对于已登录用户可进行密码修改。
[登录和注册模块]这是对进入系统没有登录的用户的权限。用户点击登录按钮跳转到登陆界面。点击注册进行注册,用户注册包含对用户信息的验证。
3.2.2系统流程图
图3-10 系统走向图
10
合肥师范学院2015届本科生毕业论文(设计)
4. 详细设计
本系统使用的是JAVA的SERVLET和JSP技术,所以系统的设计又分为前端JSP页面设计和后端业务逻辑处理。下面的模块设计主要从前端JSP页面和后端中的SERVLET控制层两部部分进行讲解。
4.1登录模块
登录模块进行登录用户的用户名和密码进行验证,点击“快速注册”还能跳转到注册界面进行用户注册。
登录用户登录后,传递用户填写的用户名和密码进入到UserServlet中的loginStu方法进行用户身份验证,如果用户名和密码输入错误则跳转到登录页面。用户登录正确则跳转到系统主界面。实现代码如下: /**
* 用户登录 */ public void loginStu(HttpServletRequest request,HttpServletResponse response throws SQLException, ServletException, IOException { String username = request.getParameter(\ String password = request.getParameter(\ String sql = \ Object parames[] = new Object[]{username,password}; System.out.println(username+\ //一般用户登录(不需要用户名、密码) if((username==null||username==\ response.sendRedirect(\ }else{ //管理员或用户登录 List
if(username.equals(map.get(\ { System.out.println(\登录成功~~~\ //判断是管理员还是用户登录 if(map.get(\ System.out.println(\管理员登录成功!!!~~~\ HttpSession session = request.getSession(); session.setAttribute(\ request.getRequestDispatcher(\
11