基于ssm的简单心理平台系统(前端+后端)

50 篇文章 3 订阅

一、系统简介


本项目采用eclipse工具开发,jsp+spring+spring-mvc+mybatis+jquery技术编写,数据库采用的是mysql,navicat开发工具。

系统一共分为3个角色分别是:管理员,学生,教师

二、模块简介

管理员

1、登录

2、统计管理

3、个人信息管理

4、学生信息管理

5、教师信息管理

6、公告信息管理

7、预约信息管理

8、心理测试记录管理

教师

1、登录

2、个人信息管理

3、重置密码

4、查看公告

5、查看自己的预约信息

6、查看心理测试记录

学生

1、登录

2、个人信息管理

3、查看老师

4、预约老师

5、在线心理测试

6、查看公告

7、查看预约历史记录

8、查看心理测试记录

项目简介:
难度等级:✩✩✩
用户类型:3角色( 管理员,学生,教师)
设计模式:MVC
项目架构:B/S架构
开发语言:Java语言
前端技术:bootstrap+HTML、CSS、JS、JQuery等
后端技术:JSP、ssm框架
运行环境:Windows7或10、JDK1.8
运行工具:本系统采用Eclipse开发,仅支持Eclipse运行,不支持MyEclipse和IDEA运行,因为三者的骨架不一样,强行导入打开运行可能会导致出现未知的错误。(如若想用idea运行,需要转换!!!!)
数  据  库:MySQL5.5/5.7/8.0版本
运行服务器:Tomcat7.0/8.0/8.5/9.0等版本
是否基于Maven环境:否
是否采用框架:是
数据库表数量:7张表
JSP页面数量:20多张
是否有分页:有分页

相关截图

 相关代码

登录

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>简单心理平台</title>
<meta name="renderer" content="webkit">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<link rel="stylesheet" type="text/css" href="<%=path %>/layui/css/layui.css"> 
<link rel="stylesheet" type="text/css" href="<%=path %>/layui/css/admin.css"> 
<link rel="stylesheet" type="text/css" href="<%=path %>/layui/css/login.css"> 
</head>
<body >

 
    <form  method="post"  id="loginForm" >
    <div class="layadmin-user-login layadmin-user-display-show" id="LAY-user-login" style="display: none;">
    <div class="layadmin-user-login-main">
      <div class="layadmin-user-login-box layadmin-user-login-header">
        <h2 style="font-size:50px;">简单心理平台登陆界面</h2>
       
      </div>
      <div class="layadmin-user-login-box layadmin-user-login-body layui-form">
        <div class="layui-form-item">
          <label class="layadmin-user-login-icon layui-icon layui-icon-username" for="LAY-user-login-cellphone"></label>
          <input type="text" name="username" lay-verify="username" id="username"  placeholder="用户名" class="layui-input">
        </div>
       
        <div class="layui-form-item">
          <label class="layadmin-user-login-icon layui-icon layui-icon-password" for="LAY-user-login-password"></label>
          <input type="password" name="password" lay-verify="password" id="password" placeholder="密码" class="layui-input">
        </div>
         <div class="layui-form-item" style="align:center;">
             &emsp;&emsp;&emsp;
                <!-- <div class="layui-input-block"> -->
                  <input type="radio" name="type" value="0" title="管理员" checked>
                  <input type="radio" name="type" value="1" title="教师" >
                   <input type="radio" name="type" value="2" title="学生">
                <!-- </div> -->
              </div>     
        <div class="layui-form-item">
         <!--  <button class="layui-btn layui-btn-fluid" lay-submit lay-filter="LAY-user-reg-submit">注 册</button> -->
         <button type="button" id="login" class="layui-btn layui-btn-fluid">登陆</button>
         
        </div>
    -  <!--    <div class="layui-form-item">
		 	<a type="button" id="register" class="layui-btn layui-btn-fluid" >注册老师</a>
		    </div>  -->
		    
		     <div class="layui-form-item">
		 	<a type="button" id="restu" class="layui-btn layui-btn-fluid" >学生重置密码</a>
		    </div>
       
		     <div class="layui-form-item">
		 	<a type="button" id="reste" class="layui-btn layui-btn-fluid" >教师重置密码</a>
		    </div>
    
      </div>
    </div>
    
   

  </div>
	</form>	
	


<script src="<%=path %>/layui/layui.js"></script>
<script src="<%=path %>/layui/jquery-1.9.1.min.js"></script>

<script>
			$("#login").click(function(){
				var username = $("#username").val();
				var password = $("#password").val();
				if(username == null || username == ""){
					alert("请填写用户名");
					return false;
				}if(password == null || password == ""){
					alert("请填写密码");
					return false;
				}
				//执行添加的操作ajax
				$.ajax({
					cache:true,
					type:"post",
					url:"login",
					data:$("#loginForm").serialize(),
					async:false,
					success:function(e){
						if(e == "ok"){
							alert("登录成功");
							 window.location.href="toMain";
						}else if(e == 'toIndex'){
							alert("登录成功");
							 window.location.href="toIndex";
						}else{
							alert("登录失败,账号或密码错误");
						}
					}
				})
			});
	</script>
		

<script>

layui.use([ 'form','jquery','layer' ], function() {
	var form = layui.form,
	 layer = layui.layer,
	 $= layui.jquery;
	 form.render();//这句一定要加,占坑
	 
	 $('#register').on("click",function(e){
	  	  layer.open({
	  	      //调整弹框的大小
	  		  area:['500px','800px'],
	  		  shadeClose:true,//点击旁边地方自动关闭
	  		  //动画
	  		  anim:2,
	  		  //弹出层的基本类型
	  		  type: 2, 
	  		  title: '注册老师',
	  		  //刚才定义的弹窗页面
	  		  content: 'toRegisterTeacher', //这里content是一个URL,如果你不想让iframe出现滚动条,你还可以content: ['http://sentsin.com', 'no']
	  				
	  	  });
	    });
	 
	 $('#restu').on("click",function(e){
	  	  layer.open({
	  	      //调整弹框的大小
	  		  area:['500px','400px'],
	  		  shadeClose:true,//点击旁边地方自动关闭
	  		  //动画
	  		  anim:2,
	  		  //弹出层的基本类型
	  		  type: 2, 
	  		  title: '重置密码',
	  		  //刚才定义的弹窗页面
	  		  content: 'toResetStuPass', //这里content是一个URL,如果你不想让iframe出现滚动条,你还可以content: ['http://sentsin.com', 'no']
	  				
	  	  });
	    });
	 
	 
	 $('#reste').on("click",function(e){
	  	  layer.open({
	  	      //调整弹框的大小
	  		  area:['500px','400px'],
	  		  shadeClose:true,//点击旁边地方自动关闭
	  		  //动画
	  		  anim:2,
	  		  //弹出层的基本类型
	  		  type: 2, 
	  		  title: '重置密码',
	  		  //刚才定义的弹窗页面
	  		  content: 'toResetTePass', //这里content是一个URL,如果你不想让iframe出现滚动条,你还可以content: ['http://sentsin.com', 'no']
	  				
	  	  });
	    });
	 

});
</script>
</body>
</html>
/**
	 * 登录
	 * @param username
	 * @param request
	 * @param password
	 * @param session
	 * @param response
	 * @param mv
	 * @return
	 * @throws ServletException
	 * @throws IOException
	 */
	@RequestMapping("/login")
	@ResponseBody
     public String login(@RequestParam("username")String username,
    		 HttpServletRequest request,@RequestParam("password")String password,
    		 HttpSession session,HttpServletResponse response,ModelAndView mv) throws ServletException, IOException {	
		String message = "no";
		session.removeAttribute("admin");
		session.removeAttribute("user");
	    String type=request.getParameter("type").toString();
		request.getSession().setAttribute("type", type);
	    if(type != null && type.equals("1")){
		   Teacher data = TeacherService.selectTeacher(username,password);
		    if(data != null){
				request.getSession().setAttribute("teacher", data);
				session.setAttribute("teacher", data);
				message = "ok";
		    }
	    }else if(type != null && type.equals("2")){
	    	Student te = userService.selectStudent(username,password);
	    	if(te != null){
				request.getSession().setAttribute("student", te);
				session.setAttribute("student", te);
				message = "toIndex";
		    }
	    }else if(type != null && type.equals("0")){
	    	Admin te = adminService.selectAdmin(username,password);
	    	if(te != null){
				request.getSession().setAttribute("admin", te);
				session.setAttribute("admin", te);
				message = "ok";
		    }
	    }
		return message;
			
	}

其他模块代码都是类似的,此项目适合初学者学习借鉴
喜欢的朋友的点赞加关注,感兴趣的同学可以研究!!!!!

项目截图中的数据,很多是用来测试的,需要自行添加合适的数据图片!!
非开源!!!!!! 感谢  = v =

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
软件简介:鑫钜排课系统是一套智能排课系统 ,专门解决令头头疼的学校排课问题。 手工排课一向是学校教务工作中最令人头疼的事,非常费时费神,而且由于人工操作时多多少少会有些失误。往往经过一两天的冥思苦想排出来的课程表,却总会发现纰漏,导致课程表需要修改。而修改课程表一般都是牵一发而动全身,令人非常苦恼。 鑫钜排课系统的出现解决了以上所有难题,本系统特聘一位从事20余年学校教务工作的老师,根据自己多年来排课经验,全程跟踪系统开发,集众家排课软件之长,操作简单,直观;排课算法先进,合理分配每天的课程节次,排出来的课更合理、更科学,完全符合中小学排课的需要。让您从此告别繁琐的手工排课,只要设置好学校班数、节数、课程、教师任课,系统就会自动排出所有课程表。一个几十个班的学校,从信息开始录入到开始打印课程表的整个过程一般一个小时内就可以完全搞定,这在手工排课阶段,几乎是不可想象的。而且电脑自动排课的过程只需几秒钟,排完之后觉得不满意,完全可以根据系统提示进行调整。 功能特点:鑫钜排课系统还有很多特点都领先于同类软件,如: 1.傻瓜型的向导操作模式:《鑫钜排课系统》的向导操作模式使得对电脑一知半解的用户也可以操作自如。并采用教务工作者的思路来设计软件,即使不懂电脑的老教务主任操作起来也会有一种似曾相识的感觉。 2一流的排课算法: 《鑫钜排课系统》采用优秀的排课算法,自动排课无论速度及准确性是其它排课软件不可比拟的 3.直观的调课功能。能采用直观的卡片式显示方法,用不同的颜色显示哪些课可以调,哪些课不能调,调课直观,方便,像玩游戏一样,让您排出的课符合您的要求。 4.方便的查询功能。任意选中课表中某一节课(或几节课),能查询哪些老师在上课,哪些老师在休息,这样方便领导选派教师安排临时性的工作,或考勤查岗等事务,也可以在调课过程中利用它发现哪些课不合理,以便进行调整. 5.教学工作量统计功能。能自动统计全校任课教师的教学工作量,并导出到Excel(电子表格)中编辑、打印。以便根据您的需要计算出教师的教学工作量津贴等。 6.能合理分配场地受限的课程。例如:微机课、体育课。如果您学校只有一间微机教室,那么在同一课时排课系统会只安排一节微机课。 7.能设置教师在哪节课不排课。例如:有些老师每周固定时间开会,固定时间教研等。 8..能设置课程的不排节次。例如:体育不安排在上午第一、二节。 9.能根据您的需要安排固定课。例如:班会课、劳动课、自习课等安排在固定的某一节课;也可以用来做手工排课,如:把某班的语文课固定在第一节课上。 10.方便、灵活的打印功能。总功课表、班级课表、个人课表能一键导出到Excel(电子表格)中编辑、打印,让你打出更精美的课表。班级课表和个人课表还可以用A4纸张直接打印出来。 11.强大的手动调课功能。系统能够自动提示可调课程位置,可以方便地调动课程。 12.采用24小时在线升级技术。采用在线升级技术,令升级更方便。 13.立足用户的本地化改造。如校方对排课系统的某些功能需求有异,可在第一时间为校方做调整完善。 使用范围:适用于各类中学、小学、全日制、半日制、中专类院校等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

码盗_java_bishe

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

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

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

打赏作者

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

抵扣说明:

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

余额充值