文档章节

基于WEB的作业管理与批阅系统的毕业论文总结一:登录模块的设计

young_chen
 young_chen
发布于 2017/05/24 22:04
字数 832
阅读 70
收藏 1

以下主要总结在实现系统过程中遇到的问题和解决方法。

1.系统的设计主要是数据库的设计。在写代码的过程中,数据库更改了很多次,在设计某个功能的时候发现数据库不对,然后又改数据库,有的代码又要改,所以造成了实践 浪费了不少。在老师的最后一次修改意见中我才彻底明白。在整个的实现中用了十二个表。首先是用户表,也就是用户登录信息匹配的时候要用到的表,只有三个字段:学工号/密码/用户类型。在登录的时候根据输入的用户名和密码在用户表中查询用户类型,如果查询成功,说明用户名和密码匹配,再再servlet中判断输入的用户类型和数据库中取出的用户类型是否匹配,如果相等,则说明用户信息正确,登录成功。再根据用户类型到相应的类型表中,比如说学生表,根据用户名查询用户的姓名,放到Session中。再跳转到其它请求。

    在管理员添加用户信息的时候除了添加到用户信息表中,还要在servlet中设置用户类型,和用户密码和用户名放到用户表,即登录表中。这样既成功添加了用户,又让用户可以登录。

<form class="form-horizontal" id="from" action="" method="post">
				<h2>用户登录</h2>
				<table>
					<tr>
						<td>学工号:</td>
						<td><input class="input-block-level" style="width:160px" type="text" name="userNumber"/></td>
					</tr>
					<tr>
						<td>密    码:</td>
						<td><input class="input-block-level" style="width:160px" type="password" name="password"/></td>
					</tr>
					<tr>
						<td>类    型:</td>
						<td style="width:160px">
							<input type="radio" name="role" value="admin"/>管理员&nbsp;&nbsp;
							<input type="radio" name="role" value="teacher"/>教师&nbsp;&nbsp;
							<input type="radio" name="role" value="student"/>学生&nbsp;&nbsp;
						</td>
					</tr>
					
					<tr>
						<td>验证码:</td>
						<td>
						<input class="input-block-level" type="text" id="input1" style="width:100px" />
						<input type="button" id="checkCode" class="code" style="width:60px" onClick="createCode()" />
						 <a href="#" onClick="createCode()">点击刷新</a>
						</td>
					</tr>
					
					<tr>
						<td colspan="2" align="center">
							<input class="btn btn-small btn-primary" type="submit" value="登录" onclick="validate();" />&nbsp;&nbsp;&nbsp;&nbsp;
							<input class="btn btn-small btn-primary" type="reset" value="重置"/>
						</td>
					</tr>
				</table>
			</form>

java Servlet代码:

private void login(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{

		//获取页面表单中的数据
		String userNumber = request.getParameter("userNumber");
		String password = request.getParameter("password");
		String role = request.getParameter("role");
		
		//把数据传到service中,并把数据库的数据放在实体中
		User user = ius.login(userNumber, password);
		//System.out.println(user.getRole());
		//System.out.println(user.toString());
		
		//如果user不为空,则说明用户名和密码正确,跳转到角色验证
		//否则用户名和密码不匹配,则提示重新输入
		if (user != null) {
			HttpSession session = request.getSession();
			session.setAttribute("user", user);    //把user放在session中
			/*
			 * //验证页面的角色和数据库的角色是否一致,
			 * 如果页面的角色和数据库的角色一致,则登录成功,
			 * 如果不一致则提示用户类型错误,需要跳转到登录页面重新输入
			 */
			if(role.equals(user.getRole())&&role.equals("admin")){    
				request.getRequestDispatcher("findAllAdmin.admin").forward(request,response);
			}else if(role.equals(user.getRole())&&role.equals("teacher")){
				request.getRequestDispatcher("teacherLogin.work").forward(request,response);
			}else if(role.equals(user.getRole())&&role.equals("student")){
				request.getRequestDispatcher("findClassesBySNumber.work").forward(request,response);
			}else {
				response.sendRedirect("login.jsp");
			}
		} else {
			response.sendRedirect("login.jsp");
		}
	}
}

 

© 著作权归作者所有

young_chen
粉丝 0
博文 19
码字总数 8007
作品 0
南京
程序员
私信 提问
基于JSP小区物业管理系统论文.doc

本文demo下载地址:http://www.wisdomdd.cn/Wisdom/resource/articleDetail.htm?resourceId=1130 汽车租赁系统(SSH+MYSQL+JSP+HTML5)(毕业论文10000字以上,程序代码,MySql数据库,数据库脚本)...

智慧点点
2018/08/26
0
0
基于 Django 的手机管理系统

前段时间和小组一起完成数据库作业,觉得收获挺多的,分享到博客来。 一、概述 打算通过设计数据库,然后结合 Python 框架Django,实现在网页上对数据库的增删改查(本例以手机的管理为例,不...

希希里之海
2018/07/01
0
0
基于 SOA 的工作流(WF)整合

作者:肖 建国, IT 咨询顾问, 浪潮软件 简介: 当前基于 BPLE 的业务流程管理(BPM)以及基于 XPDL 的工作流(WF)都有成熟的理论和相应的产品支持,特别是在国内,工作流(WF)的应用十分广...

红薯
2010/05/21
1K
1
汽车租赁系统((SSH+MYSQL+JSP))

本文demo 下载视频观看地址:http://www.wisdomdd.cn/Wisdom/resource/articleDetail.htm?resourceId=1125 汽车租赁系统((SSH+MYSQL+JSP)) 汽车租赁系统(SSH+MYSQL+JSP+HTML5)(毕业论文10000......

智慧点点
2018/08/26
0
0
Elastic-Job - 分布式定时任务框架

Elastic-Job是ddframe中dd-job的作业模块中分离出来的分布式弹性作业框架。去掉了和dd-job中的监控和ddframe接入规范部分。该项目基于成熟的开源产品Quartz和Zookeeper及其客户端Curator进行...

亮_dangdang
2015/09/14
43.6K
9

没有更多内容

加载失败,请刷新页面

加载更多

定制专属二维码思路——实现【微信,QQ】扫码登录

效果演示 1.先在natapp实现外网映射(https://natapp.cn) 2.natapp.exe 3.生成token链接(先开启redis) //生成二维码token链接(生成二维码)http://p5gc9b.natappfree.cc/generateCode //...

须臾之余
25分钟前
5
0
android studio 使用CMAKE

原文地址 前言 之前,每次需要边写C++代码的时候,我的内心都是拒绝的。 1. 它没有代码提示!!!这意味着我们必须自己手动敲出所有的代码,对于一个新手来说,要一个字母都不错且大小写也要...

shzwork
28分钟前
0
0
volatile/CAS/atomicInteger/BlockQueue/线程交互/原子引用

import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger......

一只小青蛙
29分钟前
0
0
apache隐藏版本信息及设置网页缓存

实战:源码编译安装apache及调优技巧 实战环境: 生产环境中,部署了apache之后,我们应该从安全还是性能角度,在apache服务上线之前,对其做诸多的优化调试才行。 技巧1: 安装apache屏蔽a...

寰宇01
32分钟前
0
0
C 语言 二级指针操作文件 柔性数组使用

#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct _info* pInfo;struct _info{int line;int len;char data[0];}info;int getFil......

小张525
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部