图书管理系统之注册.ppt_第1页
图书管理系统之注册.ppt_第2页
图书管理系统之注册.ppt_第3页
图书管理系统之注册.ppt_第4页
图书管理系统之注册.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图书管理系统 主要内容 图书管理系统的注册模块作者 084班黎印根 20081543 注册的主要功能模块简介 1 用户名验证 在用户名后面输入用户名后要到数据库中查找该用户是否存在 2 密码验证 输入的密码不能为空3 确认密码验证 输入的密码不能为空 且要和密码一致 4 出生日期 从下拉列表中选择 年 月 日5 手机号码验证 不能为空 要符合手机号码的格式 6 电子邮件验证 输入的电子邮件要符合相应的格式 7 注册 点击 注册 按钮 要先判断输入的注册信息是否合法 如果合法 则把对应得信息插入到数据库的user表中 后面会对这些功能模块的具体实现做详细介绍 注册模块所用到的知识点 1 javascript的局部刷新层的技术 以及刷新多个层的方法设计和参数设置 2 数据库技术 数据库的链接 以及数据的查找和插入 3 MVC技术 使用mvc模式进行设计 4 正则表达式 验证数据输入格式 5 日期格式在数据库和java之间格式的转换 6 乱码的处理 7 HTML技术和jsp技术以及servlet技术等 1 用户名验证模块的实现 用户名验证是注册模块中相对比较复杂的 其具体实现过程是 当在注册界面reg jsp中的用户名文本框中输入数据后 用户会触发一个onblur事件 该事件调用一个javaScript中的startRequest n 函数 参数n是传进来的文本框的值 userForm loginname value 该函数调用createXMLHttpRequest 方法创建一个xmlHttp对象 通过该对象调用handleStateChange 方法 并把得到的用户名发送给一个servlet类 loginnameCheck java 转发到该servlet后该类先获取该用户名 然后通过查找数据库并判断后返回对应的内容到注册页面 注册页面通过xmlHttp responseText获取返回的值并更新到对应的层中 从而提醒用户 输入的用户名是否合法 该过程判断的内容和返回的值可以看如下代码 部分代码 LoginNameCheck java if type equals a try GetLoginNamegetLoginname newGetLoginName userBean getLoginname getLoginname loginname catch Exceptione e printStackTrace if loginname if userBean null out println 用户已存在 out println else out println OK out println elseif loginname out println 用户名不能为空 out println GetLoginName java publicUserBeangetLoginname Stringloginname throwsException UserBeanuserBean null DataBasedb newDataBase Connectioncn null PreparedStatementpst null ResultSetrs null try cn db getconn Stringsql select fromuserwhereloginname pst cn prepareStatement sql pst setString 1 loginname rs pst executeQuery if rs next userBean newUserBean userBean setUserid rs getInt userid userBean setLoginname rs getString loginname userBean setUsername rs getString username userBean setBirthday rs getDate birthday userBean setCert rs getString cert userBean setCerttype rs getString certtype userBean setEmail rs getString email userBean setPassword rs getString password userBean setPhone rs getString phone userBean setRole rs getInt role userBean setSex rs getString sex catch Exceptione throwe finally try pst close rs close cn close catch Exceptione e printStackTrace returnuserBean 2 密码验证模块的实现 当在注册界面reg jsp中的密码框中输入数据后 用户会触发一个onblur事件 该事件调用一个javaScript中的startRequest n 函数 参数n是传进来的文本框的值 userForm password value 该函数调用createXMLHttpRequest 方法创建一个xmlHttp对象 通过该对象调用handleStateChange 方法 并把得到的用户名发送给一个servlet类 loginnameCheck java 转发到该servlet后该类先获取该password 然后通过判断后返回对应的内容到注册页面 注册页面通过xmlHttp responseText获取返回的值并更新到对应的层中 从而提醒用户 输入的密码是否合法 该过程判断的内容和返回的值可以看如下代码 代码部分 elseif type equals b if password out println 密码不能为空 out println elseif password out println OK out println 3 确认密码验证具体实现 当在注册界面reg jsp中的密码框中输入数据后 用户会触发一个onblur事件 该事件调用一个javaScript中的startRequest n 函数 参数n是传进来的文本框的值 userForm repass value 该函数调用createXMLHttpRequest 方法创建一个xmlHttp对象 通过该对象调用handleStateChange 方法 并把得到的用户名发送给一个servlet类 loginnameCheck java 转发到该servlet后该类先获取该repass 然后通过判断后返回对应的内容到注册页面 注册页面通过xmlHttp responseText获取返回的值并更新到对应的层中 从而提醒用户 输入的确认密码是否合法 该过程判断的内容和返回的值可以看如下代码 部分代码 if repass if password equals repass out println OK out println else out println 2次输入密码不一致 out println elseif repass out println 密码不能为空 out println 4 出生日期具体实现 当在注册界面reg jsp中的 出生年月 的下拉框中选择自己的出生 年 月 日 这里比较简单 不需要验证 部分代码 5 手机号码验证具体实现 当在注册界面reg jsp中的密码框中输入数据后 用户会触发一个onblur事件 该事件调用一个javaScript中的startRequest n 函数 参数n是传进来的文本框的值 userForm phone value 该函数调用createXMLHttpRequest 方法创建一个xmlHttp对象 通过该对象调用handleStateChange 方法 并把得到的用户名发送给一个servlet类 loginnameCheck java 转发到该servlet后该类先获取该phoen 然后通过正则表达式和if语句的判断后返回对应的内容到注册页面 注册页面通过xmlHttp responseText获取返回的值并更新到对应的层中 从而提醒用户 输入的手机号码是否合法 该过程判断的内容和返回的值可以看如下代码 部分代码 if phone Stringcheckphone 0 0 1 13 4 9 15 8 9 15 0 1 18 7 8 0 9 8 Patternregex Ppile checkphone Matchermatcher regex matcher phone if matcher matches out println OK out println else out println 非法手机号码 out println elseif phone out println 手机号码没有输入 out println 6 电子邮件验证具体实现 当在注册界面reg jsp中的密码框中输入数据后 用户会触发一个onblur事件 该事件调用一个javaScript中的startRequest n 函数 参数n是传进来的文本框的值 userForm email value 该函数调用createXMLHttpRequest 方法创建一个xmlHttp对象 通过该对象调用handleStateChange 方法 并把得到的用户名发送给一个servlet类 loginnameCheck java 转发到该servlet后该类先获取该email 然后通过正则表达式和if语句的判断后返回对应的内容到注册页面 注册页面通过xmlHttp responseText获取返回的值并更新到对应的层中 从而提醒用户 输入的电子邮件是否合法 该过程判断的内容和返回的值可以看如下代码 部分代码 if email Stringcheckemail a z0 9a z a z0 9a z a z0 9a z a z0 9a z a za z 2 Patternregex Ppile checkemail Matchermatcher regex matcher email if matcher matches out println OK out println else out println 输入的email不正确 out println elseif email out println 邮件不能为空 out println 7 注册具体实现 该模块是注册中最关键的一步 其具体实现为 点击注册界面reg jsp的Form表单中的 注册 按钮 把数据发送给一个servlet类 AddUser java 该类接受相应的数据后并判断其都合法后调用操作数据库的类AddUserModel java类的add userBean 方法 向数据库中增加相应的记录 其过程存在许多细节问题 比如 获取日期后插入到数据库前先需要进行格式转换 还有插入中文时候可能会出现乱码问题 还会出现许多异常 注册成功的条件设置问题等等 下面我们对这些问题一一解答 日期的获取和格式转换 部分代码 Stringyear request getParameter year Stringmonth request getParameter month Stringday request getParameter day birthday1 year month day java sql Datebirthday null try SimpleDateFormatsdf newSimpleDateFormat yyyy MM dd java util Datedate sdf parse birthday1 birthday newjava sql Date date getTime catch Exceptione e printStackTrace 中文乱码问题 request setCharacterEncoding UTF 8 response setContentType text html charset UTF 8 异常处理 例如 空指针异常 我们先要判断它是否为空 如果为空 则为了不引起异常 给他附一个非空的值 部分代码 StringloginnameDiv request getParameter loginnameDiv if loginnameDiv loginnameDiv NO StringpasswordDiv request getParameter passwordDiv if passwordDiv passwordDiv NO StringrepassDiv request getParameter repassDiv if repassDiv repassDiv NO StringemailDiv request getParameter emailDiv if emailDiv emailDiv NO StringphoneDiv request getParameter phoneDiv if phoneDiv phoneDiv NO 注册成功的条件设置 当要向数据库中插入注册信息之前 要先判断用户输入的所有数据是否都合理 如果都符合要求就注册成功 否则就转到失败界面 要判断用户输入的数据是否合理 关键是要获取验证信息是否都通过 也就是说必须获得DIV中的信息 当DIV中的信息都为 OK 时就说明数据合法 在另一个界面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论