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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 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.支持博主

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


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
存储 Java 关系型数据库
java调用mysql存储过程
在 Java 中调用 MySQL 存储过程主要借助 JDBC(Java Database Connectivity)。其核心原理是通过 JDBC 与 MySQL 建立连接,调用存储过程并处理结果。具体步骤包括:加载 JDBC 驱动、建立数据库连接、创建 CallableStatement 对象、设置存储过程参数并执行调用。此过程实现了 Java 程序与 MySQL 数据库的高效交互。
|
8月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
375 13
|
12月前
|
IDE Java 开发工具
【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
IntelliJ IDEA创建Java项目的图文详细步骤,手把手带你创建Java项目
1971 10
【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
|
10月前
|
人工智能 Java 关系型数据库
Java的时间处理与Mysql的时间查询
本文总结了Java中时间与日历的常用操作,包括时间的转换、格式化、日期加减及比较,并介绍了MySQL中按天、周、月、季度和年进行时间范围查询的方法,适用于日常开发中的时间处理需求。
185 0
|
IDE Java 开发工具
JetBrains IntelliJ IDEA 2025.1 发布 - 领先的 Java 和 Kotlin IDE
JetBrains IntelliJ IDEA 2025.1 (macOS, Linux, Windows) - 领先的 Java 和 Kotlin IDE
827 2
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
522 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
949 26
|
自然语言处理 Java 关系型数据库
Java mysql根据很长的富文本如何自动获取简介
通过使用Jsoup解析富文本并提取纯文本,然后根据需要生成简介,可以有效地处理和展示长文本内容。该方法简单高效,适用于各种应用场景。希望本文对您在Java中处理富文本并生成简介的需求提供实用的指导和帮助。
294 9
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
619 1