使用SSM开发一个校友联络的平台系统

简介: 使用SSM开发一个校友联络的平台系统

项目编号:BS-PT-019


后台开发技术:SSM框架


前端开发技术:Bootstrap+Jquery+Ajax


开发工具:IDEA / ECLIPSE


基于MAVEN开发


数据库:MYSQL5.7


JDK:1.8


本项目基于SSM实现的校友录平台,功能完整:主要包含校友通讯录模块,论坛模块,新闻模块,招聘模块,校内各组织管理模块,班级管理模块等,功能还是比较完整的,运行无误。数据库采用MYSQL,开发工具为IDEA或Eclipse.


下面展示一下系统的部分功能;


访问http://localhost:8080/ar-portal/index.action


输入密码: black  /  12345678


登陆:

image.png

首页

20201028155952125.png

新闻中心

image.png

班级通讯录

image.png

校友组织:

image.png

校友论坛

image.png

职业招聘

image.png

校园服务

image.png

个人后台管理中心

image.png

我的班级

image.png

我的论坛

image.png

我的招聘

image.png

系统管理员进入:

http://localhost:8080/ar-portal/index.action

sa  /  12345678

后台管理主界面

image.png

信息中心

image.png

组织管理

image.png

招聘管理

image.png

用户管理

image.png

权限管理

image.png

数据字典管理

image.png

本系统功能完整,全面,运行无误,结构清晰,使用SSM框架开发,适合做毕业设计使用。

部分核心实现代码:

package com.xzit.ar.manage.controller.user;
import com.xzit.ar.common.base.BaseController;
import com.xzit.ar.common.exception.UtilException;
import com.xzit.ar.common.page.Page;
import com.xzit.ar.common.po.user.User;
import com.xzit.ar.common.util.CommonUtil;
import com.xzit.ar.manage.service.user.UserService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
 * TODO ${TODO}
 *
 * @author znz 
 * @Date:2021/5/19 17:16.
 */
@Controller
@RequestMapping("/user")
public class UserController extends BaseController {
    @Resource
    private UserService userService;
    /**
     * TODO 加载用户管理界面
     * @return
     */
    @RequestMapping("")
    public String index() {
        return "user/user-index";
    }
    /**
     * TODO 查询用户列表
     * @param model
     * @param query
     * @param state
     * @return
     */
    @RequestMapping("/queryUser")
    public String queryUser(Model model, String query, String state, String isAdmin) {
        // 分页类
        Page<Map<String, Object>> page = new Page<>(getPageIndex(), getPageSize());
        Map<String, Object> user = new HashMap<>();
        // 参数校验
        if (CommonUtil.isNotEmpty(query)) {
            user.put("query", "%" + query + "%");
        }
        if (CommonUtil.isNotEmpty(state)) {
            user.put("state", state);
        }
        if (CommonUtil.isNotEmpty(isAdmin)) {
            user.put("isAdmin", isAdmin);
        }
        page.setQueryMap(user);
        // 查询用户
        userService.queryUser(page);
        // 数据返回
        model.addAttribute("page", page);
        model.addAttribute("query", query);
        model.addAttribute("state", state);
        model.addAttribute("isAdmin", isAdmin);
        return "user/user-query";
    }
    @RequestMapping("/add")
    public String userAddPage(Model model) {
        model.addAttribute("sex", false);
        return "user/user-add";
    }
    @RequestMapping(value = "/add/submit", method = RequestMethod.POST)
    public String userAddSubmit(Model model,
                                @RequestParam("account") String account,
                                @RequestParam("trueName") String trueName,
                                @RequestParam("isAdmin") String isAdmin,
                                @RequestParam("email") String email,
                                @RequestParam("introduce") String introduce) throws UtilException {
        if (CommonUtil.isNotEmpty(account)) {
            Map<String, Object> _user = userService.getUserByAccount(account);
            if (_user != null) {
                setMessage(account + " 已存在");
                System.out.println(account + " 已存在");
                return "redirect:/user.action";
            } else {
                User user = new User();
                user.setAccount(account);
                user.setTrueName(trueName);
                user.setEmail(email);
                user.setIsAdmin(isAdmin);
                user.setIntroduce(introduce);
                user.setState("A");
                user.setPassword(CommonUtil.md5("12345678"));
                user.setImageId(1);
                user.setStateTime(new Date());
                user.setCreateTime(new Date());
                userService.addUser(user);
            }
        }
        return "redirect:/user.action";
    }
}
/**
 * TODO ${TODO}
 *
 * @author znz 
 * @Date:2021/5/19 17:16.
 */
package com.xzit.ar.manage.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.xzit.ar.common.base.BaseController;
import com.xzit.ar.common.constant.WebConstant;
/**
 * TODO ${TODO}
 *
 * @author znz 
 * @Date:2021/5/19 17:16.
 */
@Controller
@RequestMapping("")
public class ManageController extends BaseController {
  /**
   * @Description: TODO 空请求跳转<br>
   * @author znz <br>
   * @date 2021年12月23日 下午12:36:56 <br>
   */
  @RequestMapping(value = "/manage", method = RequestMethod.GET)
  public String index(ModelMap map) throws Exception {
    return "main/index";
  }
  /**
   * @Description: TODO 加载 欢迎界面 <br>
   * @author znz <br>
   * @date 2016年1月3日 下午4:23:41 <br>
   */
  @RequestMapping("/manage/welcome")
  public String welcomeManage(Model model) {
    return "main/welcome";
  }
  /**
   * @Description: TODO 错误请求跳转<br>
   * @author znz <br>
   * @date 2021年12月23日 上午11:46:19 <br>
   */
  @RequestMapping(method = RequestMethod.GET, value = "/error/{errCode}")
  public String error(@PathVariable("errCode") String errCode) {
    return "404".equals(errCode) ? WebConstant.PAGE_ERROR_404 : WebConstant.PAGE_ERROR_500;
  }
}
/**
 * @Title: ControllerReflect.java <br>
 * @Package com.xzit.ar.manage.controller <br>
 * @Description: TODO <br>
 * @author znz <br>
 * @date 2021年1月3日 上午10:25:46 <br>
 * @version V1.0 <br>
 */
package com.xzit.ar.manage.controller.right;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.xzit.ar.common.base.BaseController;
import com.xzit.ar.common.exception.ServiceException;
import com.xzit.ar.common.page.Page;
import com.xzit.ar.common.po.role.Right;
import com.xzit.ar.common.util.privilege.PrivilegeUtil;
import com.xzit.ar.manage.service.right.RightService;
/**
 * @ClassName: ControllerReflect <br>
 * @Description: TODO <br>
 * @author znz <br>
 * @date 2021年1月3日 上午10:25:46 <br>
 * @version V1.0 <br>
 */
@Controller
@RequestMapping("/right")
public class RightController extends BaseController {
    @Resource
    private RightService rightService;
    /**
     * @Description: TODO 加载权限管理索引界面<br>
     * @author znz <br>
     * @date 2021年1月4日 上午11:39:33 <br>
     */
    @RequestMapping("/indexRight")
    public String indexRight() {
        return "authority/right/right-index";
    }
    @RequestMapping("/queryRights")
    public String queryRights(Model model, String queryInput) throws ServiceException {
        Page<Right> page = new Page<Right>();
        page.setPageIndex(getPageIndex());
        page.setPageSize(getPageSize());
        rightService.queryRights(page, queryInput);
        model.addAttribute("page", page);
        model.addAttribute("queryInput", queryInput);
        return "authority/right/right-query";
    }
    /**
     * @Title: addRight
     * @Description: TODO addRight
     */
    @RequestMapping("/addRight")
    public String addRight() {
        return null;
    }
    @RequestMapping("/updateRight")
    public String updateRight(Model model, @RequestParam("rightId") Integer rightId) throws ServiceException {
        Right right = rightService.selectById(rightId);
        model.addAttribute("right", right);
        setMessage(model, "只能改变权限名、是否公开");
        return "authority/right/right-update";
    }
    @RequestMapping("/updateRightSubmit")
    public String updateRightSubmit(Model model, Right right) throws ServiceException {
        int row = 0;
        if (right != null) {
            // 更新操作
            row = rightService.updateRight(right);
        }
        // 结果判断
        if (row < 1) {
            setMessage(model, "修改失败!");
        } else {
            setMessage(model, "修改成功!");
        }
        return "forward:queryRights.action";
    }
    /**
     * @Title: scanAddRights
     * @Description: TODO 扫描并添加未被添加的权限
     */
    @RequestMapping("/scanAddRights")
    public String scanAddRights(Model model) throws ServiceException {
        int newRights = 0;
        // 索引当前所有权限url
        List<String> rightUrlList = PrivilegeUtil.detectAllRightURL();
        for (String rightUrl : rightUrlList) {
            // 判断是否存在
            if (rightService.selectByRightUrl(rightUrl) == null) {
                // 生成默认格式right
                Right right = PrivilegeUtil.makeDefaultRight(rightUrl);
                // 持久化right
                if (rightService.saveRight(right) > 0) {
                    newRights++;
                }
            }
        }
        if (newRights > 0) {
            setMessage(model, "新增权限" + newRights + "条权限");
        } else {
            setMessage(model, "没有新增权限");
        }
        return "forward:queryRights.action";
    }
}
/**
 * @Title: RoleController.java
 * @Package com.xzit.uscdl.manage.controller.right
 * @Description: TODO
 * @author znz
 * @date 2021年3月15日 下午7:05:25
 * @version V1.0
 */
package com.xzit.ar.manage.controller.right;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import com.xzit.ar.common.base.BaseController;
import com.xzit.ar.common.exception.ServiceException;
import com.xzit.ar.common.page.Page;
import com.xzit.ar.common.po.role.Right;
import com.xzit.ar.common.po.role.Role;
import com.xzit.ar.common.util.CommonUtil;
import com.xzit.ar.manage.service.right.RightService;
import com.xzit.ar.manage.service.right.RoleService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
/**
 * @author znz
 * @ClassName: RoleController
 * @Description: TODO
 * @date 2021年3月15日 下午7:05:25
 */
@Controller
@RequestMapping("/role")
public class RoleController extends BaseController {
    @Resource
    private RoleService roleService;
    @Resource
    private RightService rightService;
    @RequestMapping("")
    public String index() {
        return "authority/role/role-index";
    }
    @RequestMapping("/queryRole")
    public String queryRole(Model model) throws ServiceException {
        Page<Role> page = new Page<>(getPageIndex(), getPageSize());
        // 传递数据
        model.addAttribute("page", roleService.queryRole(page));
        return "authority/role/role-query";
    }
    @RequestMapping("/edit")
    public String edit(Model model) {
        return "";
    }
    @RequestMapping("/editSubmit")
    public String editSubmit() {
        return "";
    }
    @RequestMapping("/add")
    public String add() {
        return "";
    }
    @RequestMapping("/addSubmit")
    public String addSubmit() {
        return "";
    }
    @RequestMapping("/allot")
    public String allot(Model model, Integer roleId) throws ServiceException {
        // 传递数据
        model.addAttribute("role", roleService.getRoleById(roleId));
        // 所有权限
        model.addAttribute("rightList", rightService.getIsNotPublicRights());
        // 角色已分配的权限
        List<Right> roleRights = roleService.getRightsByRole(roleId);
        List<Integer> rightIds = new ArrayList<>();
        for (Right right : roleRights) {
            rightIds.add(right.getRightId());
        }
        model.addAttribute("roleRights", roleRights);
        model.addAttribute("rightIds", rightIds);
        return "authority/role/role-allot";
    }
    @RequestMapping("/allotSubmit")
    public String allotSubmit(Model model, String rightIds, Integer roleId) throws ServiceException {
        List<Integer> idList = CommonUtil.splitIds(rightIds);
        if (roleService.updateRoleRights(roleId, idList) > 0) {
            setMessage(model, "更新成功");
        } else {
            setMessage(model, "更新失败");
        }
        return "forward:queryRole.action";
    }
}
相关文章
|
6月前
|
前端开发 Java 关系型数据库
基于ssm的考研图书电子商务平台,附源码+数据库+论文
考研图书电子商务平台是一个基于Java的B/S架构系统,适用于Windows环境。该平台设有管理员和用户权限,管理员可管理商品、用户、留言板及订单,用户可管理收货地址、订单、收藏及购买商品。技术框架包括前端Vue+HTML+JavaScript+CSS+LayUI,后端SSM,数据库为MySQL。项目包含17个数据库表,支持Maven构建。提供演示视频和详细文档,支持免费远程调试安装,确保顺利运行。
95 13
基于ssm的考研图书电子商务平台,附源码+数据库+论文
|
6月前
|
Java 关系型数据库 MySQL
weixin050高校体育场管理系统+ssm(文档+源码)_kaic
本文针对高校体育场管理系统的开发与实现进行详细介绍。随着经济快速发展,人们对手机软件需求增加,高校体育场管理系统应运而生。系统采用JAVA技术、Mysql数据库和SSM框架等成熟技术,通过分析功能需求、可行性及性能,设计出包含管理员、用户和学生角色的功能模块。系统实现用户注册登录、信息管理等功能,简化传统手工统计模式,提高管理效率,满足用户对信息获取的及时性与准确性需求。
weixin050高校体育场管理系统+ssm(文档+源码)_kaic
|
5月前
|
小程序 Java 关系型数据库
weixin163基于微信小程序的校园二手交易平台系统设计与开发ssm(文档+源码)_kaic
本文介绍了一款基于微信小程序的校园二手物品交易平台的开发与实现。该平台采用Java语言开发服务端,使用MySQL数据库进行数据存储,前端以微信小程序为载体,支持管理员和学生两种角色操作。管理员可管理用户、商品分类及信息、交易记录等,而学生则能注册登录、发布购买商品、参与交流论坛等。系统设计注重交互性和安全性,通过SSM框架优化开发流程,确保高效稳定运行,满足用户便捷交易的需求,推动校园资源共享与循环利用。
|
6月前
|
小程序 Java 关系型数据库
weixin116大学生就业平台微信小程序+ssm(文档+源码)_kaic
本文介绍了一款大学生就业平台微信小程序的开发过程,涵盖开发环境、系统设计、实现与测试等方面。该小程序基于微信平台特性,采用MYSQL数据库存储数据,确保系统稳定与安全,同时满足学生、企业和管理员不同权限用户的功能需求。通过简化操作流程,实现了招聘信息查看、简历投递等实用功能,旨在为用户提供便捷高效的求职体验,符合“操作简单,功能实用”的设计理念。
|
6月前
|
小程序 Java 关系型数据库
weixin025移动学习平台的设计与实现+ssm(文档+源码)_kaic
基于微信小程序的移动学习平台旨在解决传统APP占用过多手机存储空间的问题,提升用户体验。该平台使用微信开发者工具开发前端,SSM框架和Java语言开发后台,并采用MySQL数据库保存数据。系统支持管理员对教师、课程、学生信息进行管理,教师可查看及审核作业,管理课程资源;学生能提交作业、查看审核结果并收藏或评论课程资源。此平台使用户无需安装独立APP即可访问学习内容,极大提升了便捷性和管理效率。 关键词:基于微信小程序的移动学习平台;微信开发者工具;SSM框架
|
5月前
|
小程序 关系型数据库 Java
weixin168“返家乡”高校暑期社会实践微信小程序设计与开发ssm(文档+源码)_kaic
本文探讨高校暑期社会实践微信小程序的开发与应用,旨在通过信息化手段提升活动管理效率。借助微信小程序技术、SSM框架及MySQL数据库,实现信息共享、流程规范和操作便捷。系统涵盖需求分析、可行性研究、设计实现等环节,确保技术可行、操作简便且经济合理。最终,该小程序可优化活动发布、学生信息管理和心得交流等功能,降低管理成本并提高工作效率。
|
6月前
|
安全 小程序 Java
weixin027校园二手平台的设计与实现+ssm(文档+源码)_kaic
本项目基于微信小程序开发校园二手交易平台,旨在解决大学生闲置物品交易问题。系统采用Java语言和MySQL数据库设计,支持用户浏览、收藏、评价商品及发布闲置物品。管理员可审核商品和用户信息,确保交易安全。系统具备在线搜索功能,方便用户查找商品,并提供实时沟通渠道,增强平台透明度和用户体验。该平台简化了二手交易流程,满足了大学生对便捷、高效交易的需求,具有重要的实际应用价值。
|
6月前
|
前端开发 Java 关系型数据库
基于ssm的社区物业管理系统,附源码+数据库+论文+任务书
社区物业管理系统采用B/S架构,基于Java语言开发,使用MySQL数据库。系统涵盖个人中心、用户管理、楼盘管理、收费管理、停车登记、报修与投诉管理等功能模块,方便管理员及用户操作。前端采用Vue、HTML、JavaScript等技术,后端使用SSM框架。系统支持远程安装调试,确保顺利运行。提供演示视频和详细文档截图,帮助用户快速上手。
218 17
|
6月前
|
前端开发 Java 关系型数据库
基于ssm的培训学校教学管理平台,附源码+数据库+论文
金旗帜文化培训学校网站项目包含管理员、教师和用户三种角色,各角色功能通过用例图展示。技术框架采用Java语言,B/S架构,前端为Vue+HTML+CSS+LayUI,后端为SSM,数据库为MySQL,运行环境为JDK8+Tomcat8.5。项目含12张数据库表,非前后端分离,支持演示视频与截图查看。购买后提供免费安装调试服务,确保顺利运行。
95 14
|
6月前
|
小程序 Java 关系型数据库
weixin049校园外卖平台设计与实现+ssm(文档+源码)_kaic
本文介绍了一款校园外卖平台的设计与实现过程。该平台采用Java的SSM框架进行后台管理开发,使用MySQL作为本地数据库,并通过微信小程序为用户提供便捷的操作界面。系统包括管理员、用户和商家三个角色,功能涵盖个人中心、用户及商家管理、菜品分类与信息管理、订单处理等。管理员可在浏览器上登录管理后台数据,用户与商家则通过微信小程序注册登录,分别实现订餐与菜品管理功能。此平台具备界面清晰、操作简单、功能齐全的特点,有助于提升校园外卖管理的效率与规范性。

热门文章

最新文章