基于SSM的高校班级同学录网站的设计与实现

这篇具有很好参考价值的文章主要介绍了基于SSM的高校班级同学录网站的设计与实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

末尾获取源码
开发语言:Java
Java开发工具:JDK1.8
后端框架:SSM
前端:采用JSP技术开发
数据库:MySQL5.7和Navicat管理工具结合
服务器:Tomcat8.5
开发软件:IDEA / Eclipse
是否Maven项目:是


目录

一、项目简介

二、系统功能

三、系统项目截图

管理员功能实现

问卷调查管理

学校主管管理

学院主管管理

学院主管功能实现

学院统计管理

学院统计

学校主管功能实现

学校统计管理

学校统计

校友功能实现

问卷调查

班级论坛

问卷答复管理

班级校友功能实现

班级相册

 问卷调查

班级统计管理

班级相册管理

四、核心代码

登录相关

文件上传

封装


一、项目简介

如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统高校班级同学录信息管理难度大,容错率低,管理人员处理数据费工费时,所以专门为解决这个难题开发了一个高校班级同学录网站,可以解决许多问题。

高校班级同学录网站实现的功能包括班级校友管理,学院主管管理,学校主管管理,班级相册管理,通知信息管理,问卷调查管理,问卷答复管理,班级统计管理,学院统计管理,学校统计管理,班级论坛管理等功能。该系统采用了Mysql数据库,Java语言,SSM框架等技术进行编程实现。

高校班级同学录网站可以提高高校班级同学录信息管理问题的解决效率,优化高校班级同学录信息处理流程,保证高校班级同学录信息数据的安全,它是一个非常可靠,非常安全的应用程序。


二、系统功能

管理员权限操作的功能包括管理班级校友,管理通知信息,管理问卷调查,管理问卷答复,管理学院主管,管理学校主管,管理班级统计,管理学院统计,管理学校统计等功能。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat

 学院主管权限操作的功能包括管理学院统计信息,查看班级相册,在班级论坛发帖,评论帖子等。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat

 学校主管权限操作的功能包括管理学校统计信息,查看通知信息,查看班级论坛帖子,查看班级相册等。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat

 校友权限操作的功能包括管理问卷答复信息,管理个人信息,收藏班级相册,对问卷调查进行答复等。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat

 班级校友权限操作的功能包括管理班级相册,管理班级统计,管理通知信息,参与问卷调查,在班级论坛发帖,评论帖子等。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat

 


三、系统项目截图

管理员功能实现

问卷调查管理

图5.1 即为编码实现的问卷调查管理界面,问卷调查信息包括问卷名称,调查题目,调查目的等信息,管理员对登记有错误的问卷调查信息进行修改,可以删除需要删除的问卷调查信息等。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat 

学校主管管理

图5.2 即为编码实现的学校主管管理界面,学校主管信息包括手机号码,负责人,学校名称等信息,管理员对学校主管进行增删改查管理。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat 

学院主管管理

图5.3 即为编码实现的学院主管管理界面,学院主管信息包括相片,手机号码,邮箱,性别,学院名称等信息,管理员增删改查学院主管信息等。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat 

学院主管功能实现

学院统计管理

图5.4 即为编码实现的学院统计管理界面,学院主管添加学院统计信息,包括学院名称,统计备注,统计数量等信息,可以对学院统计信息进行修改,查询,删除等。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat 

学院统计

图5.5 即为编码实现的学院统计界面,学院主管在学院统计界面查看以柱状图的形式展示的学院统计信息。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat 

学校主管功能实现

学校统计管理

图5.6 即为编码实现的学校统计管理界面,学校统计信息包括学校名称,统计备注,统计日期,统计数量等信息,学校主管负责增删改查学校统计信息等。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat 

学校统计

图5.7 即为编码实现的学校统计界面,学校主管查看以柱状图的形式展示的学校统计信息,主要是展示统计学校的数量信息。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat 

校友功能实现

问卷调查

图5.8 即为编码实现的问卷调查界面,校友收藏问卷调查,可以对问卷调查进行答复。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat 

班级论坛

图5.9 即为编码实现的班级论坛界面,校友发布帖子,对班级论坛的帖子的具体内容进行查看后可以评论查看的帖子。同时,在班级论坛界面,校友也能根据帖子标题实现对论坛帖子的查询。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat 

问卷答复管理

图5.10 即为编码实现的问卷答复管理界面,校友在问卷答复管理界面中主要是查看已答复的问卷的详细信息,可以修改答复内容等信息,也能删除问卷答复信息等。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat 

班级校友功能实现

班级相册

图5.11 即为编码实现的班级相册界面,班级校友可以查看班级相册具体内容,收藏喜欢的班级相册。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat 

 问卷调查

图5.12 即为编码实现的问卷调查界面,班级校友也能参与问卷调查,可以收藏问卷调查,也能对问卷调查的问题进行回答。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat 

班级统计管理

图5.13 即为编码实现的班级统计管理界面,班级校友在班级统计管理界面中主要是增删改查班级统计信息。

基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat

班级相册管理

图5.14 即为编码实现的班级相册管理界面,前台展示的班级相册信息都是班级校友在班级相册管理界面中发布的信息,该班级相册信息也能让班级校友修改,查询,删除等管理。

 基于SSM的高校班级同学录网站的设计与实现,数据库,java,前端,开发语言,tomcat文章来源地址https://www.toymoban.com/news/detail-794978.html


四、核心代码

登录相关


package com.controller;


import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

文件上传

package com.controller;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;

/**
 * 上传文件映射表
 */
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{
	@Autowired
    private ConfigService configService;
	/**
	 * 上传文件
	 */
	@RequestMapping("/upload")
	public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
		if (file.isEmpty()) {
			throw new EIException("上传文件不能为空");
		}
		String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
		File path = new File(ResourceUtils.getURL("classpath:static").getPath());
		if(!path.exists()) {
		    path = new File("");
		}
		File upload = new File(path.getAbsolutePath(),"/upload/");
		if(!upload.exists()) {
		    upload.mkdirs();
		}
		String fileName = new Date().getTime()+"."+fileExt;
		File dest = new File(upload.getAbsolutePath()+"/"+fileName);
		file.transferTo(dest);
		FileUtils.copyFile(dest, new File("C:\\Users\\Desktop\\jiadian\\springbootl7own\\src\\main\\resources\\static\\upload"+"/"+fileName));
		if(StringUtils.isNotBlank(type) && type.equals("1")) {
			ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
			if(configEntity==null) {
				configEntity = new ConfigEntity();
				configEntity.setName("faceFile");
				configEntity.setValue(fileName);
			} else {
				configEntity.setValue(fileName);
			}
			configService.insertOrUpdate(configEntity);
		}
		return R.ok().put("file", fileName);
	}
	
	/**
	 * 下载文件
	 */
	@IgnoreAuth
	@RequestMapping("/download")
	public ResponseEntity<byte[]> download(@RequestParam String fileName) {
		try {
			File path = new File(ResourceUtils.getURL("classpath:static").getPath());
			if(!path.exists()) {
			    path = new File("");
			}
			File upload = new File(path.getAbsolutePath(),"/upload/");
			if(!upload.exists()) {
			    upload.mkdirs();
			}
			File file = new File(upload.getAbsolutePath()+"/"+fileName);
			if(file.exists()){
				/*if(!fileService.canRead(file, SessionManager.getSessionUser())){
					getResponse().sendError(403);
				}*/
				HttpHeaders headers = new HttpHeaders();
			    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);    
			    headers.setContentDispositionFormData("attachment", fileName);    
			    return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);
	}
	
}

封装

package com.utils;

import java.util.HashMap;
import java.util.Map;

/**
 * 返回数据
 */
public class R extends HashMap<String, Object> {
	private static final long serialVersionUID = 1L;
	
	public R() {
		put("code", 0);
	}
	
	public static R error() {
		return error(500, "未知异常,请联系管理员");
	}
	
	public static R error(String msg) {
		return error(500, msg);
	}
	
	public static R error(int code, String msg) {
		R r = new R();
		r.put("code", code);
		r.put("msg", msg);
		return r;
	}

	public static R ok(String msg) {
		R r = new R();
		r.put("msg", msg);
		return r;
	}
	
	public static R ok(Map<String, Object> map) {
		R r = new R();
		r.putAll(map);
		return r;
	}
	
	public static R ok() {
		return new R();
	}

	public R put(String key, Object value) {
		super.put(key, value);
		return this;
	}
}

到了这里,关于基于SSM的高校班级同学录网站的设计与实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 基于微信小程序高校订餐系统的设计与开发ssm+springboot+vue.js附带文章和源代码设计说明文档ppt

    基于微信小程序高校订餐系统的设计与开发ssm+springboot+vue.js附带文章和源代码设计说明文档ppt

    🌞 博主介绍 :✌CSDN特邀作者、985计算机专业毕业、某互联网大厂高级全栈开发程序员、码云/掘金/华为云/阿里云/InfoQ/StackOverflow/github等平台优质作者、专注于Java、小程序、前端、python等技术领域和毕业项目实战,以及程序定制化开发、全栈讲解、就业辅导、面试辅导、简

    2024年03月19日
    浏览(15)
  • 计算机毕业设计 基于SSM的高校毕业论文管理系统小程序的设计与实现 Java实战项目 附源码+文档+视频讲解

    计算机毕业设计 基于SSM的高校毕业论文管理系统小程序的设计与实现 Java实战项目 附源码+文档+视频讲解

    博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅   👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 —————————

    2024年02月07日
    浏览(15)
  • 基于SSM的在线视频网站的设计与实现

    基于SSM的在线视频网站的设计与实现

    目 录 1 绪论 1 1.1 项目背景 1 1.2 项目研究目的和意义 1 1.3 国内外研究现状 2 1.3.1国内研究现状 2 1.3.2国外研究现状 2 1.4 论文工作内容以及结构安排 3 1.4.1论文工作内容 3 1.4.2论文结构安排 3 2 可行性分析及关键技术介绍 4 2.1 技术可行性 4 2.2 系统操作可行性 4 2.3 系统关键技术介

    2023年04月12日
    浏览(9)
  • 基于SSM+Vue的汽车售票网站的设计与实现

    基于SSM+Vue的汽车售票网站的设计与实现

    末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录 一、项目简介 二、系统设计 设计原则 三、系统项目截图 客运班次管理 会员充值管理

    2024年02月07日
    浏览(10)
  • 基于Django高校学校校园网站信息管理系统设计与实现(Pycharm+Python+Mysql)

    基于Django高校学校校园网站信息管理系统设计与实现(Pycharm+Python+Mysql)

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。 项目配有对应开发文档、

    2024年04月10日
    浏览(17)
  • 基于SSM+Vue的旅游资源网站设计与实现

    基于SSM+Vue的旅游资源网站设计与实现

     博主介绍 :  大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架下进行项目开发,具有丰富的项目经验和开发技能。我的

    2024年02月07日
    浏览(18)
  • ssm基于Web的数字家庭网站设计与实现论文

    ssm基于Web的数字家庭网站设计与实现论文

    目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1.3 研究内容 2 2 系统开发环境 3 2.1 vue技术 3 2.2 JAVA技术 3 2.3 MYSQL数据库 3 2.4 B/S结构 4 2.5 SSM框架技术 4 3 系统分析 5 3.1 可行性分析 5 3.1.1 技术可行性 5 3.1.2 操作可行性 5 3.1.3 经济可行性 5 3.1.4 法律可行性 5 3.2 系统

    2024年02月01日
    浏览(12)
  • 基于SSM+Vue的房屋租赁网站-求租合同设计与实现

    基于SSM+Vue的房屋租赁网站-求租合同设计与实现

    博主介绍 :  大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架下进行项目开发,具有丰富的项目经验和开发技能。我的代

    2024年02月08日
    浏览(8)
  • 毕业设计——基于SSM+Mysql构建的完整在线旅游网站项目

    完整项目地址:https://download.csdn.net/download/lijunhcn/88430527 ### 1、主要功能 实现旅游网 2、主要知识点 (1)目标 (2)任务 (3)功能说明 主要功能概述 (4)数据库表 (5)功能操作 1.环境搭建 2.注册功能 去注册页面 a、页面—在header.jsp里面添加这个超链接 b、控制层—在Use

    2024年02月04日
    浏览(11)
  • ssm基于JavaWeb的校园心理健康网站的设计与实现论文

    ssm基于JavaWeb的校园心理健康网站的设计与实现论文

    如今的时代,是有史以来最好的时代,随着计算机的发展到现在的移动终端的发展,国内目前信息技术已经在世界上遥遥领先,让人们感觉到处于信息大爆炸的社会。信息时代的信息处理肯定不能用之前的手工处理这样的解决方法,必须采用计算机来处理这些信息,因为传统

    2024年02月03日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包