IDEA+Java+SSM+Mysql+Bootstrap实现Web学生信息管理系统(下)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: IDEA+Java+SSM+Mysql+Bootstrap实现Web学生信息管理系统

StudentController

package com.offcn.controller;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.validation.Valid;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
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.servlet.mvc.support.RedirectAttributes;
import com.offcn.pojo.Classes;
import com.offcn.pojo.CourseExt;
import com.offcn.pojo.Sc;
import com.offcn.pojo.Student;
import com.offcn.service.ClassesService;
import com.offcn.service.StudentService;
@Controller
@RequestMapping("/stu")
public class StudentController {
  @Resource
  StudentService studentService;
  @Resource
  ClassesService classesService;
  @RequestMapping("/list")
  public String getlist(@RequestParam(required=false,defaultValue="1") int pageNO,Model model) {
    int size=3;
      List<Student> slist=studentService.getStudentPager(pageNO, size);
      model.addAttribute("pageNO", pageNO);
      model.addAttribute("size", size);
      model.addAttribute("count", studentService.getCount());
      model.addAttribute("slist", slist);
    return "student/list";
  }
  @RequestMapping("/findByName")
  public String findByName(String name,Model model) {
    int size=10;
      List<Student> slist=studentService.findByName(name);
      model.addAttribute("pageNO", 1);
      model.addAttribute("size", size);
      model.addAttribute("count", studentService.getCount());
      model.addAttribute("slist", slist);
      model.addAttribute("name", name);
    return "student/list";
  }
  @RequestMapping("/findByName2")
  public String findByName2(String id,Model model) {
    int size=10;
    List<Student> slist = new ArrayList<>();
    if(id!=""&&id!=null) {
        slist=studentService.findByName2(Integer.parseInt(id));
    }
      model.addAttribute("pageNO", 1);
      model.addAttribute("size", size);
      model.addAttribute("count", studentService.getCount());
      model.addAttribute("slist", slist);
      model.addAttribute("id", id);
    return "student/list";
  }
  @RequestMapping("/findByName3")
  public String findByName3(String address,Model model) {
    int size=10;
      List<Student> slist=studentService.findByName3(address);
      model.addAttribute("pageNO", 1);
      model.addAttribute("size", size);
      model.addAttribute("count", studentService.getCount());
      model.addAttribute("slist", slist);
      model.addAttribute("address", address);
    return "student/list";
  }
  //重定向一定要写绝对路径eg:redirect:/stu/list
  @RequestMapping("/delete/{id}")
  public String  delete(@PathVariable int id,Model model) {
    studentService.deleteByPrimaryKey(id);
    return "redirect:/stu/list";
  }
  @RequestMapping("/deletes")
  public String  deletes(@RequestParam("id") int[] ids,Model model,RedirectAttributes redirectAttributes) {
    int rows=0;
    rows=studentService.multiDelete(ids);
    if(rows>0){
      redirectAttributes.addFlashAttribute("message", "成功删除!");
    }else{
      redirectAttributes.addFlashAttribute("message", "删除shibai!");
    }
    return "redirect:/stu/list";
  }
  //
  @RequestMapping("/add")
  public String add(Model model) {
    List<Classes> clist=classesService.getAllClasses();
    model.addAttribute("clist", clist);
    model.addAttribute("entity", new Student());
    return "student/add";
  }
  //mm           `
  @RequestMapping("/addSave")
  public String addSave(Model model,@ModelAttribute("entity") @Valid Student entity,BindingResult bindingResult,RedirectAttributes redirectAttributes) {
    if(bindingResult.hasErrors()){
       model.addAttribute("entity", entity);
       List<Classes> clist=classesService.getAllClasses();
       model.addAttribute("clist", clist);
       //redirectAttributes.addFlashAttribute("entity", arg1)
             return "student/add";
       //return "redirect:/add";
    }else{
      List<Classes> clist=classesService.getAllClasses();
      model.addAttribute("clist", clist);
      model.addAttribute("entity", new Student());
      studentService.insert(entity);
      return "redirect:/stu/list";
    }
  }
  //edit/${entity.id}
  @RequestMapping("/edit/{id}")
  public String add(Model model,@PathVariable int id) {
    List<Classes> clist=classesService.getAllClasses();
    model.addAttribute("clist", clist);
    model.addAttribute("entity", studentService.selectByPrimaryKey(id));
    return "student/edit";
  }
  //
  @RequestMapping("/editSave")
  public String editSave(Model model,Student student) {
    studentService.updateByPrimaryKey(student);
    return "redirect:/stu/list";
  }
  @RequestMapping("/getXuXiu")
  public String getXuXiu(Model model,HttpServletRequest req){
    HttpSession session=req.getSession();
    Student student=(Student) session.getAttribute("user");
    List<CourseExt> clist= studentService.getXuxiu(student.getClassid());
    model.addAttribute("colist", clist);
    return "student/colist";
  }
  @RequestMapping(value="/semycou",produces="text/html;charset=utf8")
  @ResponseBody
  public String semycou(@RequestParam("cou") String[] ct,HttpServletRequest req){
    HttpSession session=req.getSession();
    Student student=(Student) session.getAttribute("user");
    List<Sc> sclist=new ArrayList<Sc>();
    for(int i=0;i<ct.length;i++){
      Sc sc=new Sc();
      String cteveryone=ct[i];
      String[] ctarray=cteveryone.split("_");
      sc.setCid(Integer.parseInt(ctarray[0]));
      sc.setTid(Integer.parseInt(ctarray[1]));
      sc.setSid(student.getId());
      sclist.add(sc);
    }
    String msg="";
    try{
      studentService.inserBatch(sclist);
      msg="选课成功!";
    }catch(Exception e){
      msg="选课可能有重复,请审核后重试!";
    }
    return msg;
  }
  @RequestMapping("/getStuCourse")
  public String getStuCourse(Model model,HttpServletRequest req){
    HttpSession session=req.getSession();
    Student student=(Student) session.getAttribute("user");
    List<CourseExt> ctlist=studentService.getMycourses(student.getClassid(), student.getId());
    model.addAttribute("ctlist", ctlist);
    return "student/cslist";
  }
}

TeacherController

package com.offcn.controller;
import java.io.File;
import java.util.List;
import java.util.UUID;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.validation.Valid;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.offcn.pojo.Grade;
import com.offcn.pojo.StudentView;
import com.offcn.pojo.Teacher;
import com.offcn.service.TeacherService;
/**
 * <p>Company: offcn</p>
 * @author zgf
 * @date 2017年5月22日
 * @version 1.0
 */
@Controller
@RequestMapping("/tea")
public class TeacherController {
  @Resource
    TeacherService teacherService;
   /*
     * 学生列表与分页Action
     */
    @RequestMapping("/list")
    public String list(Model model,@RequestParam(required=false,defaultValue="1") int pageNO){
        int size=3;
        model.addAttribute("size",size);
        model.addAttribute("pageNO",pageNO);
        model.addAttribute("count",teacherService.getTeacherCount());
        model.addAttribute("tealist", teacherService.getTeacherPager(pageNO, size));
        return "teacher/list";
     }
    /*
     * 删除单个学生对象Action
     */
    @RequestMapping("/delete/{id}")
    public String delete(Model model,@PathVariable int id,@RequestParam(required=false,defaultValue="1") int pageNO,RedirectAttributes redirectAttributes){
        if(teacherService.delete(id)>0)
        {
            redirectAttributes.addFlashAttribute("message", "删除成功!");
        }else{
            redirectAttributes.addFlashAttribute("message", "删除失败!");
        }
        return "redirect:/tea/list?pageNO="+pageNO;
    }
    /*
     * 删除多个学生对象Action
     */
    @RequestMapping("/deletes")
    public String deletes(Model model,@RequestParam int[] id,@RequestParam(required=false,defaultValue="1") int pageNO,RedirectAttributes redirectAttributes){
        //执行删除
      System.out.println("批量删除"+id.toString());
        int rows=teacherService.deletes(id);
        if(rows>0)
        {
            redirectAttributes.addFlashAttribute("message", "删除"+rows+"行记录成功!");
        }else{
            redirectAttributes.addFlashAttribute("message", "删除失败!");
        }
        return "redirect:/tea/list?pageNO="+pageNO;
    }
    /*
     * 添加
     */
    @RequestMapping("/add")
    public String add(Model model){
        model.addAttribute("entity", new Teacher());
        return "teacher/add";
    }
    /*
     * 添加保存
     */
    @RequestMapping("/addSave")
    public String addSave(Model model,@ModelAttribute("entity") @Valid Teacher entity,BindingResult bindingResult){
        //如果模型中存在错误
        if(bindingResult.hasErrors()){
           model.addAttribute("entity", entity);
             return "teacher/add";
        }else{
          entity.setPassword("aaaaaa");
          teacherService.insert(entity);
             return "redirect:/tea/list";    
        }
    }
    /*
     * 编辑
     */
    @RequestMapping("/edit/{id}")
    public String edit(Model model,@PathVariable int id){
        model.addAttribute("entity", teacherService.getTeacherId(id));
        return "teacher/edit";
    }
    /*
     * 保存
     */
    @RequestMapping("/editSave")
    public String editSave(Model model,@ModelAttribute("entity") @Valid Teacher entity,BindingResult bindingResult){
        //如果模型中存在错误
        if(bindingResult.hasErrors()){
           model.addAttribute("entity", entity);
             return "/teacher/edit";
        }else{
          //entity.setPassword("aaaaaa");
          teacherService.update(entity);
            return "redirect:list";    
        }
    }
   //
    @RequestMapping("getMyStu")
    public String getMyStu(Model model,HttpServletRequest req){
      HttpSession session=req.getSession();
      Teacher teacher=(Teacher) session.getAttribute("user");
        List<StudentView> slist=teacherService.getMystus(teacher.getId());
        model.addAttribute("stulist", slist);
      return "teacher/couOftea/stulist";
    }
    //
    @RequestMapping("setGrades/{sid}/{sname}/{cid}")
    public String setGrades(Model model,@PathVariable int sid,@PathVariable String sname,@PathVariable int cid){
      Grade grade=new Grade();
      grade.setSid(sid);
      grade.setCid(cid);
      model.addAttribute("entity", grade);
      model.addAttribute("sname", sname);
      return "teacher/couOftea/setgrade";
    }
    @RequestMapping("/saveGrade")
    public String setGrades(Model model,Grade entity,HttpServletRequest req,RedirectAttributes redirectAttributes){
      HttpSession session=req.getSession();
      Teacher teacher=(Teacher) session.getAttribute("user");
      entity.setZgrade(entity.getPgrade()+entity.getKgrade());
      entity.setTid(teacher.getId());
      int rows=teacherService.insertGrade(entity);
      if(rows>0){
        redirectAttributes.addFlashAttribute("msg", "录入成功!");
      }else{
        redirectAttributes.addFlashAttribute("msg", "录入失败!");
      }
      return "redirect:getMyStu";
    }
}

UserController

package com.offcn.controller;
import java.util.HashMap;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
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 org.springframework.web.bind.annotation.ResponseBody;
import com.offcn.pojo.Student;
import com.offcn.pojo.Teacher;
import com.offcn.pojo.User;
import com.offcn.service.StudentService;
import com.offcn.service.TeacherService;
import com.offcn.service.UserService;
@Controller
@RequestMapping("/admin")
public class UserController {
  @Resource
  UserService userService;
  @Resource
  StudentService studentService;
  @RequestMapping("/login")
  public String login(User user,Model model,HttpServletRequest req) {
    HttpSession session=req.getSession();
    int usertype=-1;
    if(user!=null){
      usertype=user.getUsertype();
      if(usertype==1){
        //管理员
       User loginuser= userService.userlogin(user);
       if(loginuser!=null){
         session.setAttribute("user", loginuser);
         return "homepage/index";
       }else{
         model.addAttribute("msg", "请输入正确的用户名和密码");
         return "/index";
       }
      }else if(usertype==2){
        //学生
        Student student=new Student();
        student.setLoginname(user.getName());
        student.setPassword(user.getPassword());
        Student loginstu=studentService.stulogin(student);
        if(loginstu!=null){
          session.setAttribute("user", loginstu);
          return "homepage/index";
        }else{
          model.addAttribute("msg", "请输入正确的用户名和密码");
          return "/index";
        }
      }
    }
    return "homepage/index";
  }
  //
//    @RequestMapping("isPassword") 
  @ResponseBody
    @RequestMapping("/isPassword")
  public Object isPassword(@RequestParam(value ="oldpwd") String oldpwd ,@RequestParam(value ="id")Integer id) {
     Map<String,Object> map=new HashMap<String, Object>();
          Student student =  studentService.selectByPrimaryKey(id);
          if(null != student && !student.getPassword().equals(oldpwd)){
              map.put("code", "error");
          }else{
              map.put("code", "success");
          }
    return map;
    }
}


四、其他


1.更多系统


1.更多JavaWeb系统请关注专栏。


https://blog.csdn.net/helongqiang/category_10020130.html

https://blog.csdn.net/helongqiang/category_10020130.html


2.更多JavaSwing系统请关注专栏。


https://blog.csdn.net/helongqiang/category_6229101.html

https://blog.csdn.net/helongqiang/category_6229101.html


2.源码下载

Java+SSM+Boostrap学生信息管理系统


3.运行项目

请点击以下链接,部署你的项目。


IDEA如何导入JavaWeb项目超详细视频教程


4.备注

如有侵权请联系我删除。


5.支持博主

如果您觉得此文对您有帮助,请点赞加关注加收藏。祝您生活愉快!


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
Java
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
本文介绍了如何使用IDEA(IntelliJ IDEA)创建一个新的Java项目,并运行一个简单的Java程序输出"Hello Word"。文章详细展示了创建项目的步骤,包括选择JDK版本、设置项目名称和路径、创建包和类,以及编写和运行代码。最后,还展示了如何通过IDEA的运行功能来执行程序并查看输出结果。
177 4
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
|
2月前
|
关系型数据库 MySQL Java
【MySQL+java+jpa】MySQL数据返回项目的感悟
【MySQL+java+jpa】MySQL数据返回项目的感悟
48 1
|
2月前
|
关系型数据库 MySQL Java
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
97 0
|
11天前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
72 26
|
4月前
|
前端开发 关系型数据库 MySQL
【前端学java】MySQL数据库的本地安装
【8月更文挑战第12天】MySQL数据库的本地安装
49 3
|
14天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
25天前
|
关系型数据库 MySQL Java
MySQL索引优化与Java应用实践
【11月更文挑战第25天】在大数据量和高并发的业务场景下,MySQL数据库的索引优化是提升查询性能的关键。本文将深入探讨MySQL索引的多种类型、优化策略及其在Java应用中的实践,通过历史背景、业务场景、底层原理的介绍,并结合Java示例代码,帮助Java架构师更好地理解并应用这些技术。
25 2
|
1月前
|
监控 前端开发 Java
【技术开发】接口管理平台要用什么技术栈?推荐:Java+Vue3+Docker+MySQL
该文档介绍了基于Java后端和Vue3前端构建的管理系统的技术栈及功能模块,涵盖管理后台的访问、登录、首页概览、API接口管理、接口权限设置、接口监控、计费管理、账号管理、应用管理、数据库配置、站点配置及管理员个人设置等内容,并提供了访问地址及操作指南。
|
2月前
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
141 6
|
2月前
|
关系型数据库 MySQL Java
java协程操作mysql数据库
本文介绍了如何在Java项目中使用虚拟线程和协程操作MySQL数据库,并通过代码示例展示了如何利用CompletableFuture实现非阻塞数据库连接和操作。
33 2
java协程操作mysql数据库
下一篇
DataWorks