您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > JAVA-WEB课程设计--注册登录系统---用SSH框架整合实现注册登录系统
1用SSH框架整合实现注册登录系统注册登录系统几乎是每一个web程序必须拥有的功能,因此,在本次课程设计中将其单独提取出来,并使用SSH框架的整合来实现这个系统。虽然注册和登录系统并不复杂,但这两个子系统却拥有一个完整系统的必要功能,如验证客户端输入、数据库访问等。因此,通过本次课程设计的练习,大家可以基本上了解使用SSH框架整合开发一个完整系统的一般步骤。本次课程设计的主要内容有:系统概述设计数据库SSH三大框架的整合MD5加密的实现(选做)注册系统的实现登录系统的实现21、系统概述本次课程设计练习了一个简单的Web系统,该系统实现了用户注册、用户登录两个功能。本系统的实现是基于SSH框架整合技术的。本系统功能单一,业务逻辑简单。主要用于大家练习如何使用SSH框架整合技术开发一个完整的Web系统。1.1系统功能简介本系统分为两个功能:注册和登录,当用户注册一个新用户时(可以使用英文和中文用户名),就是向数据库的user表中添加一条记录。当用户输入注册信息时,本系统提供了基本的客户端验证,来判断用户输入的合法性,只有当用户的输入满足系统的要求时,才会将用户输入的数据提交到服务器端负责处理注册信息的Action。在注册Action成功处理完用户提交的注册信息后,客户端仍然会回到注册页面。如果用户想使用已经注册的用户名来登录,可以通过单击“登录”超链接转到登录页面进行登录。当用户在登录页面正确输入在数据库中已经存在的用户名和密码时,就可以成功登录了。在用户登录页面也拥有和用户注册页面类似的客户端验证机制。也就是说,只有当用户名和密码都输入时,系统才会向服务器端负责登录的Action提交信息。通过验证用户名和密码都正确,系统才允许登录。1.2系统总体结构本系统的注册系统和登录系统是相互独立的,但可以通过使用注册和登录系统的相应超链接导航到另一个系统中。每一个系统分别由一个处理业务逻辑的Action、DAO层代码和若干个JSP页面组成。其中注册系统的Action是RegisterAction类,另外还有一个用于显示用户注册页面的register.jsp文件和一个负责显示处理结果的result.jsp文件。登录系统的Action是LoginAction类,另外还有一个login.jsp文件和一个表示用户已经成功登录的success.jsp文件。用户注册登录系统的工作流程图如下图所示:3图1:注册登录系统工作流程图从图1可以看出,当RegisterAction处理完用户提交的注册信息后,会向result.jsp提交一个结果信息,在result.jsp中会显示注册成功提示信息,然后如果注册不成功,都会返回到register.jsp页面,以便用户重新输入注册信息。42、设计数据库在注册登录系统中只涉及一个user表,这个表对于注册系统来说,每处理一个正确的注册信息后,就会向这个表添加一条记录。对于登录系统来说,每当用户输入正确的登录信息和验证码后,系统就会在user表中查找相关的记录,以确定当前登录用户和密码是否合法。下面将给出这个表的表结构。如表1所示:表1:user表的结构字段名类型含义namevarchar(20)用户名passwordvarchar(16)密码(md5加密字符串)idint(11)自动生成53、实现系统的基础类在这一部分内容中将实现在注册登录系统中使用的一些重要的类,如用于操作数据库的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.java64、实现注册系统在这个系统中,有一个处理用户提交的注册信息的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中使用form向Register类提交注册信息。register.jsp页面的代码见register.jsp。3.实现结果JSP页面在Register类处理完注册信息后,如果注册成功,就会转向到result.jsp页面。这个页面显示了注册成功的结果,并且可以直接通过超链,转向到登录页面login.jsp。结果页面代码详见result.jsp75、实现登录系统在这个系统中有一个处理用户提交的登录信息的LoginAction类。除此之外,还有一个login.jsp页面,该页面负责采集用户登录信息。当LoginAction类处理完登录信息后,如果登录成功,系统就会转到success.jsp页面,否则会返回到登录页面login.jsp,要求用户输入信息,重新登录。1.实现登录处理LoginAction类LoginAction类负责处理用户提交的登录信息。这个类和RegisterAction类的工作流程类似。它的实现代码详见LoginAction.java。在开始处理用户注册信息之前,需要先在LoginAction类中添加userDAO属性,这样通过该属性就可以对数据库进行操作。在代码中使用该属性的hql语句查询从user表中查找登录用户是否存在,如果存在,就将加密后的登录密码和从user表中查找的密码进行比较,如果匹配,就表示登录成功,并转入success.jsp页面。在这里,success.jsp页面只是一个表示登录成功的页面,里面并没有什么实质性的东西,只是显示了登录成功的信息。注意:在开发的时候,不能直接把success.jsp页面放在WebRoot目录中,因为这样,用户就可以通过地址栏直接访问这个页面,而绕过了身份验证。所以,我们把success.jsp页面可以放在WebRoot\WEB-INF\pages下面,其中pages是自己新建的文件夹,WEB-INF中的文件在客户端浏览器是无法直接访问的,一般需要验证才能访问的页面都应该放在WEB-INF目录及其子目录中。2.实现登录系统主页面login.jsp显示了用户登录页面。在login.jsp页面中使用form标签向Login提交登录信息。它的代码详见login.jsp。86、小结本系统演示了如何使用SSH框架整合技术来开发一个基于MySql数据库的Web程序。在该系统中实现了4个关键类:操作数据库的UserDAO接口和实现类、RegisterAction类、LoginAction类。在实现了这四个关键类之后,分别完成了注册系统和登录系统的设计和实现。这两个系统的实现原理类似,只要完成一个,另外一个也就水到渠成了。
本文标题:JAVA-WEB课程设计--注册登录系统---用SSH框架整合实现注册登录系统
链接地址:https://www.777doc.com/doc-1520219 .html