基于javaweb+mysql的学生会管理系统(java+SSM+HTML+JavaScript+jsp+mysql)

项目介绍
本项目分为管理员、学生两种角色,
管理员角色包含以下功能:
管理员登陆,管理学生,管理机构,活动信息发布,部门管理,职位申请,我的申请,申请审核等功能。
普通学生角色包含以下功能:
登陆页面,查看各个部门的最新消息,职位申请,查看自己提交的申请等功能。

环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;

技术栈

  1. 后端:Spring+SpringMVC+Mybatis
  2. 前端:HTML+CSS+JavaScript+jsp

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
  2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
  3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
  4. 运行项目,输入localhost:8080/ 登录请添加图片描述
    请添加图片描述
    请添加图片描述
    请添加图片描述
    请添加图片描述
    请添加图片描述

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

    }
    @PostMapping(value="/save")
    public HttpResponse addUser(@RequestBody StuUser stuUser) {
        return HttpResponse.success(iStuUserService.addUser(stuUser));
    }
    @GetMapping(value="/findByName")
    public HttpResponse findByUserName(@RequestParam String name) {
        return HttpResponse.success(iStuUserService.findByName(name));
    }
}
学生信息管理控制层: 
@RestController
@RequestMapping("/stu-info")
public class StuInfoController {
//        Object kaptcha = request.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY);
//        if(kaptcha == null){
//            return HttpResult.error("验证码已失效");
//        }
//        if(!captcha.equals(kaptcha)){
//            return HttpResult.error("验证码不正确");
//        }
//        // 用户信息
//        System.out.println(username+"|"+password+"|"+captcha+" ");
        StuUser user = iStuUserService.findByName(username);
        // 账号不存在、密码错误
        if (user == null) {
            return HttpResponse.error("账号不存在");
//        if(kaptcha == null){
//            return HttpResult.error("验证码已失效");
//        }
//        if(!captcha.equals(kaptcha)){
//            return HttpResult.error("验证码不正确");
//        }
//        // 用户信息
//        System.out.println(username+"|"+password+"|"+captcha+" ");
        StuUser user = iStuUserService.findByName(username);
        // 账号不存在、密码错误
        if (user == null) {
            return HttpResponse.error("账号不存在");
        }
        if (!PasswordUtils.matches(user.getSalt(), password, user.getPassword())) {
            return HttpResponse.error("密码不正确");
    public HttpResponse login(@RequestBody LoginRequest loginRequest, HttpServletRequest request) throws IOException {
        String username = loginRequest.getAccount();
        String password = loginRequest.getPassword();
//        String captcha = loginBean.getCaptcha();
        // 从session中获取之前保存的验证码跟前台传来的验证码进行匹配
//        Object kaptcha = request.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY);
//        if(kaptcha == null){
//            return HttpResult.error("验证码已失效");
//        }
//        if(!captcha.equals(kaptcha)){
//            return HttpResult.error("验证码不正确");
//        }
//        // 用户信息
//        System.out.println(username+"|"+password+"|"+captcha+" ");
        StuUser user = iStuUserService.findByName(username);
        // 账号不存在、密码错误
        if (user == null) {
            return HttpResponse.error("账号不存在");
        }
        if (!PasswordUtils.matches(user.getSalt(), password, user.getPassword())) {
    public HttpResponse addUser(@RequestBody StuUser stuUser) {
        return HttpResponse.success(iStuUserService.addUser(stuUser));
    }
    @GetMapping(value="/findByName")
    public HttpResponse findByUserName(@RequestParam String name) {
        return HttpResponse.success(iStuUserService.findByName(name));
    }
}
学生信息管理控制层: 
@RestController
@RequestMapping("/stu-info")
public class StuInfoController {
    @Autowired
                HttpResponse.error("输入信息类型错误!") : HttpResponse.success(queryStuInfoListResponse);
    }
    /**
     * 添加学生信息
     * */
    @PostMapping("/add")
    public HttpResponse addStudentInfo(@RequestBody StuInfo stuInfo){
        String res = iStuInfoService.addStudentInfo(stuInfo);
        //返回信息的长度大于0,则表示有错误或有提示信息
        return res.length() > 0 ? HttpResponse.error(res) : HttpResponse.success("成功插入一条记录") ;
    }
    /**
     * 编辑学生性别或手机号信息
     * */
    @PostMapping("/edit")
    @PostMapping("/change")
    public HttpResponse changeStudentStatus(@RequestBody StuInfo stuInfo){
        return HttpResponse.success(iStuInfoService.changeStudentStatus(stuInfo));
    }
}
用户管理控制层: 
@RestController
@RequestMapping("/stu-user")
public class StuUserController {
    @Autowired
    private Producer producer;
    @Autowired
    private IStuUserService iStuUserService;
    @Autowired
    private AuthenticationManager authenticationManager;
    private final Logger log = Logger.getLogger(StuUserController.class);
    @GetMapping("/user-list")
    public HttpResponse getUserList(NormalQueryInfo normalQueryInfo){
        return HttpResponse.success(iStuUserService.getUserList(normalQueryInfo));
    }
    @PostMapping("/edit")
    public HttpResponse editUser(@RequestBody StuUser stuUser){
        return HttpResponse.success(iStuUserService.editUser(stuUser));
    }
    /**
     * 登录接口
     */
    @PostMapping(value = "/login")
    public HttpResponse login(@RequestBody LoginRequest loginRequest, HttpServletRequest request) throws IOException {
        String username = loginRequest.getAccount();
        String password = loginRequest.getPassword();
//        String captcha = loginBean.getCaptcha();
        // 从session中获取之前保存的验证码跟前台传来的验证码进行匹配
//        Object kaptcha = request.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY);
//        if(kaptcha == null){
//            return HttpResult.error("验证码已失效");
//        }
//        if(!captcha.equals(kaptcha)){
//            return HttpResult.error("验证码不正确");
//        }
//        // 用户信息
//        System.out.println(username+"|"+password+"|"+captcha+" ");
        StuUser user = iStuUserService.findByName(username);
        // 账号不存在、密码错误
        if (user == null) {
            return HttpResponse.error("账号不存在");
     */
    @PostMapping(value = "/login")
    public HttpResponse login(@RequestBody LoginRequest loginRequest, HttpServletRequest request) throws IOException {
        String username = loginRequest.getAccount();
        String password = loginRequest.getPassword();
//        String captcha = loginBean.getCaptcha();
        // 从session中获取之前保存的验证码跟前台传来的验证码进行匹配
//        Object kaptcha = request.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY);
//        if(kaptcha == null){
//            return HttpResult.error("验证码已失效");
//        }
//        if(!captcha.equals(kaptcha)){
//            return HttpResult.error("验证码不正确");
//        }
//        // 用户信息
//        System.out.println(username+"|"+password+"|"+captcha+" ");
        StuUser user = iStuUserService.findByName(username);
//        System.out.println(username+"|"+password+"|"+captcha+" ");
        StuUser user = iStuUserService.findByName(username);
        // 账号不存在、密码错误
        if (user == null) {
            return HttpResponse.error("账号不存在");
        }
        if (!PasswordUtils.matches(user.getSalt(), password, user.getPassword())) {
            return HttpResponse.error("密码不正确");
        }
        JwtAuthenticatioToken token = SecurityUtils.login(request, username, password, authenticationManager);
        log.info("user:"+token.getName()+"login Success! [In "+token.getDetails().toString()+"]");
        return HttpResponse.success(new LoginResponse(token.getName(),token.getToken(),"OK!"));
    }
        return HttpResponse.success(iStuUserService.editUser(stuUser));
    }
    @DeleteMapping("/del")
    public HttpResponse delUser(@RequestBody StuUser stuUser){
        return HttpResponse.success(iStuUserService.deleteUser(stuUser));
    }
    /**
     * 验证码
     */
    @GetMapping("/captcha.jpg")
    public void captcha(HttpServletResponse response, HttpServletRequest request) throws IOException {
        response.setHeader("Cache-Control", "no-store, no-cache");
        response.setContentType("image/jpeg");
        // 生成文字验证码
        String text = producer.createText();
        // 生成图片验证码
        BufferedImage image = producer.createImage(text);
        // 保存到验证码到 session
        request.getSession().setAttribute(Constants.KAPTCHA_SESSION_KEY, text);
        ServletOutputStream out = response.getOutputStream();
        ImageIO.write(image, "jpg", out);
@RequestMapping("/stu-user")
public class StuUserController {
    @Autowired
    private Producer producer;
    @Autowired
    private IStuUserService iStuUserService;
    @Autowired
    private AuthenticationManager authenticationManager;
    private final Logger log = Logger.getLogger(StuUserController.class);
    @GetMapping("/user-list")
    public HttpResponse getUserList(NormalQueryInfo normalQueryInfo){
        return HttpResponse.success(iStuUserService.getUserList(normalQueryInfo));
    }
    @PostMapping("/edit")
    public HttpResponse editUser(@RequestBody StuUser stuUser){
        return HttpResponse.success(iStuUserService.editUser(stuUser));
    }
    @DeleteMapping("/del")
    public HttpResponse delUser(@RequestBody StuUser stuUser){
        return HttpResponse.success(iStuUserService.deleteUser(stuUser));
    }
    /**

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值