当前位置:实例文章 » JAVA Web实例» [文章]java项目之班级同学录网站(ssm+mysql+jsp)

java项目之班级同学录网站(ssm+mysql+jsp)

发布人:shili8 发布时间:2025-02-03 07:08 阅读次数:0

**Java项目之班级同学录网站 (SSM + MySQL + JSP)****项目背景**

在学校里,班级同学录是每个学生都非常重要的工具。它可以帮助我们记住同学们的信息、联系方式等。然而,传统的纸质同学录容易丢失或损坏,而电子版同学录则可以解决这些问题。

本项目旨在开发一个简单易用的班级同学录网站,使用SSM(Spring + Spring MVC + MyBatis)框架和MySQL数据库,前端使用JSP页面。该网站将提供基本的功能,如添加、删除、修改学生信息等。

**技术选型**

* **后端框架:** Spring* **Web框架:** Spring MVC* **持久层框架:** MyBatis* **数据库管理系统:** MySQL* **前端页面:** JSP###1.项目结构

markdowncom└── zhang └── studentrecord ├── StudentRecordApplication.java ├── config │ └── MyBatisConfig.xml ├── controller │ └── StudentController.java ├── entity │ └── Student.java ├── mapper │ └── StudentMapper.xml ├── service │ └── StudentService.java └── webapp ├── WEB-INF │ └── web.xml └── index.jsp


###2.配置文件#### **MyBatisConfig.xml**

xml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config3.0//EN"
 " /><configuration>
 <settings>
 <setting name="cacheEnabled" value="true"/>
 </settings>
 <typeAliases>
 <typeAlias type="com.zhang.studentrecord.entity.Student" alias="Student"/>
 </typeAliases>
</configuration>


#### **web.xml**

xml<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi=" /> xsi:schemaLocation="  /> version="2.5" xmlns=" /> <context-param>
 <param-name>contextConfigLocation</param-name>
 <param-value>classpath:applicationContext.xml</param-value>
 </context-param>

 <listener>
 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>

 <servlet>
 <servlet-name>dispatcherServlet</servlet-name>
 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 <init-param>
 <param-name>contextConfigLocation</param-name>
 <param-value>classpath:applicationContext.xml</param-value>
 </init-param>
 </servlet>

 <servlet-mapping>
 <servlet-name>dispatcherServlet</servlet-name>
 <url-pattern>/</url-pattern>
 </servlet-mapping>
</web-app>


###3.实体类#### **Student.java**

javapackage com.zhang.studentrecord.entity;

public class Student {
 private Integer id;
 private String name;
 private String sex;
 private String birthday;
 private String address;

 public Integer getId() {
 return id;
 }

 public void setId(Integer id) {
 this.id = id;
 }

 public String getName() {
 return name;
 }

 public void setName(String name) {
 this.name = name;
 }

 public String getSex() {
 return sex;
 }

 public void setSex(String sex) {
 this.sex = sex;
 }

 public String getBirthday() {
 return birthday;
 }

 public void setBirthday(String birthday) {
 this.birthday = birthday;
 }

 public String getAddress() {
 return address;
 }

 public void setAddress(String address) {
 this.address = address;
 }
}


###4.持久层#### **StudentMapper.xml**

xml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper3.0//EN"
 " /><mapper namespace="com.zhang.studentrecord.mapper.StudentMapper">

 <select id="selectAll" resultType="Student">
 SELECT * FROM student </select>

 <insert id="addStudent" parameterType="Student">
 INSERT INTO student (name, sex, birthday, address)
 VALUES (#{name}, #{sex}, #{birthday}, #{address})
 </insert>

 <delete id="deleteStudent" parameterType="Integer">
 DELETE FROM student WHERE id = #{id}
 </delete>

 <update id="updateStudent" parameterType="Student">
 UPDATE student SET name = #{name}, sex = #{sex}, birthday = #{birthday}, address = #{address} WHERE id = #{id}
 </update>
</mapper>


###5.业务逻辑层#### **StudentService.java**

javapackage com.zhang.studentrecord.service;

import com.zhang.studentrecord.entity.Student;
import com.zhang.studentrecord.mapper.StudentMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Servicepublic class StudentService {
 @Autowired private StudentMapper studentMapper;

 public List getAllStudents() {
 return studentMapper.selectAll();
 }

 public void addStudent(Student student) {
 studentMapper.addStudent(student);
 }

 public void deleteStudent(Integer id) {
 studentMapper.deleteStudent(id);
 }

 public void updateStudent(Student student) {
 studentMapper.updateStudent(student);
 }
}


###6.控制器#### **StudentController.java**

javapackage com.zhang.studentrecord.controller;

import com.zhang.studentrecord.entity.Student;
import com.zhang.studentrecord.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller@RequestMapping("/student")
public class StudentController {
 @Autowired private StudentService studentService;

 @GetMapping("/list")
 public String list(ModelMap model) {
 List students = studentService.getAllStudents();
 model.addAttribute("students", students);
 return "list";
 }

 @PostMapping("/add")
 public String add(Student student) {
 studentService.addStudent(student);
 return "redirect:/student/list";
 }

 @GetMapping("/delete")
 public String delete(@RequestParam Integer id) {
 studentService.deleteStudent(id);
 return "redirect:/student/list";
 }

 @GetMapping("/update")
 public String update(ModelMap model, @RequestParam Integer id) {
 Student student = studentService.getAllStudents().stream()
 .filter(s -> s.getId().equals(id))
 .findFirst()
 .orElse(null);
 if (student != null) {
 model.addAttribute("student", student);
 }
 return "update";
 }

 @PostMapping("/update")
 public String update(Student student) {
 studentService.updateStudent(student);
 return "redirect:/student/list";
 }
}


###7.前端页面#### **index.jsp**

jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
 <title>班级同学录</title>
</head>
<body>
 <h1>班级同学录</h1>
 <a href="${pageContext.request.contextPath}/student/list">查看所有学生信息</a><br/>
 <a href="${pageContext.request.contextPath}/student/add">添加新学生信息</a><br/>
 <a href="${pageContext.request.contextPath}/student/delete?id=1">删除学生信息</a><br/>
 <a href="${pageContext.request.contextPath}/student/update?id=2">修改学生信息</a>
</body>
</html>


#### **list.jsp**

jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
 <title>班级同学录</title>
</head>
<body>
 <h1>班级同学录</h1>
 <table border="1">
 <tr>
 <th>ID</th>
 <th>姓名</th>
 <th>性别</th>
 <th>出生日期</th>
 <th>地址</th>
 </tr>
 <c:forEach items="${students}" var="student">
 <tr>
 <td>${student.id}</td>
 <td>${student.name}</td>
 <td>${student.sex}</td>
 <td>${student.birthday}</td>
 <td>${student.address}</td>
 </tr

其他信息

其他资源

Top