【数据库篇】——9.登录注册系统之注册界面和功能的实现

                                            学习下一节:登录注册系统运行效果和源码下载地址

1.简要说明

  这里和登录界面的区别不大,还是先看看效果吗吧。


2.注册界面代码:sign_up.jsp

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!-- 用于注册用户信息界面,注册完之后跳转到add.jsp -->
<html>
	<head>
		<!-- Page title -->
		<title>用户注册</title>
		<!-- End of Page title -->
		<!-- Libraries -->
		<link type="text/css" href="css/login.css" rel="stylesheet" />	
		<link type="text/css" href="css/smoothness/jquery-ui-1.7.2.custom.html" rel="stylesheet" />	
		<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
		<script type="text/javascript" src="js/easyTooltip.js"></script>
		<script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"></script>
		<!-- End of Libraries -->	
	</head>
	<body>
	<div id="container">
		<div class="logo">
			<a href="#"><img src="assets/logo.png" alt="" /></a>
		</div>
		<div id="box">
			<form action="add.jsp" method="post">
			<p class="main">
				<label>用户名: </label>
				<input name="username" value="" /> 
				<label>密码: </label>
				<input type="password" name="password" value="">	
			</p>
			<p class="space">
				<input type="submit" value="确定" class="login" name="sign_in" style="cursor: pointer;"/>
			</p>
			</form>
		</div>
	</div>
	</body>
</html>

3.功能实现:add.jsp

<%@page import="com.dao.UsersDao"%>
<%@page import="com.model.User"%>
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%@ page import="java.sql.*"%>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!-- 获取表单注册信息的内容,往数据库中添加一条数据 -->
<%  
    request.setCharacterEncoding("utf-8");  
    String name = request.getParameter("username");  
    String password = request.getParameter("password");
    
    //将用户名和密码加入到user对象中
    User u=new User();  
    u.setName(name);
    u.setPassword(password);
    
    //将user对象添加到数据库中
    UsersDao dao=new UsersDao();
    try {
     dao.add(u);
     } catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    log("用户注册成功!");
    pageContext.forward("welcome.jsp");
    
%>  

好啦,我们的登录注册系统就大功告成啦,真是写死我啦。嗯,在这里我还有很多不足之处,如果你有什么问题或者发现什么问题,请留言告诉我,我一定会看到的~还是初学者,接触到并用到MVC的思路开发程序真的大块人心!

最后我们来看一下整个程序运行一遍的流程吧~

                                            学习下一节:登录注册系统运行效果和源码下载地址

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库课程设计——健康档案管理系统 数据库 课程设计报告 课 题: 健康档案管理系统 目 录 课程设计的目的和意义…………………………………2 课程设计的目的 …………………………………………2 课程设计的意义 …………………………………………2 需求分析…………………………………………………3 2.1、数据流图……………………………………………………4 2.2、数据字典……………………………………………………7 三、概要结构设计……………………………………………10 四、逻辑结构设计……………………………………………13 五、物理结构设计……………………………………………13 总结 …………………………………………………………15 数据库课程设计——健康档案管理系统全文共35页,当前为第1页。参考文献 ……………………………………………………16 一、课程设计的目的和意义 数据库课程设计——健康档案管理系统全文共35页,当前为第1页。 1.1、课程设计的目的 数据库课程设计是数据库原理及应用实践环节极为重要的一部分,其目的主要是为了加强学生对数据库基本概念、原理和技术的掌握,结合实际的操作和设计,巩固课堂教学内容,将理论与实际相结合,强化学生的实践意识,从而提高学生的实际动手能力和创新能力。通过课程设计,可以培养学生分析问题、解决问题以及自学能力,提高和加强学生的计算机应用与软件开发能力,使学生熟练掌握数据库设计工具的使用,提高从事数据库系统建设和管理工作的基本技能和能力。 课程设计的意义 课程设计是学完基础知识后必须进行的一个实践环节。进行课程设计: 有利于基础知识的理解,学生可以掌握一些信息时代生存与发展必需的信息技术基础知识和基本技能,具备了在日常生活与学习应用信息技术解决问题的基本态度与基本能力; 有利于逻辑思维的锻炼 ,在许多常规学科的日常教学,我们不难发现这样一个现象,不少学生的思维常常处于混乱的状态。写起文来前言不搭后语,解题步骤混乱,这些都是缺乏思维训练的结果。程序设计是公认的、最能直接有效地训练学生的创新思维,培养分析问题、解决问题能力的学科之一。即使一个简单的程序,从任务分析、确定算法、界面布局、编写代码到调试运行,整个过程学生都需要有条理地构思,这间有猜测设想、判断推理的抽象思维训练,也有分析问题、解决问题、预测目标等能力的培养; 有利于与其他学科的整合 ,在程序设计,我们可以解决其它学科有关问题,也利用其它课程的有关知识来解决信息技术比较抽象很难理解的知识。在信息技术课整合其它学科的知识,发挥信息技术的优势; 数据库课程设计——健康档案管理系统全文共35页,当前为第2页。有利于治学态度的培养, 程序设计,语句的语法和常量变量的定义都有严格的要求,有时输了一个文标点、打错了一个字母,编译就不能通过,程序无法正常运行。程序设计初学阶段,学生经常会犯这样的错误,可能要通过几次乃至十多次的反复修改、调试,才能成功,但这种现象会随着学习的深入而慢慢改观。这当就能培养严谨治学、不怕失败、百折不挠的科学精神和态度。 数据库课程设计——健康档案管理系统全文共35页,当前为第2页。 二、 需求分析 任务:设计一个健康档案管理系统 1、功能要求: 该系统的健康文件包括病历文件和体检文件。 登记 将学生的健康信息插入健康文件; 修改 修改一个学生的健康档案记录; 删除 删除学生的健康档案记录; 查询 可以组合各种条件进行查询,显示学生健康信息并打印健康文件报; 统计 对学生的基本健康状况进行各种必要的统计和分析,由一般统计和动态分析两种。一般统计包括计数和求平均值;动态分析由健康历史求出平均年增长值和年增长率。 2、数据要求: 体检文件:学号、姓名、性别、系别、年龄、身高、体重、胸围、日期 病历文件:学号、姓名、性别、系别、 诊断、日期 数据库课程设计——健康档案管理系统全文共35页,当前为第3页。在这次的课程设计用户要求我们对该系统的健康文件实现学生信息登记、修改、删除、查询、统计等操作,其健康文件还包含病历文件和体检文件。在病历文件的数据要求有学号、姓名、性别、系别、 诊断、日期,而体检文件的数据要求有学号、姓名、性别、系别、年龄、身高、体重、胸围、日期。而为了使这个健康档案管理系统的设计能够更加接近现实生活,并充分考虑到今后可能的扩充和改变,我们在里面加了一些相应的东西,比如我们将病历文件和体检文件都看成是很多学生的分类,每个学生都有一份相应的病历文件和体检文件,文件是他们不同时期的病历和体检,而病历的属性不止包括学号、姓名、性别、系别、 诊断、日期,还有医疗记录和是否住院等,体检又包含体检项目,而身高、体重、胸围等均包含在项目名称数据库课程设计——健康档案管理系统
以下是一个基于 Struts2 和 Hibernate 的登录和注册的完整实例。 首先,需要创建一个名为 `User` 的 JavaBean 类,用于用户信息: ```java public class User { private int id; private String username; private String password; // getters and setters } ``` 接下来,需要配置 Hibernate 的 `SessionFactory`,以便在操作数据库时使用。可以在 `hibernate.cfg.xml` 文件进行配置: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="connection.url">jdbc:mysql://localhost:3306/test?useSSL=false</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="show_sql">true</property> <mapping class="com.example.User"/> </session-factory> </hibernate-configuration> ``` 接着,需要创建一个名为 `UserDao` 的类,用于操作数据库。在该类,需要使用 Hibernate 的 API 进行增删改查操作: ```java public class UserDao { private SessionFactory sessionFactory; public UserDao() { Configuration configuration = new Configuration().configure(); sessionFactory = configuration.buildSessionFactory(); } public void addUser(User user) { Session session = sessionFactory.openSession(); Transaction tx = null; try { tx = session.beginTransaction(); session.save(user); tx.commit(); } catch (HibernateException e) { if (tx != null) { tx.rollback(); } e.printStackTrace(); } finally { session.close(); } } public User getUserByUsername(String username) { Session session = sessionFactory.openSession(); Transaction tx = null; User user = null; try { tx = session.beginTransaction(); Query query = session.createQuery("from User where username = :username"); query.setString("username", username); user = (User) query.uniqueResult(); tx.commit(); } catch (HibernateException e) { if (tx != null) { tx.rollback(); } e.printStackTrace(); } finally { session.close(); } return user; } } ``` 然后,需要创建一个名为 `UserAction` 的类,用于处理用户登录和注册的请求。在该类,需要使用 Struts2 的 API 进行请求处理: ```java public class UserAction extends ActionSupport { private User user; private String confirmPassword; private UserDao userDao = new UserDao(); public String login() { User savedUser = userDao.getUserByUsername(user.getUsername()); if (savedUser == null || !savedUser.getPassword().equals(user.getPassword())) { addActionError("Invalid username or password!"); return INPUT; } return SUCCESS; } public String register() { if (!user.getPassword().equals(confirmPassword)) { addActionError("Passwords don't match!"); return INPUT; } User savedUser = userDao.getUserByUsername(user.getUsername()); if (savedUser != null) { addActionError("Username already exists!"); return INPUT; } userDao.addUser(user); return SUCCESS; } // getters and setters } ``` 最后,需要在 `struts.xml` 文件进行配置,以便 Struts2 能够正确地处理请求: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.devMode" value="true"/> <package name="default" extends="struts-default"> <action name="login" class="com.example.UserAction" method="login"> <result name="success">/success.jsp</result> <result name="input">/login.jsp</result> </action> <action name="register" class="com.example.UserAction" method="register"> <result name="success">/success.jsp</result> <result name="input">/register.jsp</result> </action> </package> </struts> ``` 其,`success.jsp` 是登录或注册成功后显示的页面,`login.jsp` 和 `register.jsp` 分别是登录和注册的页面。 这样,基于 Struts2 和 Hibernate 的登录和注册功能的完整实例就完成了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值