Java+MySQL基于ssm的物理竞赛管理系统

news2024/9/21 21:27:19

物理竞赛是对课堂上所学的理论知识的实践运用,加深所学知识的理解,锻炼团队协作能力。学生可以根据个人爱好,个人特长选择参与,不仅能培养学生的创新意思、提高专业技能,还能锻炼学生的组织能力和协作能力。物理竞赛是在中国科协的领导下,由中国物理学会主办,各省、自治区、直辖市自愿参加的群众性的课外学科竞赛活动,其宗旨是培养创新型人才,让学生运用已有的知识去发现问题和分析问题,理论与实践相结合为了能够让更多的人参与到物理竞赛的行列中来,我开发了本系统。
请添加图片描述

系统的实现软件和技术:

1.软件开发平台采用JAVA平台

2.采用Eclipse作为IDE

3.数据库采用MySQL

4.前端采用HTML/CSS3/JavaScript:bootstarp技术

5.采用Spring:SpringMVC:MyBatis技术搭建后台框架 .

请添加图片描述
研究的主要内容:

通过我的调查和分析以及导师的指导最终确定了本物理竞赛系统的基本功能,系统分为教师模块,地市负责人模块,管理员模块和竞赛秘书模块4部分,这4部分的用户相关合作共同实现了物理竞赛管理的基本功能,具体如下

教师模块:

  1. 教师用户登录,教师用户通过自己的账号和密码登录到系统中来为自己的学生进行报名等操作

  2. 学生信息管理,教师用户可以对自己的学生信息进行管理

  3. 报名管理,教师用户可以给自己的学生进行初试和复试的报名

  4. 缴费管理,教师用户可以给自己报名竞赛的学生进行缴费

  5. 查看成绩,教师用户可以查看自己报名竞赛的学生的成绩信息

  6. 修改密码,教师用户可以修改自己的个人密码

地市负责人模块:

  1. 地市负责人登录,地市负责人可以通过自己的账号和密码登录到系统中来

  2. 教师信息管理,地市负责人可以管理自己地市内的教师用户信息

  3. 审核学生报名信息,对报名参加竞赛的学生信息进行审核

  4. 查看成绩,查看自己地市内的学生的参赛成绩信息

  5. 修改密码,地市负责人可以修改自己的个人密码

管理员模块:

  1. 管理员登录,管理员可以通过自己的账号和密码登录到系统中来

  2. 地市负责人管理,管理员可以对地市负责人信息进行管理

  3. 竞赛秘书管理,管理员可以对系统内的竞赛秘书信息进行管理

  4. 对竞赛参数;初赛时间、复赛时间等;进行管理

  5. 成绩管理,对参加竞赛的学生的成绩和获奖信息进行管理

  6. 修改密码,管理员可以修改自己的个人密码

竞赛秘书模块:

  1. 竞赛秘书登录,竞赛密码可以通过自己的账号和密码登录到系统对系统进行管理

  2. 学生报名审核,对学生的报名信息进行审核

  3. 对竞赛参数;初赛时间、复赛时间等;进行管理

  4. 成绩管理,对参加竞赛的学生的成绩和获奖信息进行管理

  5. 修改密码,竞赛秘书可以修改自己的个人密码
    请添加图片描述

package com.controller;

import java.io.File;
import java.io.IOException;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.PrintWriter;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import com.entity.Allusers;
//import com.chengxusheji.po.News;
import com.server.AllusersServer;
import com.util.PageBean;
import net.sf.json.JSONObject;

@Controller
public class AllusersController {
	@Resource
	private AllusersServer allusersService;


//	
   @RequestMapping("showAllusers.do")
   public String showAllusers(int id,ModelMap map,HttpSession session){
	 /*  Map<String,Object> bmap=new HashMap<String,Object>();
	   bmap.put("uid", id);*/
	  // map.put("blist", allusersService.getAll(bmap));
	   map.put("allusers", allusersService.getById(id));
	   return "read";
   }
   
	@RequestMapping("addAllusers.do")
	public String addAllusers(HttpServletRequest request,Allusers allusers,HttpSession session){
		Timestamp time=new Timestamp(System.currentTimeMillis());
		//Users u=(Users)session.getAttribute("user");
		/*if(u==null||u.equals("")){
			return "redirect:showIndex.do";
		}else{*/
			//bbs.setUid(u.getId());
			/*bbs.setPubtime(time.toString());
			bbs.setIsdel("1");*/
		    allusers.setAddtime(time.toString().substring(0, 19));
			allusersService.add(allusers);
			return "redirect:allusersList.do";
		/*}*/
		
		
	}
 
//	处理编辑
	@RequestMapping("doUpdateAllusers.do")
	public String doUpdateAllusers(int id,ModelMap map,Allusers allusers){
		allusers=allusersService.getById(id);
		map.put("allusers", allusers);
		return "allusers_updt";
	}
//	
	@RequestMapping("updateAllusers.do")
	public String updateAllusers(int id,ModelMap map,Allusers allusers){
		allusersService.update(allusers);
		return "redirect:allusersList.do";
	}
//	所有List
//	@RequestMapping("allusersList.do")
//	public String allusersList(ModelMap map,HttpSession session){
//		map.put("list", allusersService.getAll(null));
//		map.put("clist", allusersService.getAll(null));
//		return "allusers";
//	}
//	分页查询
	@RequestMapping("allusersList.do")
	public String goodList(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session,Allusers allusers, String username, String pwd, String cx){
		/*if(session.getAttribute("user")==null){
			return "login";
		}*/
		if(page==null||page.equals("")){
			page="1";
		}
		PageBean pageBean=new PageBean(Integer.parseInt(page), 15);
		Map<String, Object> pmap=new HashMap<String,Object>();
		pmap.put("pageno", pageBean.getStart());
		pmap.put("pageSize", 15);
		Map<String, Object> bmap=new HashMap<String, Object>();
		Map<String,Object> cmap=new HashMap<String,Object>();
		/*pmap.put("uid",  ((Users)session.getAttribute("user")).getId());
		bmap.put("uid", ((Users)session.getAttribute("user")).getId());*/
		if(username==null||username.equals("")){pmap.put("username", null);cmap.put("username", null);}else{pmap.put("username", username);cmap.put("username", username);}
		if(pwd==null||pwd.equals("")){pmap.put("pwd", null);cmap.put("pwd", null);}else{pmap.put("pwd", pwd);cmap.put("pwd", pwd);}
		if(cx==null||cx.equals("")){pmap.put("cx", null);cmap.put("cx", null);}else{pmap.put("cx", cx);cmap.put("cx", cx);}
		
		int total=allusersService.getCount(bmap);
		pageBean.setTotal(total);
		List<Allusers> list=allusersService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 1);
		return "allusers_list";
	}
//   分页模糊查询
	@RequestMapping("vagueAllusersList.do")
	public String vagueAllusersList(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session){
		if(page==null||page.equals("")){
			page="1";
		}
		PageBean pageBean=new PageBean(Integer.parseInt(page),PageBean.PAGESIZE);
		Map<String, Object> pmap=new HashMap<String,Object>();
		pmap.put("pageno", pageBean.getStart());
		pmap.put("pageSize", pageBean.getPageSize());
		Map<String, Object> bmap=new HashMap<String, Object>();
		/*pmap.put("uid",  ((Users)session.getAttribute("user")).getId());
		bmap.put("uid",  ((Users)session.getAttribute("user")).getId());*/
		int total=allusersService.getCount(bmap);
		pageBean.setTotal(total);
		List<Allusers> list=allusersService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 2);
		return "queryallusers";
	}
	@RequestMapping("deleteAllusers.do")
	public String deleteAllusers(int id){
		allusersService.delete(id);
		return "redirect:allusersList.do";
	}
	
	@RequestMapping("quchongAllusers.do")
	public void quchongAllusers(Allusers allusers,HttpServletResponse response){
		   Map<String,Object> map=new HashMap<String,Object>();
		   map.put("username", allusers.getUsername());
		   System.out.println("username==="+allusers.getUsername());
		   System.out.println("username222==="+allusersService.quchongAllusers(map));
		   JSONObject obj=new JSONObject();
		   if(allusersService.quchongAllusers(map)!=null){
				 obj.put("info", "ng");
			   }else{
				   obj.put("info", "username可以用!");
				  
			   }
		   response.setContentType("text/html;charset=utf-8");
		   PrintWriter out=null;
		   try {
			out=response.getWriter();
			out.print(obj);
			out.flush();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			out.close();
		}
	}
	
	@RequestMapping("Alluserslogin.do")
	public String checkAllusersLogin(Allusers allusers, HttpSession session) {
		Map<String,Object> u=new HashMap<String,Object>();
		System.out.println("name===" + allusers.getUsername());
		u.put("username",allusers.getUsername());
		//u.put("utype", "用户");
		//Md5.MD5HexEncode(user.getPassword())
		u.put("pwd",allusers.getPwd());
		allusers = allusersService.allusersLogin(u);
		if (allusers != null) {
			session.setAttribute("username", allusers);
			System.out.println("username=" + allusers);
			session.removeAttribute("suc");
			return "redirect:index.do";
		} else {
			System.out.println("usernafwfwwme=");
			session.setAttribute("suc", "登录失败!用户名或密码错误!");
			return "login";
		}

	}
}

目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/99098.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【力扣周赛#324】6266. 使用质因数之和替换后可以取到的最小值+6267. 添加边使所有节点度数都为偶数+6268. 查询树中环的长度

目录 6265. 统计相似字符串对的数目 - ac 6266. 使用质因数之和替换后可以取到的最小值 分解质因数 1、tle代码 2、优化ac代码 6267. 添加边使所有节点度数都为偶数 - 建图分类讨论 关于建图 6268. 查询树中环的长度 - LCA最近公共祖先 6265. 统计相似字符串对的数目…

[附源码]Nodejs计算机毕业设计基于微信平台的车险投保系统设计与实现Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

Vue实现后台管理系统

目录 前言 登录页面 后台界面 前言 今天用Vue实现一个简易的后台&#xff0c;不借助接口和后端代码&#xff0c;仅通过前端实现&#xff0c;本案例涉及Vue路由相关知识&#xff0c;不熟悉Vue路由可以先看一下右边的文章再接着看下面的项目案例&#xff1a;Vue路由 这篇文章详…

[CISCN2019 华北赛区 Day1 Web2]

目录 前言 涉及考点 部分记录 前言 第一次看到这题时没有思路&#xff0c;通过搜索相关WP并简单了解考点所涉及的知识后&#xff0c;通过解题来扩展自己的知识面 涉及考点 python爬虫&#xff0c;支付逻辑漏洞&#xff0c;cookie篡改&#xff0c;重放攻击&#xff0c;JWT…

C++11后的STL算法

文章目录一、函数对象二、预定义的函数对象三、算法函数1.自己实现foreach算法2.自己实现的findif算法3.自己实现bsort算法一、函数对象 STL提供了很多处理容器的函数模板&#xff0c;它们的设计是相同的&#xff0c;有以下特点&#xff1a; 1&#xff09;用迭代器表示需要处理…

数据结构---用栈实现队列

用栈实现队列模拟入队模拟出队JAVA实现总结用栈来模拟一个队列&#xff0c;要求实现队列的两个基本操作&#xff1a;入队、出队。栈是先入后出&#xff0c;队列是先入先出 用两个栈来实现一个队列功能 让其中一个栈作为队列的入口&#xff0c;负责插入新元素&#xff1b;另一个…

ARM9和STM32什么关系?

已剪辑自: https://mp.weixin.qq.com/s/QHARY-D2SwFoQbFsJoCNlg 有小伙伴问&#xff1a;ARM9和STM32什么关系&#xff1f;如果时间倒退10年&#xff0c;ARM9、 s3c2410还算是比较流行的年代&#xff0c;但STM32这类“新时代”的ARM处理器也问世了。 ARM9是早期的ARM处理器&…

Java+MySQL基于ssm的打车管理系统的设计与实现

随着时代的发展,交通也变的越来越便利,但是很多时候人们出行的时候因为各种原因还是会进行打车,因为一些地区比较偏远或者处于特殊的时间段而用户又急需用车等情况导致没办法及时的打到车,这种情况下就急需一套基于互联网的打车系统出现了。 本打车管理系统采用JAVA语言来进行开…

Vivado2019+Modelsim仿真环境搭建

目录 一、安装准备 二、安装与配置 2.1 Vivado安装 2.2 modelsim安装 2.3 Vivado设置modelsim仿真环境 1&#xff09;仿真库生成设置 2&#xff09;modelsim添加仿真库&#xff08;逐个添加&#xff09; 3&#xff09;modelsim添加仿真库&#xff08;批量添加&#xff…

Spring 中 @Value 注解使用和源码分析

1、Value 注解使用 先配置本地 application.properties 如下&#xff1a; apple.nameabc代码如下&#xff1a; PropertySource("application.properties") public class Apple {Value("${apple.name}")public String name; }ComponentScan public class …

非零基础自学Golang 第9章 结构体 9.7 匿名结构体 9.8 小结 9.9 知识拓展

非零基础自学Golang 文章目录非零基础自学Golang第9章 结构体9.7 匿名结构体9.7.1 匿名结构体定义与初始化9.7.2 匿名结构体的应用9.8 小结9.9 知识拓展9.9.1 使用结构体解析XML文件第9章 结构体 9.7 匿名结构体 9.7.1 匿名结构体定义与初始化 匿名结构体&#xff0c;顾名思…

blender源代码编译运行

其实在blender官网上已经给出了编译步骤https://wiki.blender.org/wiki/Building_Blender/Windows&#xff0c;由于在源码编译的过程中还遇到了很多问题&#xff0c;特此记录一下。 文章目录前提准备代码下载1. blender源码下载2. lib下载编译前提准备 Visual Studio2019或者2…

Innodb存储引擎-执行流程分析和二阶段提交分析

文章目录执行流程分析基本流程WAL(Write-Ahead Log)write和fsync区别innodb_flush_logs_at_trx_commit & sync_binlog二阶段提交执行流程分析 基本流程 &#xff08;1&#xff09;连接,分析,优化,执行 客户端与MySQL Server建立连接&#xff0c;发送语句给MySQL Server&a…

2022.12.18 学习周报

文章目录摘要文献阅读1.题目2.摘要3.介绍4.RNNConventional Recurrent Neural Networks5.Deep Recurrent Neural Networks5.1 Deep Transition RNN5.2 Deep Output5.3 Stacked RNN6.实验6.1 训练6.2 结果与分析7.讨论深度学习GRU公式推导1.GRU前向传播2.GRU反向传播GRU代码实现…

关于数学中“函数(function)”的含义

目录 1. 问题 2. “function”是如何翻译成“函数”的&#xff1f; 3. “function”是谁引入数学中的&#xff0c;其意义何在&#xff1f; 3.1 “function”的词源 3.2 “function”引入数学中 3.3 “function”的含义 4. 常见的函数(Common Functions) 4.1 线性函数(L…

word页码如何设置为章节加页码,例如第一章第一页1-1、第二章章第一页2-1

由于用到word页码分章节页码的形式&#xff0c;从网上查了一下&#xff0c;质量真的很差&#xff0c;没有一篇文章讲清楚的&#xff0c;有的所答非所问&#xff0c;一怒之下&#xff0c;利用几个小时的时间解决问题并写下这篇文章&#xff0c;以供大家学习参考&#xff01;&…

【JSP】

文章目录简介Scriptlet脚本小程序JSP的指令标签include静态包含include动态包含不传参传参JSP的四大域对象四种属性范围验证属性范围的特点EL表达式操作字符串操作集合emptyJSTL条件动作标签if标签choose、when 和 otherwise 标签迭代标签foreach格式化动作标签formatNumber标签…

NProgress 进度条的使用方法

安装NProgress 进度条 npm install nprogress --save-dev 在vue项目中mian.js中或router.js或axios.js&#xff1a; import NProgress from nprogress import nprogress/nprogress.css 使用NProgress进度条 NProgress.start(); &#xff1a;进度条开始&#xff1b; NProgr…

GCD和LCM

目录 一 整除 定义 性质 二 GCD 1&#xff09;定义 2&#xff09;性质 3&#xff09;GCD编程 ①暴力法 ②欧几里得算法 ③更相减损术 ④Stein算法 三 LCM ①暴力法 ②最大公约数法 四 裴蜀定理 例题&#xff1a;裴蜀定理 一 整除 定义 a 能整除b,记为 a|b。其…

你还会想起这道题吗

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 原神是由米哈游自主研发的一款全新开放世界冒险游戏。游戏发生在一个被称作「提瓦特」的幻想世界&#xff0c;在这里&#xff0c;被神选中的人将被授予「神之眼」&#xff0c;导引元…