基于JavaWeb的在线学习网站

资源下载地址:https://download.csdn.net/download/sheziqiong/85811209
资源下载地址:https://download.csdn.net/download/sheziqiong/85811209
目 录
摘 要 I
ABSTRACT II
第一章 绪论 1
1.1课题背景 1
1.2目的和意义 1
1.3开发工具及技术 1
1.3.1开发工具 1
1.3.2 JSP 2
1.3.3 JavaScript 3
1.4软硬件需求 4
第二章 需求分析 6
2.1需求调研 6
2.2可行性分析 6
2.2.1技术的可行性 6
2.2.2经济的可行性 6
2.2.3操作可行性 6
2.2.4法律的可行性 6
2.3系统用户用例图 7
2.3.1管理员用例图 7
2.3.2教师用例图 7
2.4功能模块需求分析 8
2.5设计的基本思想 9
2.6性能需求 9
2.6.1系统的安全性 9
2.6.2数据的完整性 10
2.7界面需求 10
第三章 系统分析与设计 11
3.1数据库的分析与设计 11
3.1.1数据库的概念结构设计 11
3.1.2数据库的逻辑结构设计 15
3.1.3数据库的连接原理 18
3.2中文乱码问题处理 19
第四章 系统功能实现 21
4.1系统登陆页面实现 21
4.2管理员功能模块 23
4.2.1学生信息管理 23
4.2.2教师信息管理 25
4.2.3测试题目管理 27
4.2.4竞赛获奖管理 29
4.2.5公告信息管理 31
4.2.6留言信息管理 33
4.2.7修改密码 35
4.2.8退出系统 35
4.3教师功能模块 35
4.3.1课件信息管理 35
4.3.2教学视频管理 37
4.3.3试题信息管理 38
4.4前台网站模块 40
4.4.1网站首面 40
4.4.2用户注册 41
4.4.3获奖信息查看 41
4.4.4教学课件查看 42
4.4.5教学视频查看 43
4.4.6考试试题查看 43
4.4.7学生在线自测 44
4.4.8系统留言板功能 45
第五章 系统测试 47
5.1系统测试目的与意义 47
5.2测试过程 47
5.2.1主页面的登录模块测试 47
5.3其他错误 48
结 论 49
参考文献 50
致 谢 51
2.4功能模块需求分析
本系统最大的特点是使用操作简单、友好的提示信息。本系统将实现以下基本功能:
(1) 系统具有简洁大方的页面,使用简便,友好的错误操作提示
(2) 管理员用户具有系统信息管理、班级信息管理、教师信息管理、学生信息管理、公告管理、留言管理、资料管理等功能。
(3) 具有较强的安全性,避免用户的恶意操作
管理员功能模块图说明:
(1) 教师信息管理模块:在该模块中定义了教师信息的管理,其功能包括教师信息的录入、查询、删除等操作。
(2) 学生信息管理模块:在该模块中定义了学生信息的管理,其功能包括学生信息的录入、查询、删除等操作。
(3) 测试题目信息管理模块:在该模块中定义了测试题目信息的管理,其功能包括测试题目信息的录入、查询、删除等操作。
(4) 获奖信息管理模块:在该模块中定义了获奖信息的管理,其功能包括获奖信息的录入、查询、删除等操作。
(5) 公告信息管理模块:在该模块中定义了公告信息的管理,其功能包括公告信息的录入、查询、删除等操作。
(6) 留言信息管理模块:在该模块中定义了留言信息的管理,其功能包括留言信息的查询、删除等操作。
在这里插入图片描述

图2.3 管理员用户功能模块图
教师功能模块图说明:
(1) 课件信息管理模块:在该模块中定义了课件信息的管理,其功能包括课件信息的录入、查询、删除等操作。
(2) 教学视频信息管理模块:在该模块中定义了教学视频信息的管理,其功能包括教学视频信息的录入、查询、删除等操作。
(3) 试题信息管理模块:在该模块中定义了试题信息的管理,其功能包括试题信息的录入、查询、删除等操作。
在这里插入图片描述

图2.4 教师用户功能模块图
2.5设计的基本思想
设计思想遵循以下几点:

  1. 采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页方式的用户。
  2. 采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。
  3. 采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。
  4. 简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。
    5.速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。
    6.设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。

3.在登陆页面输入用户名和密码以,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码,验证码进行判断,验证通过进入对应的页面,loginservice关键代码:

public String login(String userName,String userPw,int userType)
	{
		String result="no";
		if(userType==0)//系统管理员登陆
		{
			String sql="from TAdmin where userName=? and userPw=?";
			Object[] con={userName.trim(),userPw.trim()};
			List adminList=adminDAO.getHibernateTemplate().find(sql,con);
			if(adminList.size()==0)
			{
				 result="no";
			}
			else
			{
				 WebContext ctx = WebContextFactory.get(); 
				 HttpSession session=ctx.getSession(); 
				 TAdmin admin=(TAdmin)adminList.get(0);
				 session.setAttribute("userType", 0);
	             session.setAttribute("admin", admin);
	             result="yes";
			}
		}
		if(userType==1)//老师登陆
		{
			String sql="from TTea where loginName=? and loginPw=? and del='no'";
			Object[] con={userName.trim(),userPw.trim()};
			List teaList=teaDAO.getHibernateTemplate().find(sql,con);
			if(teaList.size()==0)
			{
				 result="no";
			}
			else
			{
				 WebContext ctx = WebContextFactory.get(); 
				 HttpSession session=ctx.getSession(); 
				 TTea tea=(TTea) teaList.get(0);
				 session.setAttribute("userType", 1);
	             session.setAttribute("tea", tea);
	             result="yes";
			}
		}
		if(userType==2)//学生登陆
		{
			String sql="from TStu where stuXuehao=? and loginPw=? and del='no' and zhuangtai='b'";
			Object[] con={userName.trim(),userPw.trim()};
			List stuList=stuDAO.getHibernateTemplate().find(sql,con);
			if(stuList.size()==0)
			{
				 result="no";
			}
			else
			{
				 WebContext ctx = WebContextFactory.get(); 
				 HttpSession session=ctx.getSession(); 
				 TStu stu=(TStu) stuList.get(0);
				 session.setAttribute("userType", 2);
	             session.setAttribute("stu", stu);
	             result="yes";
			}
		}
		return result;
	}

学生信息管理关键代码:

public String stuMana()
{
	List stuList=stuDAO.getHibernateTemplate().find("from TStu where del='no'");
	Map request=(Map)ServletActionContext.getContext().get("request");
	request.put("stuList", stuList);
	return ActionSupport.SUCCESS;
}
public String stuShenhe()
{
	TStu stu=stuDAO.findById(stuId);
	stu.setZhuangtai("b");
	stuDAO.attachDirty(stu);
	this.setMessage("审核完毕");
	this.setPath("stuMana.action");
	return "succeed";
}
public String stuDel()
{
	TStu stu=stuDAO.findById(stuId);
	stu.setDel("yes");
	stuDAO.attachDirty(stu);
	this.setMessage("删除成功");
	this.setPath("stuMana.action");
	return "succeed";
}

教师信息管理关键代码:

public String teaAdd()
{
	TTea tea=new TTea();
	tea.setTeaBianhao(teaBianhao);
	tea.setLoginName(loginName);
	tea.setLoginPw(loginPw);
	tea.setTeaRealname(teaRealname);
	tea.setTeaSex(teaSex);
	tea.setTeaAge(teaAge);
	tea.setDel("no");
	teaDAO.save(tea);
	this.setMessage("操作成功");
	this.setPath("teaMana.action");
	return "succeed";
}
public String teaMana()
{
	String sql="from TTea where del='no'";
	List teaList=teaDAO.getHibernateTemplate().find(sql);
	Map request=(Map)ServletActionContext.getContext().get("request");
	request.put("teaList", teaList);
	return ActionSupport.SUCCESS;
}
public String teaDel()
{
	TTea tea=teaDAO.findById(teaId);
	tea.setDel("yes");
	teaDAO.attachDirty(tea);
	this.setMessage("操作成功");
	this.setPath("teaMana.action");
	return "succeed";
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
资源下载地址:https://download.csdn.net/download/sheziqiong/85811209
资源下载地址:https://download.csdn.net/download/sheziqiong/85811209

猜你喜欢

转载自blog.csdn.net/sheziqiong/article/details/125500304