大连交通大学2014届本科生毕业设计(论文)
4.1 数据库实现
本系统使用MySQL数据库,添加了mysql-connector-java-5.0.6-bin.jar这个数据库连接的jar包。数据库访问时,前端与后台连接的桥梁是web项目中最重要的步骤之一。对于数据库访问的主要步骤:
(1) 加载数据库驱动
Class.forName(\(2) 连接数据库
String username=\数据库用户名) String pwd=\数据库密码)
String url=\(jdbc:数据库://本机/数据库端口号/数据库名称)
Connection conn=DriverManager.getConnection(url,username,pwd); (3) 获取数据库连接对象
PreparedStatement pst=conn.prepareStatement(“SQL语句”); (4) 执行并获取数据库结果集 (5) 关闭 conn.close(); pst.close();
4.2 登录验证模块的实现
用户登录是本系统的主入口,用户只有通过该入口才能进入系统。用户登录系统输入8位用户名和密码。如果用户登录信息输入有误,在页面上会出现相应提示,例如用户名长度不够或者用户名密码不匹配等。对文本框的验证是在光标离开文本框时开始的,用户登录是否成功是点击登录按钮提交表单之后进行验证的。
登录页面,如图4.2所示。后台实现过程为:在LoginAction这Servlet中获得登录页面用户在文本框中输入的值,然后将id和pwd作为参数,利用UserDao类下面的isLogin方法进行匹配验证。登录成功后记录用户session,系统根据用户session的role属性生成系统菜单。普通用户的role属性为2,专家用户的role属性为1,管理员的role属性为0。
注册页面如图4.3所示。除了对账号输入的验证外,对其他输入框也进行了是否为空的验证,并给用户提示。后台实现过程为:在JSP页面的js代码部分,进行对用户所输入信息的验证,通过验证后,由提交按钮将表单的信息提交给RegisteAction中,该Servlet将表单信息封装到User对象中,利用UserDao类下的insert方法,将User
18
大连交通大学2014届本科生毕业设计(论文)
对象中的数据插入到数据库,完成用户的注册功能。
图4.2 用户登录页面
图4.3 用户注册页面
19
大连交通大学2014届本科生毕业设计(论文)
4.3 用户信息管理模块的实现
以管理员登录为例,展示该模块的各项功能。用户登录后,左边显示菜单栏,用户信息标题下面有三项:用户信息管理、个人信息修改、修改密码。
修改个人信息页面如图4.4所示。后台实现的过程为:菜单栏个人信息管理是一个链接,链接到UserAction中的case31,跳转到修改页面。之后用户填写好修改信息后,由修改按钮将表单信息提交到case32,该case获取JSP页面中的表单数据,利用UserDao中的Update方法修改信息。
普通用户可在个人信息管理中申请成为专业用户,界面如图4.5所示。后台实现的过程为:个人信息管理中的申请用户按钮,可以触发点击事件,该事件将处理信息的请求给了UserAction中的case71,该case获取申请用户的id,即session中存储的uID数据,然后调用UserDao中的apply方法,将该用户信息对应的ustatus属性值修改为in,表示该用户正在申请成为专业用户。
图4.4 修改个人信息页面
20
大连交通大学2014届本科生毕业设计(论文)
图4.5 普通用户个人信息管理提交申请页面
作为管理员,可以对普通用户提交的申请进行处理,同意该用户为专业用户,或者拒绝该用户为专业用户,具体页面实现如图4.6所示。 后台实现的过程为:在某用户信息栏的同意按钮都会触发点击事件,将本行用户的ID绑定到请求上,传给UserAction中的case73,之后调用UserDao中的approve方法,将用户信息的ustatus属性值修改为yes,即管理员同意用户申请操作。若是拒绝,则传给case74,之后调用UserDao中的refuse方法,将用户信息的ustatus属性值修改为no,即管理员拒绝用户申请操作。
图4.6 管理员处理申请页面
作为管理员,可以对用户的信息进行修改、删除,页面如图4.7所示。后台实现的
21
大连交通大学2014届本科生毕业设计(论文)
过程为:用户信息管理是一个链接,链接到UserAction中的case2,查询出所有的用户数据,修改、按钮分别对应一个触发事件,这事件将该行的用户ID绑定到请求上传给对应的case做相应的处理,然后对应修改数据库中的数据。
图4.7 用户信息管理图
用户可以修改个人密码,其流程图如图4.8所示,页面如图4.9所示。对用户所输入密码的长度有验证,两次输入密码一致才可修改,并在文本框右侧做出相应的提示。
开始输入密码 N密码是否超过6位 Y 再次输入密码 N两次密码是否一致 Y修改密码 结束
图4.8 修改个人密码流程图
22