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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 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
相关文章
|
1月前
|
前端开发 关系型数据库 MySQL
【前端学java】MySQL数据库的本地安装
【8月更文挑战第12天】MySQL数据库的本地安装
36 3
|
6天前
|
存储 关系型数据库 MySQL
【Java面试题汇总】MySQL数据库篇(2023版)
聚簇索引和非聚簇索引、索引的底层数据结构、B树和B+树、MySQL为什么不用红黑树而用B+树、数据库引擎有哪些、InnoDB的MVCC、乐观锁和悲观锁、ACID、事务隔离级别、MySQL主从同步、MySQL调优
【Java面试题汇总】MySQL数据库篇(2023版)
|
19天前
|
自然语言处理 算法 Java
Java如何判断两句话的相似度类型MySQL的match
【9月更文挑战第1天】Java如何判断两句话的相似度类型MySQL的match
18 2
|
1月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
47 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
1月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
57 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
22天前
|
安全 Java 关系型数据库
Java连接Mysql SSL初始化失败
Java连接Mysql SSL初始化失败
|
27天前
|
关系型数据库 MySQL Linux
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
|
1月前
|
存储 SQL 关系型数据库
深入MySQL锁机制:原理、死锁解决及Java防范技巧
深入MySQL锁机制:原理、死锁解决及Java防范技巧
|
1月前
|
缓存 NoSQL Redis
一天五道Java面试题----第九天(简述MySQL中索引类型对数据库的性能的影响--------->缓存雪崩、缓存穿透、缓存击穿)
这篇文章是关于Java面试中可能会遇到的五个问题,包括MySQL索引类型及其对数据库性能的影响、Redis的RDB和AOF持久化机制、Redis的过期键删除策略、Redis的单线程模型为何高效,以及缓存雪崩、缓存穿透和缓存击穿的概念及其解决方案。
|
1月前
|
算法 关系型数据库 MySQL
一天五道Java面试题----第七天(mysql索引结构,各自的优劣--------->事务的基本特性和隔离级别)
这篇文章是关于MySQL的面试题总结,包括索引结构的优劣、索引设计原则、MySQL锁的类型、执行计划的解读以及事务的基本特性和隔离级别。