基于SSM的在线教育管理系统的设计与实现


前言

在线教育管理系统的总体需求是:面向所有用户进行课程浏览的系统。在线教育系统包含了多个板块,有提供给用户及时看到最新公告的公告信息板块、有课程浏览板块,能够让用户可以查看自己所想要学习课程的相关信息、有试题板块,方便用户下载一些自己所需要的试题、还有制定学习计划板块,学习计划制定完成后还能够将学习计划导出,方便之后查看。通过多个板块的安排,能够给用户在学习课程上带来便利。

一、性能需求

1、系统是基于 windows 系统的项目,服务器引擎采用 Tomcat,在线教育系统在兼容性
上需满足现有服务器配置兼容,并满足能够让当下主流浏览器的使用。
2、服务器的存储空间有限,除了基本的信息内容储存在数据库中其余的文件类都以
地址的形式储存在数据库中。

二、系统界面展示

1.系统主界面

2、登陆界面

用户登录成功后,可以点击查看“试题”、“摄影笔记”、“安卓”、“Java”、“数据库”、“学习计划”、“全部课程目录”进行相关操作,还可以操作退出账号,实现其他账号的登录。“退出登录”是为退出当前登录的帐号同时清除相关缓存的数据,以实现其他账号的登录。
在这里插入图片描述

3、后台管理界面

管理员登录成功后进入到后台管理界面。后台导航菜单包括了:用户信息管理、班级信息管理、试题信息管理、课程信息管理、数据信息管理以及公告管理。管理员可以对这些菜单进行相关数据的查看和增删查改。
在这里插入图片描述

3.1用户信息管理

管理员可以查看用户信息管理中的用户列表中的相关信息以及对用户的相关信息进行增加、修改和删除操作
在这里插入图片描述
3.2
在这里插入图片描述
在这里插入图片描述

3.2班级信息管理

管理员可以查看班级信息管理中的相关信息以及对相关信息进行增加、修改和删除操作
在这里插入图片描述

3.3试题信息管理

管理员可以查看试题信息管理中试题列表的相关信息以及对相关信息进行增加、修改和删除操作
在这里插入图片描述

3.4课程信息管理

管理员可以查看课程信息管理中课程列表的相关信息以及对相关信息进行增加、修改和删除操作
在这里插入图片描述

3.5数据信息管理

管理员可以查看数据信息管理中数据列表的相关信息以及相关数据可以以不同类型的统计图进行呈现
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.6公告管理

管理员可以查看公告信息管理中公告列表的相关信息以及对相关信息进行增加、修改和删除操作
![在这里插入图片描述](https://img-blog.csdnimg.cn/396b5ba2a4514cebb1f065d5ee9fd37d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpeGluXzQ3MTQwMjM4,size_20,color_FFFFFF,t_70,g_se,x_16

4.主要代码实现

Servlet 层: 
public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException{
		String method = request.getParameter("method");
		if("logout".equals(method)){
			logout(request, response);
			return ;
		}
		String vcode = request.getParameter("vcode");
		String name = request.getParameter("account");
		String password = request.getParameter("password");
		int type = Integer.parseInt(request.getParameter("type"));
		String loginCpacha = request.getSession().getAttribute("loginCapcha").toString();
		if(StringUtil.isEmpty(vcode)){
			response.getWriter().write("vcodeError");
			return;
		}
		if(!vcode.toUpperCase().equals(loginCpacha.toUpperCase())){
			response.getWriter().write("vcodeError");
			return;
		}
		//验证码验证通过,对比用户名密码是否正确
		String loginStatus = "loginFaild";
		switch (type) {
			case 1:{
				AdminDao adminDao = new AdminDao();
				Admin admin = adminDao.login(name, password);
				adminDao.closeCon();
				if(admin == null){
					response.getWriter().write("loginError");
					return;
				}
				HttpSession session = request.getSession();
				session.setAttribute("user", admin);
				session.setAttribute("userType", type);
				loginStatus = "loginSuccess1";
				//response.sendRedirect("/user/index.jsp");
				break;
			}
			case 2:{
				StudentDao studentDao = new StudentDao();
				Student student =studentDao.login(name, password);
				studentDao.closeCon();
				if(student == null){
					response.getWriter().write("loginError");
					return;
				}
				HttpSession session = request.getSession();
				session.setAttribute("user", student);
				session.setAttribute("userType", type);
				loginStatus = "loginSuccess2";
				//response.sendRedirect("/user/index.jsp");
				break;
			}
			/*case 3:{
				TeacherDao teahcerDao = new TeacherDao();
				Teacher teacher = teahcerDao.login(name, password);
				teahcerDao.closeCon();
				if(teacher == null){
					response.getWriter().write("loginError");
					return;
				}
				HttpSession session = request.getSession();
				session.setAttribute("user", teacher);
				session.setAttribute("userType", type);
				loginStatus = "loginSuccess";
				break;
			}*/
			default:
				break;
			}
		response.getWriter().write(loginStatus);
		
	}


```java
Filter 代码: 
public void doFilter(ServletRequest req, ServletResponse rep, FilterChain chain) throws IOException, ServletException {

		HttpServletRequest request = (HttpServletRequest)req;
		HttpServletResponse response = (HttpServletResponse)rep;
		Object user = request.getSession().getAttribute("user");
		if(user == null){
			//未登录
			response.sendRedirect("login.jsp");
			return;
		}else{
			chain.doFilter(request, response);
		}
	}
web.xml 中的配置: 
<filter>
    <description>登录状态过滤</description>
    <filter-name>LoginFilter</filter-name>
    <filter-class>cn.gdupt.filter.LoginFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>LoginFilter</filter-name>
    <url-pattern>/SystemServlet</url-pattern>
    <url-pattern>/AdminServlet</url-pattern>
    <url-pattern>/StudentServlet</url-pattern>
  </filter-mapping>

总结

如有疑问可私聊博主或评论区留下联系方式。
点击获取数据库、代码下载地址

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CZ淡陌。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值