IDEA+Java+SSM+Mysql+Layui实现Web学生成绩管理系统【建议收藏(2)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
img

正文

Java+Springboot+Mybatis+Bootstrap+Maven实现网上商城系统

一、系统介绍

======

1.开发环境


开发工具:IDEA2018.2

JDK版本:jdk1.8

Mysql版本:8.0.13

2.技术选型


后端:Java+Spring+SpringMVC+Mybatis。

前端:Layui+JSP+HTML+CSS。

3.系统功能


登录系统

1.学生

我的成绩:查看个人的成绩。

修改密码:修改系统登录密码。

2.教师

录入成绩:录入和修改学生成绩。

修改密码:修改系统登录密码。

3.管理员

学生管理:对学生信息进行增删改查。

教师管理:对教师信息进行增删改查。

4.数据库


/*

Navicat Premium Data Transfer

Source Server : MySQL

Source Server Type : MySQL

Source Server Version : 80013

Source Host : 127.0.0.1:3306

Source Schema : ssm_score

Target Server Type : MySQL

Target Server Version : 80013

File Encoding : 65001

Date: 01/09/2021 21:45:11

*/

SET NAMES utf8mb4;

SET FOREIGN_KEY_CHECKS = 0;


– Table structure for admin


DROP TABLE IF EXISTS admin;

CREATE TABLE admin (

id int(11) NOT NULL AUTO_INCREMENT,

username varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,

password varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,

PRIMARY KEY (id) USING BTREE

) ENGINE = MyISAM AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;


– Records of admin


INSERT INTO admin VALUES (1, ‘admin’, ‘admin’);


– Table structure for student


DROP TABLE IF EXISTS student;

CREATE TABLE student (

id int(11) NOT NULL AUTO_INCREMENT,

username varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,

password varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,

stuclass varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,

stuname varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,

stuno varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,

score double NULL DEFAULT NULL,

PRIMARY KEY (id) USING BTREE

) ENGINE = MyISAM AUTO_INCREMENT = 22 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;


– Records of student


INSERT INTO student VALUES (8, ‘a’, ‘123456’, ‘1702’, ‘乔乔丫’, ‘1700130222’, 1000);

INSERT INTO student VALUES (9, ‘b’, ‘123456’, ‘1702’, ‘周瑜’, ‘1700130223’, 100);

INSERT INTO student VALUES (10, ‘c’, ‘123456’, ‘1703’, ‘曹操’, ‘1700130224’, 6);

INSERT INTO student VALUES (11, ‘d’, ‘123456’, ‘1704’, ‘小美’, ‘1700130225’, 90);

INSERT INTO student VALUES (12, ‘e’, ‘123456’, ‘1701’, ‘王菲’, ‘1700130226’, 100);

INSERT INTO student VALUES (13, ‘f’, ‘123456’, ‘1703’, ‘周杰伦’, ‘1700130227’, NULL);


– Table structure for teacher


DROP TABLE IF EXISTS teacher;

CREATE TABLE teacher (

id int(11) NOT NULL AUTO_INCREMENT,

username varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,

password varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,

teaname varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,

PRIMARY KEY (id) USING BTREE

) ENGINE = MyISAM AUTO_INCREMENT = 9 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;


– Records of teacher


INSERT INTO teacher VALUES (3, ‘root’, ‘123456’, ‘李老师’);

INSERT INTO teacher VALUES (7, ‘a’, ‘123456’, ‘孟老师’);

INSERT INTO teacher VALUES (5, ‘b’, ‘123456’, ‘赵老师’);

INSERT INTO teacher VALUES (6, ‘c’, ‘123456’, ‘李老师’);

SET FOREIGN_KEY_CHECKS = 1;

5.工程截图


二、系统展示

=======

1.登录系统


2.学生-主页面


3.学生-我的成绩


4.学生-修改密码


5.教师-主页面


6.教师-录入成绩


7.教师-修改密码


8.管理员-主页面


9.管理员-学生管理-增加学生


10.管理员–学生管理-管理学生


11.管理员-老师管理-增加老师


12.管理员-老师管理-管理老师


三、部分代码

======

AdminController


package com.hhtc.controller;

import java.util.List;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.ResponseBody;

import org.springframework.web.servlet.ModelAndView;

import com.hhtc.po.Page;

import com.hhtc.po.Student;

import com.hhtc.po.Teacher;

import com.hhtc.service.AdminService;

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

@Controller

public class AdminController {

@Autowired

private AdminService adminService;

@RequestMapping(“/welcome”)

public ModelAndView welcome(Model model) {

ModelAndView mav = new ModelAndView(“admin/welcome”);

return mav;

}

//学生

//学生数据分页

@RequestMapping(value = “/liststudent”,method = {RequestMethod.POST, RequestMethod.GET},produces =“application/json;charset=UTF-8”)

@ResponseBody

public String liststudent(Page page) {

List list=adminService.stumanage();

page.caculatestart();

List list2=adminService.liststudent(page);

JSONObject jsonobj=new JSONObject();

jsonobj.put(“code”, 0);

jsonobj.put(“msg”, “成功”);

jsonobj.put(“count”,list.size());

JSONArray jsonobj2=new JSONArray();

JSONObject jsonobj3=new JSONObject();

for(Student student:list2) {

jsonobj3.put(“id”,student.getId());

jsonobj3.put(“username”,student.getUsername());

jsonobj3.put(“password”,student.getPassword());

jsonobj3.put(“stuclass”,student.getStuclass());

jsonobj3.put(“stuname”,student.getStuname());

jsonobj3.put(“stuno”,student.getStuno());

jsonobj2.add(jsonobj3);

}

jsonobj.put(“data”, jsonobj2);

return jsonobj.toString();

}

@RequestMapping(“/addstudent”)

public ModelAndView addstu(Student student,Model model) {

adminService.addStudent(student);

ModelAndView mav = new ModelAndView(“admin/stumanage”);

return mav;

}

@RequestMapping(“/delstu”)

public ModelAndView delstu(String id,Model model) {

adminService.delstudnet(id);

ModelAndView mav = new ModelAndView(“admin/stumanage”);

return mav;

}

@RequestMapping(“/updatestu”)

public ModelAndView updatestu(String id,Student student,Model model) {

student.setId(Integer.parseInt(id));

adminService.updatestu(student);

ModelAndView mav = new ModelAndView(“admin/stumanage”);

return mav;

}

@RequestMapping(value = “/mohuname”,method = {RequestMethod.POST, RequestMethod.GET},produces =“application/json;charset=UTF-8”)

@ResponseBody

public String mohuname(HttpSession session) {

@SuppressWarnings(“unchecked”)

List list=(List) session.getAttribute(“list”);

JSONObject jsonobj=new JSONObject();

jsonobj.put(“code”, 0);

jsonobj.put(“msg”, “成功”);

jsonobj.put(“count”,list.size());

JSONArray jsonobj2=new JSONArray();

JSONObject jsonobj3=new JSONObject();

for(Student student:list) {

jsonobj3.put(“id”,student.getId());

jsonobj3.put(“username”,student.getUsername());

jsonobj3.put(“password”,student.getPassword());

jsonobj3.put(“stuclass”,student.getStuclass());

jsonobj3.put(“stuname”,student.getStuname());

jsonobj3.put(“stuno”,student.getStuno());

jsonobj2.add(jsonobj3);

}

jsonobj.put(“data”, jsonobj2);

return jsonobj.toString();

}

//老师

@RequestMapping(“/addtea”)

public ModelAndView addteacher(Teacher teacher,Model model) {

adminService.addteacher(teacher);

ModelAndView mav = new ModelAndView(“admin/teamanage”);

return mav;

}

@RequestMapping(value = “/teamanage”,method = {RequestMethod.POST, RequestMethod.GET},produces =“application/json;charset=UTF-8”)

@ResponseBody

public String teamanage(Model model) {

List list=adminService.teamanage();

JSONObject jsonobj=new JSONObject();

jsonobj.put(“code”, 0);

jsonobj.put(“msg”, “成功”);

jsonobj.put(“count”,list.size());

JSONArray jsonobj2=new JSONArray();

JSONObject jsonobj3=new JSONObject();

for(Teacher teacher:list) {

jsonobj3.put(“id”,teacher.getId());

jsonobj3.put(“username”,teacher.getUsername());

jsonobj3.put(“password”,teacher.getPassword());

jsonobj3.put(“teaname”,teacher.getTeaname());

jsonobj2.add(jsonobj3);

}

jsonobj.put(“data”, jsonobj2);

return jsonobj.toString();

}

@RequestMapping(“/deltea”)

public ModelAndView deltea(String id,Model model) {

adminService.delteacher(id);

ModelAndView mav = new ModelAndView(“admin/teamanage”);

return mav;

}

@RequestMapping(“/updatetea”)

public ModelAndView updatetea(String id,Teacher teacher,Model model) {

teacher.setId(Integer.parseInt(id));

adminService.updatetea(teacher);

ModelAndView mav = new ModelAndView(“admin/teamanage”);

return mav;

}

@RequestMapping(value = “/mohunametea”,method = {RequestMethod.POST, RequestMethod.GET},produces =“application/json;charset=UTF-8”)

@ResponseBody

public String mohunametea(HttpSession session) {

@SuppressWarnings(“unchecked”)

List list=(List) session.getAttribute(“tealist”);

JSONObject jsonobj=new JSONObject();

jsonobj.put(“code”, 0);

jsonobj.put(“msg”, “成功”);

jsonobj.put(“count”,list.size());

JSONArray jsonobj2=new JSONArray();

JSONObject jsonobj3=new JSONObject();

for(Teacher teacher:list) {

jsonobj3.put(“id”,teacher.getId());

jsonobj3.put(“username”,teacher.getUsername());

jsonobj3.put(“password”,teacher.getPassword());

jsonobj3.put(“teaname”,teacher.getTeaname());

jsonobj2.add(jsonobj3);

}

jsonobj.put(“data”, jsonobj2);

return jsonobj.toString();

}

}

HrefController


package com.hhtc.controller;

import java.util.List;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.servlet.ModelAndView;

import com.hhtc.po.Student;

import com.hhtc.po.Teacher;

import com.hhtc.service.AdminService;

@Controller

public class HrefController {

@Autowired

private AdminService adminService;

@RequestMapping(“/index”)

public ModelAndView index(Model model) {

ModelAndView mav = new ModelAndView(“index”);

return mav;

}

//学生

@RequestMapping(“/hrefaddstu”)

public ModelAndView addstu(Model model) {

ModelAndView mav = new ModelAndView(“admin/addstu”);

return mav;

}

@RequestMapping(“/hrefmohuname”)

public ModelAndView hrefmohuname(String stuname,Model model,HttpSession session) {

List list=adminService.selectbyname(stuname);

session.setAttribute(“list”, list);

ModelAndView mav = new ModelAndView(“admin/mohuname”);

return mav;

}

@RequestMapping(“/hrefxiustu”)

public String xiustu(String id,Model model) {

Student student=adminService.selectone(id);

model.addAttribute(“student”,student);

return “admin/updatestu”;

}

@RequestMapping(“/hrefstumanage”)

public ModelAndView hrefstumanage(Model model) {

ModelAndView mav = new ModelAndView(“admin/stumanage”);

return mav;

}

//老师

@RequestMapping(“/hrefaddtea”)

public ModelAndView hrefaddtea(Model model) {

ModelAndView mav = new ModelAndView(“admin/addtea”);

return mav;

}

@RequestMapping(“/hrefteamanage”)

public ModelAndView hrefteamanage(Model model) {

ModelAndView mav = new ModelAndView(“admin/teamanage”);

return mav;

}

@RequestMapping(“/hrefmohunametea”)

public ModelAndView hrefmohunametea(String teaname,Model model,HttpSession session) {

List list=adminService.selectbynametea(teaname);

session.setAttribute(“tealist”,list);

ModelAndView mav = new ModelAndView(“admin/mohuname2”);

return mav;

}

@RequestMapping(“/hrefxiutea”)

public String hrefxiutea(String id,Model model) {

Teacher teacher=adminService.selectonetea(id);

model.addAttribute(“teacher”,teacher);

return “admin/updatetea”;

}

}

LoginController


package com.hhtc.controller;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.servlet.ModelAndView;

import com.hhtc.po.Admin;

import com.hhtc.po.Student;

import com.hhtc.po.Teacher;

import com.hhtc.service.LoginService;

@Controller

public class LoginController {

@Autowired

private LoginService loginService;

@RequestMapping(“/login”)

public ModelAndView findCustomerById(String username,String password,String people,Model model,HttpSession session) {

if(“student”.equals(people)) {

Student student=new Student();

student.setUsername(username);

student.setPassword(password);

Student student2=loginService.findStuTeachByUsername(student);

if(student2!=null) {

session.setAttribute(“student”, student2);

ModelAndView mav = new ModelAndView(“/student/indexs”);

return mav;

}else {

ModelAndView mav = new ModelAndView(“error”);

return mav;

}

}else if(“teacher”.equals(people)){

Teacher teacher=new Teacher();

teacher.setUsername(username);

teacher.setPassword(password);

Teacher teacher2=loginService.findTeachByUsername(teacher);

if(teacher2!=null) {

session.setAttribute(“teacher”, teacher2);

ModelAndView mav = new ModelAndView(“/teacher/indext”);

return mav;

}else {

ModelAndView mav = new ModelAndView(“error”);

return mav;

}

}else if(“manage”.equals(people)){

Admin admin =new Admin();

admin.setUsername(username);

admin.setPassword(password);

if(loginService.findAdminById(admin)!=null) {

ModelAndView mav = new ModelAndView(“/admin/index”);

return mav;

}else {

ModelAndView mav = new ModelAndView(“error”);

return mav;

}

}

独家面经总结,超级精彩

本人面试腾讯,阿里,百度等企业总结下来的面试经历,都是真实的,分享给大家!

image

image

image

image

Java面试准备

准确的说这里又分为两部分:

  1. Java刷题
  2. 算法刷题

Java刷题:此份文档详细记录了千道面试题与详解;

image

image

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
delAndView mav = new ModelAndView(“error”);

return mav;

}

}else if(“manage”.equals(people)){

Admin admin =new Admin();

admin.setUsername(username);

admin.setPassword(password);

if(loginService.findAdminById(admin)!=null) {

ModelAndView mav = new ModelAndView(“/admin/index”);

return mav;

}else {

ModelAndView mav = new ModelAndView(“error”);

return mav;

}

}

独家面经总结,超级精彩

本人面试腾讯,阿里,百度等企业总结下来的面试经历,都是真实的,分享给大家!

[外链图片转存中…(img-nIxK6jRA-1713476391108)]

[外链图片转存中…(img-nSVBmQBH-1713476391108)]

[外链图片转存中…(img-Ku2Cd1Yg-1713476391109)]

[外链图片转存中…(img-qlsZqH7D-1713476391109)]

Java面试准备

准确的说这里又分为两部分:

  1. Java刷题
  2. 算法刷题

Java刷题:此份文档详细记录了千道面试题与详解;

[外链图片转存中…(img-K3lV2He1-1713476391109)]

[外链图片转存中…(img-dNoqdXcI-1713476391110)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-hanDzw3k-1713476391110)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值