3、 实现系统的基础类
在这一部分内容中将实现在注册登录系统中使用的一些重要的类,如用于操作数据库的UserDAO接口及其实现类。这些类在整个系统中都起着举足轻重的作用。
3.1实现访问数据库的UserDAO类
UserDAO实际上是一个接口,由于注册系统和登录系统都需要访问和操作数据库,因此,将这些功能都封装在UserDAO接口中,然后UserDAOImpl类对该接口进行实现,这样,在LoginAction类和RegisterAction类的类体中添加UserDAO类型的属性,这两个Action就都可以访问和操作数据库了。UserDAO接口及其实现类有以下功能:
通过HibernateTemplate对数据库进行连接和操作 对数据库进行增删查改操作。 执行hql。
UserDAO接口和UserDAOImpl类的实现代码请查看UserDAO.java和UserDAOImpl.java文件。
3.2实现MD5加密(选做)
本系统保存在数据库中的密码是通过MD5算法加密的。在JDK中提供了实现MD5算法的类。通过java.security.MessageDigest类的getInstance方法可以获得支持MD5算法的MessageDigest对象实例。关于MD5加密,详见关于MD5加密.doc文档。
由于被MD5算法加密后的字符串中可能含有非可视的字符,这些字符可能无法保存在数据库中,因此,需要将被加密后的字符串再次使用Base64格式进行编码。实现MD5加密的完整代码见 Encrypter.java
5
4、
实现注册系统
在这个系统中,有一个处理用户提交的注册信息的RegisterAction类,除此之外,还有一个register.jsp,这个页面负责显示注册页面。当Register类处理完注册信息后,如果注册成功,会转向result.jsp页面,如果注册不成功,则直接返回register.jsp,可以重新注册。
1. 实现注册RegisterAction类
RegisterAction类负责处理用户提交的注册信息。如果注册信息正确,就向user表中添加一条记录,否则,会通过消息对话框显示出现消息。
在开始处理用户注册信息之前,需要先在RegisterAction类中添加userDAO属性,这样通过该属性就可以对数据库进行操作。然后向user表中插入记录之前,需要先判断一下用户输入的用户名或者密码是否有效,如果用户名和密码输入都合法,就调用userDAO属性的save方法向user表中根据用户输入的信息插入一条记录。如果无法成功插入记录,说明该用户名在user表中已经存在了。为了更稳妥,我们可以先使用select语句来查询用户名是否存在,然后再向user表中插入记录。
RegisterAction类的完整代码见RegisterAction.java。
2. 实现注册系统的主页面
Register.jsp页面是显示了用户输入注册信息的页面。在register.jsp中使用

