Jsp+Servlet+JDBC实现登录注册(二)

1.  开发数据库访问类

由于本次实验中只涉及到了一张数据库表,所以代码编写起来相对简单。整体DAO 的组织采用了常见的三层结构,在编写过程中参考了 Clinton Begin的经典例子 JPetStore 中有关数据库访问类编写的代码

2.  开发Jsp 页面

本实验的最终目标是要实现一个注册登录系统,所以jsp 页面大致上分为 5 个,分别为

Register.jsp:用户注册页面,显示用户注册表单

Login.jsp:登录页面,显示登录信息输入框

Login_success.jsp:登录成功页面,显示登录成功信息

Register_success.jsp注册成功页面,显示注册成功信息和登录链接

Error.jsp:系统错误页面,返回系统的异常信息,主要供开发人员使用

其中jsp 页面采用 JSTL EL 相结合的方式编写,使得代码更加清晰,易于维护。同时,在页面中适当加入了 JavaScript 脚本和 css 样式,使得界面更加美观。

3.  开发控制器类

根据对系统总体功能的分析,控制器类分为以下三个:

RegisterServlet:负责处理 register.jsp 提交的用户注册请求,对用户注册流程实现总体的控制。当请求到来时,首先对用户注册信息进行验证,如果验证通过则调用 AccountService 类中的方法将注册信息保存到数据库中,添加记录成功后将跳转到 register_success.jsp 提示用户注册成功,并显示登录链接;如果验证没有通过则按照实验要求把错误信息放到 session 共享范围中,供 jsp 页面显示;若在执行程序过程中出现异常,则控制器将跳转到 error.jsp 页面并显示出异常相关信息,供开发人员修改其中的问题。

LoginServlet:负责处理 login.jsp 提交的登录申请。首先对用户输入的登录信息进行合法性验证(如信息是否为空或字符串长度是否符合规定等),如果没有通过验证则将跳转回登录页面并显示错误信息;如果验证通过则调用 dao 提供的相关方法在数据库中查找符合要求的用户信息,若成功找到符合要求的用户则转到 login_success.jsp 并显示登录成功等相关信息,同时将此次登录的用户名存放到客户端的 cookie 文件中供用户下次登录使用,若没有查询到符合条件的用户则将跳转回登录界面 login.jsp 并提示用户重新输入登录信息。若在执行程序过程中出现异常,则控制器将跳转到 error.jsp 页面并显示出异常相关信息,供开发人员修改其中的问题。

GenerateCodeServlet:由于 登录页面需要完成验证码功能 ,所以将整个的验证码生成代码封装在了单独的Servlet 中,也可以编写一个工具类将验证码生成代码放到工具类中,以便将来的复用,同时能够对业务层和控制层进行有效的分离,使程序更加清晰。

你可能感兴趣的:(DAO,数据结构,jsp,servlet,jdbc)