基于ssm框架的Java Web 学生成绩/信息管理系统

基于ssm框架的Java Web 学生成绩/信息管理系统

[img

学生成绩管理系统/学生信息管理系统

基于ssm框架开发的,使用Eclipse,连接MySQL数据库,存储学生的身份信息、成绩、课程信息,管理员的身份信息。

部分效果图在最下面。

一、数据库环境搭建

创建user表

CREATE TABLE `user` (  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,  `password` varchar(20) DEFAULT NULL,  PRIMARY KEY (`name`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8;

创建student表

CREATE TABLE `student` (  `studentId` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,  `studentName` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,  `studentSex` varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,  `studentAge` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '',  `studentBifthday` date DEFAULT NULL,  `studentDept` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,  `studentMajor` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,  `studentClassId` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,  `studentCellPhone` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,  `studentpad` varchar(20) DEFAULT '123456',  PRIMARY KEY (`studentId`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8;

创建score表

CREATE TABLE `score` (  `id` int NOT NULL AUTO_INCREMENT,  `studentId` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '学号',  `courseId` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '课程号',  `score` varchar(20) NOT NULL COMMENT '成绩',  PRIMARY KEY (`id`,`studentId`,`courseId`) USING BTREE) ENGINE=InnoDB AUTO_INCREMENT=173 DEFAULT CHARSET=utf8;

创建course表

CREATE TABLE `course` (  `id` int NOT NULL AUTO_INCREMENT,  `courseId` varchar(10) NOT NULL COMMENT '课程号',  `courseName` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '课程名',  `schoolYear` varchar(255) NOT NULL COMMENT '学年',  `creditHour` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '学分',  `teacher` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '任课老师',  PRIMARY KEY (`id`,`courseId`,`courseName`) USING BTREE) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8;

二、ssm框架搭建

引入Spring框架所需要的包,Mybatis框架所需要的包,Mybatis与Spring整合的中间包,数据源驱动包,DBCP数据源和连接池需要的包,Spring MVC框架所需要的包。

img

在项目的src目录下创建log4j.properties文件

# Global logging configurationlog4j.rootLogger=ERROR, stdout# MyBatis logging configuration...log4j.logger.com.itheima=DEBUG# Console output...log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

在src目录下创建db.properties 文件。编写数据库相关属性和对应值。

jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/studentinfo?serverTimezone=UTCjdbc.username=rootjdbc.password=123456jdbc.maxTotal=30jdbc.maxIdle=10jdbc.initialSize=5

在src目录下,创建Spring的配置文件applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"    xsi:schemaLocation="http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd        http://www.springframework.org/schema/aop        http://www.springframework.org/schema/aop/spring-aop-4.3.xsd        http://www.springframework.org/schema/tx        http://www.springframework.org/schema/tx/spring-tx-4.3.xsd        http://www.springframework.org/schema/context        http://www.springframework.org/schema/context/spring-context-4.3.xsd        ">    <!-- 读取db.properties文件 -->    <context:property-placeholder location="classpath:db.properties" />    <!-- 配置数据源 -->    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">        <property name="driverClassName" value="${jdbc.driver}" />        <property name="url" value="${jdbc.url}" />        <property name="username" value="${jdbc.username}" />        <property name="password" value="${jdbc.password}" />        <property name="maxTotal" value="${jdbc.maxTotal}" />        <property name="maxIdle" value="${jdbc.maxIdle}" />        <property name="initialSize" value="${jdbc.initialSize}" />    </bean>    <!-- 事物管理器 依赖于数据源 -->    <bean id="transactionManager"        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">        <property name="dataSource" ref="dataSource"></property>    </bean>    <!-- 开启事物注解 -->    <tx:annotation-driven transaction-manager="transactionManager" />    <!-- 配置mybatis工厂 -->    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">        <property name="dataSource" ref="dataSource"></property>        <!-- 指定核心配置文件位置 -->        <property name="configLocation" value="classpath:mybatis-config.xml"></property>    </bean>    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">        <property name="basePackage" value="com.chen.dao"></property>    </bean>    <!-- 扫描Service -->    <context:component-scan base-package="com.chen.service"></context:component-scan></beans>

在src目录下,创建MyBatis的核心配置文件mybatis-config.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>    <!-- 配置别名 -->    <typeAliases>        <package name="com.chen.pojo" />    </typeAliases></configuration>

在src目录下,创建SpringMVC的配置文件springmvc-config.xml,声明中引入spring-context,使用context:component-scan元素指定需要的类包。

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:mvc="http://www.springframework.org/schema/mvc"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"    xsi:schemaLocation="http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd        http://www.springframework.org/schema/mvc        http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd         http://www.springframework.org/schema/context        http://www.springframework.org/schema/context/spring-context-4.3.xsd        ">    <context:component-scan base-package="com.chen.controller">    </context:component-scan>    <mvc:resources location="/js/" mapping="/js/**" />    <mvc:resources location="/css/" mapping="/css/**" />    <mvc:resources location="/fonts/" mapping="/fonts/**" />    <mvc:resources location="/img/" mapping="/img/**" />    <!-- 定义视图解析器 -->    <bean id="viewResolver"        class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <!-- 设置前缀 -->        <property name="prefix" value="/jsp/"></property>        <!-- 设置后缀 -->        <property name="suffix" value=".jsp"></property>    </bean>    <mvc:annotation-driven></mvc:annotation-driven></beans>

修改web.xml,在文件配置SpringMVC前端控制器DispatcherServlet

<!--   配置加载Spring的配置文件  通过监听器实现的--><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><!--   配置springmvc前置核心控制器 -->    <servlet>    <servlet-name>springmvc</servlet-name>    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    <init-param>      <param-name>contextConfigLocation</param-name>      <param-value>classpath:springmvc-config.xml</param-value>    </init-param>  </servlet>  <servlet-mapping>    <servlet-name>springmvc</servlet-name>    <url-pattern>/</url-pattern>  </servlet-mapping>

创建pojo包

在src目录下,创建一个com.chen.pojo包,在该包下创建持久化类User、Student、Score、Course

//User.javapackage com.chen.pojo;public class User {    private String name;    private String password;    public User() {        super();    }    public User(String name, String password) {        super();        this.name = name;        this.password = password;    }    public User(String name) {        super();        this.name = name;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    @Override    public String toString() {        return "User [name=" + name + ", password=" + password + "]";    }}
//Student.javapackage com.chen.pojo;public class Student {   private String studentId;     private String studentName;     private String studentSex;     private String studentAge;     private String studentBifthday;     private String studentDept;     private String studentMajor;     private String studentClassId;     private String studentCellPhone;     private String studentPad;   public Student() {       super();   }   public Student(String studentId, String studentName, String studentSex, String studentAge, String studentBifthday,           String studentDept, String studentMajor, String studentClassId, String studentCellPhone,String studentPad) {       super();       this.studentId = studentId;       this.studentName = studentName;       this.studentSex = studentSex;       this.studentAge = studentAge;       this.studentBifthday = studentBifthday;       this.studentDept = studentDept;       this.studentMajor = studentMajor;       this.studentClassId = studentClassId;       this.studentCellPhone = studentCellPhone;       this.studentPad = studentPad;   }   public String getStudentId() {       return studentId;   }   public void setStudentId(String studentId) {       this.studentId = studentId;   }   public String getStudentName() {       return studentName;   }   public void setStudentName(String studentName) {       this.studentName = studentName;   }   public String getStudentSex() {       return studentSex;   }   public void setStudentSex(String studentSex) {       this.studentSex = studentSex;   }   public String getStudentAge() {       return studentAge;   }   public void setStudentAge(String studentAge) {       this.studentAge = studentAge;   }   public String getStudentDept() {       return studentDept;   }   public void setStudentDept(String studentDept) {       this.studentDept = studentDept;   }   public String getStudentMajor() {       return studentMajor;   }   public void setStudentMajor(String studentMajor) {       this.studentMajor = studentMajor;   }   public String getStudentClassId() {       return studentClassId;   }   public void setStudentClassId(String studentClassId) {       this.studentClassId = studentClassId;   }   public String getStudentCellPhone() {       return studentCellPhone;   }   public void setStudentCellPhone(String studentCellPhone) {       this.studentCellPhone = studentCellPhone;   }   public String getStudentBifthday() {       return studentBifthday;   }   public void setStudentBifthday(String studentBifthday) {       this.studentBifthday = studentBifthday;   }   public String getStudentPad() {       return studentPad;   }   public void setStudentPad(String studentPad) {       this.studentPad = studentPad;   }   @Override   public String toString() {       return "Student [studentId=" + studentId + ", studentName=" + studentName + ", studentSex=" + studentSex               + ", studentAge=" + studentAge + ", studentBifthday=" + studentBifthday + ", studentDept=" + studentDept               + ", studentMajor=" + studentMajor + ", studentClassId=" + studentClassId + ", studentCellPhone="               + studentCellPhone + ", studentPad=" + studentPad + "]";   }}
//Score.javapackage com.chen.pojo;public class Score {   private Integer id;   private String studentId;   private String courseId;   private String score;   private Student student;   private Course course;   public Score() {       super();   }   public Score(Integer id,String studentId, String courseId, String score, Student student, Course course) {       super();       this.id = id;       this.studentId = studentId;       this.courseId = courseId;       this.score = score;       this.student = student;       this.course = course;   }   public String getStudentId() {       return studentId;   }   public void setStudentId(String studentId) {       this.studentId = studentId;   }   public String getCourseId() {       return courseId;   }   public void setCourseId(String courseId) {       this.courseId = courseId;   }   public String getScore() {       return score;   }   public void setScore(String score) {       this.score = score;   }   public Student getStudent() {       return student;   }   public void setStudent(Student student) {       this.student = student;   }   public Course getCourse() {       return course;   }   public void setCourse(Course course) {       this.course = course;   }   public Integer getId() {       return id;   }   public void setId(Integer id) {       this.id = id;   }   @Override   public String toString() {       return "Score [id=" + id + ", studentId=" + studentId + ", courseId=" + courseId + ", score=" + score               + ", student=" + student + ", course=" + course + "]";   }           }
//course.javapackage com.chen.pojo;public class Course {   private String id;   private String courseId; //课程号   private String courseName;   //课程名   private String schoolYear;   //学年   private String teacher;   //任课教师   private String creditHour; //学分   public Course() {       super();   }   public Course(String id, String courseId, String courseName, String schoolYear, String teacher, String creditHour) {       super();       this.id = id;       this.courseId = courseId;       this.courseName = courseName;       this.schoolYear = schoolYear;       this.teacher = teacher;       this.creditHour = creditHour;   }   public String getSchoolYear() {       return schoolYear;   }   public void setSchoolYear(String schoolYear) {       this.schoolYear = schoolYear;   }   public String getTeacher() {       return teacher;   }   public void setTeacher(String teacher) {       this.teacher = teacher;   }   public String getCreditHour() {       return creditHour;   }   public void setCreditHour(String creditHour) {       this.creditHour = creditHour;   }   public String getCourseId() {       return courseId;   }   public void setCourseId(String courseId) {       this.courseId = courseId;   }   public String getCourseName() {       return courseName;   }   public void setCourseName(String courseName) {       this.courseName = courseName;   }   public String getId() {       return id;   }   public void setId(String id) {       this.id = id;   }   @Override   public String toString() {       return "Course [id=" + id + ", courseId=" + courseId + ", courseName=" + courseName + ", schoolYear="               + schoolYear + ", teacher=" + teacher + ", creditHour=" + creditHour + "]";   }   }

创建dao层

在src目录下,创建一个com.chen.dao包,并在包中创建如下图的接口和xml文件

img

LoginMapper.java

package com.chen.dao;import com.chen.pojo.Student;import com.chen.pojo.User;public interface LoginMapper {    public User findUserByName(String name);    public Student findUserById(String studentId);}

LoginMapper.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.chen.dao.LoginMapper">    <select id="findUserByName" parameterType="String" resultType="user">        select * from user where name=#{name}    </select>    <select id="findUserById" parameterType="String" resultType="student">        select * from student where studentId=#{studentId}    </select></mapper>

StudentMapper.java

package com.chen.dao;import java.util.HashMap;import java.util.List;import org.apache.ibatis.annotations.Param;import com.chen.pojo.Student;public interface StudentMapper {    //添加学生    public int addStudentInfo(Student student);    //更新学生    public int updateStudentInfo(Student student);    //获取要修改的学生信息    public Student queryStudentById(String id);    //删除学生    public int deleteStudentInfoById(@Param("studentId") String id);    //查询学生    public List<Student> findByPage(HashMap<String,Object> map);    //查询总条数    int selectCount(@Param("studentId")String id);    //重置学生密码    public int restStudent(@Param("studentId")String id);    //更新密码    public int changePwd(@Param("studentId")String studentId, @Param("newPass")String newPass);            }

StudentMapper.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.chen.dao.StudentMapper">    <resultMap id="BaseResultMap"  type="student">        <id column="studentId" property="studentId" jdbcType="VARCHAR" />        <result column="studentName" property="studentName" jdbcType="VARCHAR" />        <result column="studentSex" property="studentSex" jdbcType="VARCHAR" />        <result column="studentAge" property="studentAge" jdbcType="VARCHAR" />        <result column="studentBifthday" property="studentBifthday" jdbcType="VARCHAR" />        <result column="studentDept" property="studentDept" jdbcType="VARCHAR" />        <result column="studentMajor" property="studentMajor" jdbcType="VARCHAR" />        <result column="studentClassId" property="studentClassId" jdbcType="VARCHAR" />        <result column="studentCellPhone" property="studentCellPhone" jdbcType="VARCHAR" />    </resultMap>    <sql id="Base_Column_List">        studentId,studentName,studentSex,studentAge,studentBifthday,studentDept,studentMajor,studentClassId,studentCellPhone    </sql>    <!-- 添加学生信息 -->    <insert id="addStudentInfo" parameterType="student">        INSERT into     student(studentId,studentName,studentSex,studentAge,studentBifthday,studentDept,studentMajor,studentClassId,studentCellPhone)        values (#{studentId}, #{studentName},        #{studentSex},#{studentAge},#{studentBifthday},#{studentDept},#{studentMajor},#{studentClassId},#{studentCellPhone})    </insert>    <!-- 通过学号查询(更新) -->    <select id="queryStudentById" parameterType="String"        resultType="student">        select * from student where studentId=#{id}    </select>    <!-- 更新学生信息 -->    <update id="updateStudentInfo" parameterType="student">        update student        <set>            <if test="studentName!=null and studentName!=''">                studentName=#{studentName},            </if>            <if test="studentSex!=null and studentSex!=''">                studentSex=#{studentSex},            </if>            <if test="studentAge!=null and studentAge!=''">                studentAge=#{studentAge},            </if>            <if test="studentBifthday!=null and studentBifthday!=''">                studentBifthday=#{studentBifthday},            </if>            <if test="studentDept!=null and studentDept!=''">                studentDept=#{studentDept},            </if>            <if test="studentMajor!=null and studentMajor!=''">                studentMajor=#{studentMajor},            </if>            <if test="studentClassId!=null and studentClassId!=''">                studentClassId=#{studentClassId},            </if>            <if test="studentCellPhone!=null and studentCellPhone!=''">                studentCellPhone=#{studentCellPhone},            </if>        </set>        where studentId= #{studentId}    </update>    <!-- 删除学生信息 -->    <delete id="deleteStudentInfoById" parameterType="String">        delete from student where studentId=#{studentId}    </delete>    <!-- 查询学生信息(根据分页数据start 和size查询数据) -->    <select id="findByPage" parameterType="Map" resultMap="BaseResultMap">        select        <include refid="Base_Column_List" />        from student        <where>        <if test="studentId!=null and studentId!='' ">            studentId like "%"#{studentId}"%"        </if>        </where>        <if test="start!=null and size!=null">            limit #{start},#{size}        </if>    </select>    <!-- 查询用户记录总数 -->    <select id="selectCount" parameterType="String" resultType="int">        select count(*) from student         <where>            <if test="studentId!=null and studentId!='' ">                studentId like "%"#{studentId}"%"            </if>        </where>    </select>    <!-- 重置学生密码 -->    <update id="restStudent" parameterType="String">        update student set studentPad = 123456 where studentId = #{studentId}    </update>    <!-- 更新密码 -->    <update id="changePwd" parameterType="String">        update student set studentPad = #{newPass} where studentId = #{studentId}    </update></mapper>

ScoreMapper.java

package com.chen.dao;import java.util.HashMap;import java.util.List;import org.apache.ibatis.annotations.Param;import com.chen.pojo.Score;public interface ScoreMapper {    // 获取要更新成绩的信息    public Score queryScoreById(Score score);    // 查询成绩    List<Score> findByPage(HashMap<String,Object> map);    // 添加成绩    public int addScoreInfo(Score score);    // 更新成绩    public int updateScoreInfo(Score score);    // 删除成绩    public int deleteScoreInfoById(String id);    //获取总条数    public int selectCount(@Param("id")String id);}

ScoreMapper.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.chen.dao.ScoreMapper">    <select id="queryScoreById" parameterType="score" resultType="score">        select * from score where courseId=#{courseId} and studentId=#{studentId}    </select>    <insert id="addScoreInfo" parameterType="score">        INSERT into score(studentId,courseId,score) values (#{studentId}, #{courseId},#{score})    </insert>    <update id="updateScoreInfo" parameterType="score">        update score set score=#{score} where studentId= #{studentId} and courseId= #{courseId}    </update>    <delete id="deleteScoreInfoById" parameterType="String">        delete from score where id=#{id}    </delete>    <select id="findByPage" parameterType="map" resultMap="BaseResultMap">        select * from score        LEFT JOIN student ON student.studentId = score.studentId        LEFT JOIN course ON score.courseId = course.courseId        <where>            <if test="id!=null and id!='' ">                score.studentId like "%"#{id}"%"            </if>        </where>        <if test="start!=null and size!=null">            limit #{start},#{size}        </if>    </select>    <resultMap id="BaseResultMap"  type="score">        <id column="id" property="id"/>        <result column="studentId" property="studentId"/>        <result column="courseId" property="courseId"/>        <result column="score" property="score"  />        <association property="student" javaType="student">            <id column="studentId" property="studentId" jdbcType="VARCHAR" />            <result column="studentName" property="studentName" jdbcType="VARCHAR" />            <result column="studentSex" property="studentSex" jdbcType="VARCHAR" />            <result column="studentAge" property="studentAge" jdbcType="VARCHAR" />            <result column="studentBifthday" property="studentBifthday" jdbcType="VARCHAR" />            <result column="studentDept" property="studentDept" jdbcType="VARCHAR" />            <result column="studentMajor" property="studentMajor" jdbcType="VARCHAR" />            <result column="studentClassId" property="studentClassId" jdbcType="VARCHAR" />            <result column="studentCellPhone" property="studentCellPhone" jdbcType="VARCHAR" />        </association>        <association property="course" javaType="course">            <id column="id" property="id" jdbcType="VARCHAR" />            <result column="courseId" property="courseId" jdbcType="VARCHAR" />            <result column="courseName" property="courseName" jdbcType="VARCHAR" />            <result column="schoolYear" property="schoolYear" jdbcType="VARCHAR" />            <result column="teacher" property="teacher" jdbcType="VARCHAR" />            <result column="creditHour" property="creditHour" jdbcType="VARCHAR" />            </association>    </resultMap>    <!-- 查询课程记录总数 -->    <select id="selectCount" parameterType="String" resultType="int">        <!-- select count(*) from score,student,course where score.courseId=course.courseId and student.studentId = score.studentId -->        select count(*) from score        LEFT JOIN student ON student.studentId = score.studentId        LEFT JOIN course ON score.courseId = course.courseId        <where>            <if test="id!=null and id!=''">                score.studentId like "%"#{id}"%"            </if>        </where>    </select></mapper>

CourseMapper.java

package com.chen.dao;import java.util.HashMap;import java.util.List;import org.apache.ibatis.annotations.Param;import com.chen.pojo.Course;public interface CourseMapper {    //获取要更新课程的信息    public Course queryCourseById(@Param("courseId") String id);    //添加课程    public int addCourseInfo(Course course);    // 更新课程    public int updateCourseInfo(Course course);    // 删除课程    public int deleteCourseInfoById(@Param("courseId")String id);    //查询课程    public List<Course> findByPage(HashMap<String,Object> map);    //查询总条数    public int selectCount(@Param("courseId")String id);    //通过学号查询课程    public List<Course> query(HashMap<String,Object> map);    //查询总条数    public int selectcount(String id);    //查询课程    public Course query1(String id);}

CourseMapper.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.chen.dao.CourseMapper">    <resultMap id="BaseResultMap"  type="course">        <id column="id" property="id" jdbcType="VARCHAR" />        <result column="courseId" property="courseId" jdbcType="VARCHAR" />        <result column="courseName" property="courseName" jdbcType="VARCHAR" />        <result column="schoolYear" property="schoolYear" jdbcType="VARCHAR" />        <result column="teacher" property="teacher" jdbcType="VARCHAR" />        <result column="creditHour" property="creditHour" jdbcType="VARCHAR" />    </resultMap>    <select id="queryCourseById" parameterType="String"        resultType="course">        select * from course where courseId=#{courseId}    </select>    <insert id="addCourseInfo" parameterType="course">        INSERT into course(courseId,courseName,schoolYear,teacher,creditHour) values (#{courseId}, #{courseName},#{schoolYear},#{teacher},#{creditHour})    </insert>    <update id="updateCourseInfo" parameterType="course">        update course set courseName=#{courseName},schoolYear=#{schoolYear},teacher=#{teacher},creditHour=#{creditHour} where courseId= #{courseId}    </update>    <delete id="deleteCourseInfoById" parameterType="String">        delete from course where courseId=#{courseId}    </delete>    <!-- 查询课程信息(根据分页数据start 和size查询数据) -->    <select id="findByPage" parameterType="Map" resultMap="BaseResultMap">        select * from course        <where>        <if test="courseId!=null and courseId!='' ">            courseId like "%"#{courseId}"%"        </if>        </where>        <if test="start!=null and size!=null">            limit #{start},#{size}        </if>    </select>    <!-- 查询课程记录总数 -->    <select id="selectCount" parameterType="String" resultType="int">        select count(*) from course         <where>            <if test="courseId!=null and courseId!='' ">                courseId like "%"#{courseId}"%"            </if>        </where>    </select>    <select id="selectcount" parameterType="String" resultType="int">        select count(*) from course ,score WHERE score.courseId=course.courseId AND score.studentId=#{id}    </select>    <select id="query" parameterType="String" resultType="course">        SELECT             course.courseId,            course.courseName,            course.creditHour,            course.schoolYear,            course.teacher         FROM              score,course         WHERE             score.courseId=course.courseId          AND             score.studentId=#{id}         <if test="start!=null and size!=null">            limit #{start},#{size}        </if>    </select>    <select id="query1" parameterType="String" resultType="Course">        select * from course where courseId=#{id}    </select></mapper>

创建service包

在src目录下,创建一个com.chen.service包,并在包中创建如下图所示接口与实现类。

img

LoginService.java

package com.chen.service;import com.chen.pojo.Student;public interface LoginService {    boolean login(String name,String password);    boolean studentlogin(String name,String password);    public Student queryStudentById(String loginUser);    public int updateStudentPad(String id,String newPad);}

LoginServiceImpl.java

package com.chen.service;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.chen.dao.LoginMapper;import com.chen.dao.StudentMapper;import com.chen.pojo.Student;import com.chen.pojo.User;@Servicepublic class LoginServiceImpl implements LoginService {    @Autowired    private LoginMapper loginMapper;    @Autowired    private StudentMapper studentMapper;    public void setStudentMapper(StudentMapper studentMapper) {        this.studentMapper = studentMapper;    }    public void setUserMapper(LoginMapper loginMapper) {        this.loginMapper = loginMapper;    }    @Override    public boolean login(String name, String password) {        User user = loginMapper.findUserByName(name);        System.out.println(user);        if (user!=null&&user.getPassword().equals(password)){            System.out.println("获取用户名密码成功");            return true;         }        System.out.println("获取用户名密码失败");        return false;    }    @Override    public boolean studentlogin(String name, String password) {        Student student = loginMapper.findUserById(name);        System.out.println(student);        if (student!=null&&student.getStudentPad().equals(password)){            System.out.println("获取用户名密码成功");            return true;         }        System.out.println("获取用户名密码失败");        return false;    }    public Student queryStudentById(String loginUser) {        return  studentMapper.queryStudentById(loginUser);    }     public int updateStudentPad(String id,String newPad) {         return studentMapper.changePwd(id,newPad);     }       }

StudentService.java

package com.chen.service;import com.chen.pojo.Student;import com.chen.untils.PageBean;public interface StudentService {    public int addStudentInfo(Student student);    public int updateStudentInfo(Student student);    public Student queryStudetnById(String id);    public int deleteStudentInfoById(String id);    public PageBean<Student> findByPage(int currentPage ,String id);    public int restStudent(String id);}

StudentServiceImpl.java

package com.chen.service;import java.util.HashMap;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.chen.dao.StudentMapper;import com.chen.pojo.Student;import com.chen.untils.PageBean;@Servicepublic class StudentServiceImpl implements StudentService {    //调用dao层    @Autowired    private StudentMapper studentMapper;    public void setStudentmapper(StudentMapper studentMapper) {        this.studentMapper = studentMapper;    }    //添加学生信息    @Override    public int addStudentInfo(Student student) {        return studentMapper.addStudentInfo(student);    }    //查询要更新的学生信息    @Override    public Student queryStudetnById(String id) {        return studentMapper.queryStudentById(id);    }    //更新学生信息    @Override    public int updateStudentInfo(Student student) {        return studentMapper.updateStudentInfo(student);    }    //删除学生信息    @Override    public int deleteStudentInfoById(String id) {            return studentMapper.deleteStudentInfoById(id);    }    //查询全部学生信息    @Override    public PageBean<Student> findByPage(int currentPage,String id) {        HashMap<String,Object> map = new HashMap<String,Object>();        PageBean<Student> pageBean = new PageBean<Student>();        pageBean.setCurrPage(currentPage);//封装当前页        pageBean.setId(id);        int pageSize=7;//每页显示的数据数        pageBean.setPageSize(pageSize);        //封装总记录数        int totalCount = studentMapper.selectCount(id);        pageBean.setTotalCount(totalCount);        //封装总页数        double tc = totalCount;        Double num =Math.ceil(tc/pageSize); //向上取整        pageBean.setTotalPage(num.intValue());        map.put("start",(currentPage-1)*pageSize);        map.put("size", pageBean.getPageSize());        map.put("studentId",id);        //封装每页显示的数据                List<Student> lists = studentMapper.findByPage(map);        pageBean.setLists(lists);        return pageBean;    }    @Override    public int restStudent(String id) {        return studentMapper.restStudent(id);    }}

ScoreService.java

package com.chen.service;import com.chen.pojo.Score;import com.chen.untils.PageBean;public interface ScoreService {    public Score queryScoreById(Score score);    public PageBean<Score> findByPage(int currentPage,String id);    public int addScoreInfo(Score score);    public int updateScoreInfo(Score score);    public int deleteScoreInfoById(String id);}

ScoreServiceImpl.java

package com.chen.service;import java.util.HashMap;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.chen.dao.ScoreMapper;import com.chen.pojo.Score;import com.chen.untils.PageBean;@Servicepublic class ScoreServiceImpl implements ScoreService {    @Autowired    private ScoreMapper scoreMapper;    public void setScoreMapper(ScoreMapper scoreMapper) {        this.scoreMapper = scoreMapper;    }    //获取要更新成绩的信息    @Override    public Score queryScoreById(Score score) {        return scoreMapper.queryScoreById(score);    }    //添加成绩    @Override    public int addScoreInfo(Score score) {        return scoreMapper.addScoreInfo(score);    }    //更新成绩    @Override    public int updateScoreInfo(Score score) {        return scoreMapper.updateScoreInfo(score);    }    //删除成绩    @Override    public int deleteScoreInfoById(String id) {        return scoreMapper.deleteScoreInfoById(id);    }    //查询成绩信息    @Override    public PageBean<Score> findByPage(int currentPage, String id) {        HashMap<String,Object> map = new HashMap<String,Object>();        PageBean<Score> pageBean = new PageBean<Score>();        pageBean.setId(id);        pageBean.setCurrPage(currentPage);//封装当前页数        int pageSize=7;//每页显示数据数        pageBean.setPageSize(pageSize);        //封装记录总数        int totalCount = scoreMapper.selectCount(id);        pageBean.setTotalCount(totalCount);        //封装总页数        double tc = totalCount;        Double num =Math.ceil(tc/pageSize);//向上取整        pageBean.setTotalPage(num.intValue());        map.put("start",(currentPage-1)*pageSize);        map.put("size", pageBean.getPageSize());        map.put("id",id);        //封装每页显示的数据        List<Score> lists = scoreMapper.findByPage(map);        System.out.println(lists);        pageBean.setLists(lists);        return pageBean;    }}

CourseService.java

package com.chen.service;import org.apache.ibatis.annotations.Param;import com.chen.pojo.Course;import com.chen.untils.PageBean;public interface CourseService {    //获取要修改的课程信息    public Course queryCourseById(String id);    //查询课程    public PageBean<Course> findByPage(int currentPage,String id);    //添加课程    public int addCourseInfo(Course course);    //更新课程    public int updateCourseInfo(Course course);    //删除课程    public int deleteCourseInfoById(@Param("courseId") String id);    public PageBean<Course> query(int currentPage,String id);    public Course query1(String id);}

CourseServiceImpl.java

package com.chen.service;import java.util.HashMap;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import com.chen.dao.CourseMapper;import com.chen.pojo.Course;import com.chen.untils.PageBean;@Servicepublic class CourseServiceImpl implements CourseService {    @Autowired    private CourseMapper courseMapper;    public void setCourseMapper(CourseMapper courseMapper) {        this.courseMapper = courseMapper;    }    //添加课程    @Override    public int addCourseInfo(Course course) {        return courseMapper.addCourseInfo(course);    }    //更新课程    @Override    public int updateCourseInfo(Course course) {        return courseMapper.updateCourseInfo(course);    }    //删除课程    @Override    public int deleteCourseInfoById(String id) {        return courseMapper.deleteCourseInfoById(id);    }    //获取要更新课程的信息    @Override    public Course queryCourseById(String id) {        return courseMapper.queryCourseById(id);    }    //查询课程    @Override    public PageBean<Course> findByPage(int currentPage,String id) {        HashMap<String,Object> map = new HashMap<String,Object>();        PageBean<Course> pageBean = new PageBean<Course>();        pageBean.setId(id);        pageBean.setCurrPage(currentPage);//封装当前页数        int pageSize=7;//每页显示的数据        pageBean.setPageSize(7);        //封装记录总数        int totalCount = courseMapper.selectCount(id);        pageBean.setTotalCount(totalCount);        //封装总页数        double tc = totalCount;        Double num =Math.ceil(tc/pageSize);//向上取整        pageBean.setTotalPage(num.intValue());        map.put("start",(currentPage-1)*pageSize);        map.put("size", pageBean.getPageSize());        map.put("courseId",id);        //封装每页显示的数据        List<Course> lists = courseMapper.findByPage(map);        pageBean.setLists(lists);        return pageBean;    }    @Override    public PageBean<Course> query(int currentPage,String id) {        HashMap<String,Object> map = new HashMap<String,Object>();        PageBean<Course> pageBean = new PageBean<Course>();        pageBean.setId(id);        pageBean.setCurrPage(currentPage);//封装当前页数        int pageSize=7;//每页显示的数据        pageBean.setPageSize(7);        //封装记录总数        int totalCount = courseMapper.selectcount(id);        pageBean.setTotalCount(totalCount);        //封装总页数        double tc = totalCount;        Double num =Math.ceil(tc/pageSize);//向上取整        pageBean.setTotalPage(num.intValue());        map.put("start",(currentPage-1)*pageSize);        map.put("size", pageBean.getPageSize());        map.put("id",id);        //封装每页显示的数据        List<Course> lists = courseMapper.query(map);        pageBean.setLists(lists);        return pageBean;    }    @Override    public Course query1(String id) {        return courseMapper.query1(id);    }}

创建controller包

在src目录下,创建一个com.chen.controller包,在包下创建如下图

img

LoginController.java

package com.chen.controller;import javax.servlet.http.HttpServletRequest;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.chen.pojo.Student;import com.chen.pojo.User;import com.chen.service.LoginService;@Controller@RequestMapping("/login" )public class LoginController {    @Autowired    private LoginService loginService;    @RequestMapping("/1")    public String Login(Model model,User user,HttpServletRequest request,HttpServletResponse response) {            if(user.getName().length()** 10) {            boolean flag = loginService.studentlogin(user.getName(), user.getPassword());            //ModelAndView modelAndView = new ModelAndView();            if (flag) {                HttpSession session = request.getSession();                session.setAttribute("name",user.getName());                session.setMaxInactiveInterval(6000);                //modelAndView.setViewName("main1");                System.out.println("登录成功");                return "main1";            } else {                //modelAndView.setViewName("login");                System.out.println("登录失败");                model.addAttribute("msg","登录失败!");                return "login";            }            //return modelAndView;        }        else  {            boolean flag = loginService.login(user.getName(), user.getPassword());            //ModelAndView modelAndView = new ModelAndView();            if (flag) {                HttpSession session = request.getSession();                session.setAttribute("name",user.getName());                session.setMaxInactiveInterval(6000);                //modelAndView.setViewName("main");                System.out.println("登录成功");                return "main";            } else {                //modelAndView.setViewName("login");                System.out.println("登录失败");                model.addAttribute("msg","登录失败!");                return "login";            }            //return modelAndView;        }    }    @RequestMapping("/userlogin")        public ModelAndView UserLogin(User user ,HttpServletRequest request,HttpServletResponse response) {        boolean flag = loginService.login(user.getName(), user.getPassword());        ModelAndView modelAndView = new ModelAndView();        if (flag) {            HttpSession session = request.getSession();            session.setAttribute("name",user.getName());            session.setMaxInactiveInterval(6000);            modelAndView.setViewName("main");            System.out.println("登录成功");        } else {            modelAndView.setViewName("login");            System.out.println("登录失败");        }        return modelAndView;    }    @RequestMapping("/userexit")    public String UserExit(User user ,HttpServletRequest request,HttpServletResponse response) {        HttpSession session = request.getSession();        session.setAttribute("name",user.getName());        if(user != null){            session.removeAttribute("userName");            request.setAttribute("info",null);        }        return "logoff";    }    @RequestMapping("/updatepad")    public String updatePassword(Model model,HttpServletRequest request) {        HttpSession session = request.getSession();        String loginedUser = (String)session.getAttribute("name");        System.out.println(loginedUser);        String oldPwd = request.getParameter("oldpass");        System.out.println(oldPwd);        String newPwd = request.getParameter("newpass");        System.out.println(newPwd);        Student student = loginService.queryStudentById(loginedUser);        System.out.println(student);        if(student.getStudentPad().equals(oldPwd)) {            int r = loginService.updateStudentPad(student.getStudentId(), newPwd);            if(r > 0) {                model.addAttribute("msg","更新成功!");                System.out.println("更新成功!");            }else {                model.addAttribute("msg","更新失败!");                System.out.println("更新失败2!");            }        }else {            model.addAttribute("msg","密码错误!");            System.out.println("更新失败!");        }        return "updatepad";    }}

StudentController.java

package com.chen.controller;import javax.servlet.http.HttpServletRequest;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.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import com.chen.pojo.Student;import com.chen.service.StudentService;@Controller@RequestMapping("/studentInfo")public class StudentController {    @Autowired    private StudentService studentService;    //查询全部    @RequestMapping("/query")    public String findStudentInfo(Model model,@RequestParam(value="currentPage",defaultValue="1",required=false)int currentPage,String id ) {        model.addAttribute("pagemsg",studentService.findByPage(currentPage, id));        return "studentInfo";    }    //添加学生    @RequestMapping("/addstudent")    public String AddStudentInfo(Student student,Model model) {        Student student1 = studentService.queryStudetnById(student.getStudentId());        if(student1**null) {            int rows = studentService.addStudentInfo(student);            if (rows > 0) {                System.out.println("成功添加" + rows + "条数据!");                model.addAttribute("msg", "添加成功!");            } else {                System.out.println("ִ添加失败");                model.addAttribute("msg", "添加失败!");            }            return "redirect:query";        }        model.addAttribute("msg", "学号重复!");        return "addstudentinfo";    }    //获取要更新的学生信息    @RequestMapping("/update")    public String findStudentInfo(Student student1 , Model model) {        Student student = studentService.queryStudetnById(student1.getStudentId());        System.out.println(student);        model.addAttribute("student", student);        return "updatestudent";    }    //更新学生    @RequestMapping("/updatestudent")    public String UpdateStudentinfo(Student student) {        int rows = studentService.updateStudentInfo(student);        if (rows > 0) {            System.out.println("成功更新" + rows + "条数据!");        } else {            System.out.println("ִ更新失败");        }        return "redirect:query";    }    @RequestMapping("/update2")    public String findStudent(Student student1 , Model model) {        Student student = studentService.queryStudetnById(student1.getStudentId());        System.out.println(student);        model.addAttribute("student", student);        return "updatestudent2";    }    @RequestMapping("/updatestudent2")    public String UpdateStudent(Student student) {        int rows = studentService.updateStudentInfo(student);        if (rows > 0) {            System.out.println("成功更新" + rows + "条数据!");        } else {            System.out.println("ִ更新失败");        }        return "redirect:queryByName";    }    //删除学生    @RequestMapping("/deletestudent")    @ResponseBody    public String DeleteStudent(String id) {        //String studentId = request.getParameter("studentId");        int rows = studentService.deleteStudentInfoById(id);        if (rows > 0) {            System.out.println("成功删除" + rows + "条数据!");            return "OK";        } else {            System.out.println("ִ删除失败");            return "FAIL";        }        //return "redirect:query";    }    //批量删除    @RequestMapping("/delselected")    public String DelSelectedServlet(HttpServletRequest request) {        String[] name = request.getParameterValues("uid");        int rs = 0;        for(int i=0;i<name.length;i++){            rs = rs + studentService.deleteStudentInfoById(name[i]);        }        if (rs > 0) {            System.out.println("成功删除" + rs + "条数据!");        } else {            System.out.println("ִ删除失败");        }            return "redirect:query";    }    //重置学生密码    @RequestMapping("/rest")    @ResponseBody    public String  RestServlet(String id) {        int rows = studentService.restStudent(id);        if (rows > 0) {            System.out.println("成功重置" + rows + "条数据!");            return "OK";        }else{            System.out.println("ִ重置失败");            return "FAIL";        }        //return "redirect:query";    }    //通过学号获取学生信息    @RequestMapping("/queryByName")    public String QueryById(Model model,HttpServletRequest request) {        HttpSession session = request.getSession();        String id = (String)session.getAttribute("name");        System.out.println(id);        model.addAttribute("student",studentService.queryStudetnById( id));        return "user";            }}

ScoreController.java

package com.chen.controller;import javax.servlet.http.HttpServletRequest;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.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import com.chen.pojo.Course;import com.chen.pojo.Score;import com.chen.pojo.Student;import com.chen.service.CourseService;import com.chen.service.ScoreService;import com.chen.service.StudentService;@Controller@RequestMapping("/scoreInfo")public class ScoreController {    @Autowired    private ScoreService scoreService;    @Autowired    private StudentService studentService;    @Autowired    private CourseService courseService;    //查询全部信息    @RequestMapping("/queryScore")    public String findStudentInfo(Model model,@RequestParam(value="currentPage",defaultValue="1",required=false)int currentPage,String id) {        model.addAttribute("pagemsg",scoreService.findByPage(currentPage, id));        return "StudentScores";    }    //添加成绩信息    @RequestMapping("/addscore")    public String AddCourseInfo(Score score,Model model) {        Student student = studentService.queryStudetnById(score.getStudentId());        if(student != null) {            Course course = courseService.query1(score.getCourseId());            if(course**null){                model.addAttribute("msg", "该课程不存在!");                System.out.println("课程不存在");                return "addscoreinfo";            }else {                int rows = scoreService.addScoreInfo(score);                if (rows > 0) {                    System.out.println("成功添加" + rows + "条数据!");                    model.addAttribute("msg","添加成功!");                } else {                    System.out.println("ִ添加失败");                    model.addAttribute("msg","添加失败!");                }                return "redirect:queryScore";            }        }        model.addAttribute("msg", "该学生不存在!");        System.out.println("学生不存在");        return "addscoreinfo";    }    // 更新成绩    @RequestMapping("/updateScore")    public String UpdateCourseInfo(Score score) {        int rows = scoreService.updateScoreInfo(score);        if (rows > 0) {            System.out.println("成功更新" + rows + "条数据!");        } else {            System.out.println("ִ更新失败");        }        return "redirect:queryScore";    }    //获取要修改的成绩    @RequestMapping("/update")    public String findCourse(Score score1, Model model) {        Score score = scoreService.queryScoreById(score1);        System.out.println(score);        model.addAttribute("score", score);        return "updateScore";    }    //删除成绩    @RequestMapping("/deleteScore")    @ResponseBody    public String DeleteCourse(String id) {        int rows = scoreService.deleteScoreInfoById(id);        if (rows > 0) {            System.out.println("成功删除" + rows + "条数据!");            return "OK";        } else {            System.out.println("ִ删除失败");            return "F";        }        //return "redirect:queryScore";    }    //批量删除    @RequestMapping("/delselected")    public String DelCourse(HttpServletRequest request) {        String[] name = request.getParameterValues("uid");        int rs = 0;        for (int i = 0; i < name.length; i++) {            rs = rs + scoreService.deleteScoreInfoById(name[i]);        }        if (rs > 0) {            System.out.println("成功删除" + rs + "条数据!");        } else {            System.out.println("ִ删除失败");        }        return "redirect:queryScore";    }    @RequestMapping("/queryById")    public String QueryById(@RequestParam(value="currentPage",defaultValue="1",required=false)int currentPage,Model model,HttpServletRequest request) {        HttpSession session = request.getSession();        String id = (String)session.getAttribute("name");        System.out.println(id);        model.addAttribute("pagemsg",scoreService.findByPage(currentPage, id));        return "StudentScores2";    }}

CourseController.java

package com.chen.controller;import javax.servlet.http.HttpServletRequest;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.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import com.chen.pojo.Course;import com.chen.service.CourseService;@Controller@RequestMapping("/courseInfo")public class CourseController {    @Autowired    private CourseService courseService;    // 查询全部    @RequestMapping("/queryCourse")    public String findCourseInfo(Model model,@RequestParam(value="currentPage",defaultValue="1",required=false)int currentPage,String id) {        model.addAttribute("pagemsg",courseService.findByPage(currentPage, id));        return "courseInfo";    }    // 添加课程    @RequestMapping("/addCourse")    public String AddCourseInfo(Course course) {        int rows = courseService.addCourseInfo(course);        if (rows > 0) {            System.out.println("成功添加" + rows + "条数据!");        } else {            System.out.println("ִ添加失败");        }        return "redirect:queryCourse";    }    //更新课程    @RequestMapping("/updateCourse")    public String UpdateCourseInfo(Course course) {        int rows = courseService.updateCourseInfo(course);        if (rows > 0) {            System.out.println("成功更新" + rows + "条数据!");        } else {            System.out.println("ִ更新失败");        }        return "redirect:queryCourse";    }    @RequestMapping("/update")    public String findCourse(Course course1, Model model) {        Course course = courseService.queryCourseById(course1.getCourseId());        System.out.println(course);        model.addAttribute("course", course);        return "updateCourse";    }    // 删除课程    @RequestMapping("/deleteCourse")    @ResponseBody    public String DeleteCourse(String id) {        int rows = courseService.deleteCourseInfoById(id);        if (rows > 0) {            System.out.println("成功删除" + rows + "条数据!");            return "OK";        } else {            System.out.println("ִ删除失败");            return "F";        }        //return "redirect:queryCourse";    }    // 批量删除    @RequestMapping("/delselected")    public String DelCourse(HttpServletRequest request) {        String[] name = request.getParameterValues("uid");        int rs = 0;        for (int i = 0; i < name.length; i++) {            rs = rs + courseService.deleteCourseInfoById(name[i]);        }        if (rs > 0) {            System.out.println("成功删除" + rs + "条数据!");        } else {            System.out.println("ִ删除失败");        }        return "redirect:queryCourse";    }    @RequestMapping("/queryById")    public String QueryById(@RequestParam(value="currentPage",defaultValue="1",required=false)int currentPage,Model model,HttpServletRequest request) {        HttpSession session = request.getSession();        String id = (String)session.getAttribute("name");        System.out.println(id);        model.addAttribute("pagemsg",courseService.query(currentPage, id));        return "courseInfo1";    }}

分页

在src目录下创建com.chen.untils包,并创建PageBean类。

package com.chen.untils;import java.util.List;public class PageBean<T> {    private int currPage;//当前页数    private int pageSize;//每页显示的记录数    private int totalCount;//总记录数    private int totalPage;//总页数    private String id;    private List<T> lists;//每页的显示的数据    public PageBean() {        super();    }    public int getCurrPage() {        return currPage;    }    public void setCurrPage(int currPage) {        this.currPage = currPage;    }    public int getPageSize() {        return pageSize;    }    public void setPageSize(int pageSize) {        this.pageSize = pageSize;    }    public int getTotalCount() {        return totalCount;    }    public void setTotalCount(int totalCount) {        this.totalCount = totalCount;    }    public int getTotalPage() {        return totalPage;    }    public void setTotalPage(int totalPage) {        this.totalPage = totalPage;    }    public List<T> getLists() {        return lists;    }    public void setLists(List<T> lists) {        this.lists = lists;    }    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }}

三、前端jsp页面编码

在WebContent目录下,创建名为jsp的文件夹,然后在文件中创建如下页面。

img

登录页面( login.jsp )

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><html><head>    <meta charset="utf-8">    <title>登陆页面</title>    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/stylelogin.css">    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/iconfont.css">     <script language="JavaScript">        window.onload=init;        function init() {            var pop = "${requestScope.msg}";            if(pop != ""){                alert(pop);            }        }    </script></head><body>    <div id="maxbox">        <h3>学生成绩管理系统</h3>        <form action="${pageContext.request.contextPath}/login/1" ,method="post">        <div class="inputbox">            <div class="inputText">                <span class="iconfont icon-mine"></span> <input name="name" type="text"                    placeholder="name" autocomplete="off">            </div>            <div class="inputText">                <span class="iconfont icon-lock"></span> <input name="password" type="password"                    placeholder="Password">            </div>            <input class="inputButton" type="submit" value="LOGIN">        </div>        </form>    </div></body></html>

管理员登录模块

header.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><html><head>    <title>学生成绩管理系统</title>    <link rel="stylesheet" type="text/css"          href="${pageContext.request.contextPath}/css/home_page.css">    <link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script></head><body>    <div class="header">        <div class="header1"><img class="img" src="${pageContext.request.contextPath}/img/top02.png" alt="center"></div>        <div class="header2">学生成绩管理系统</div>        <div class="header3">            <%String name = (String)session.getAttribute("name");out.println(name + " 欢迎你!");%>|            <div class="btn-group">                <button type="button" class="btn btn-default dropdown-toggle btn-xs glyphicon glyphicon-cog" data-toggle="dropdown">                    <span class="caret"> </span>                </button>                <ul class="dropdown-menu pull-right" role="menu">                    <li><a href="" class="glyphicon glyphicon-user">个人中心</a></li>                    <li><a href="${pageContext.request.contextPath}/login/userexit" class="glyphicon glyphicon-off">退出登录</a></li>                </ul>            </div>        </div>    </div>     <div class="nav nav1">        <a href="${pageContext.request.contextPath}/jsp/main.jsp">系统首页</a>        <a href="${pageContext.request.contextPath}/userInfo/query">用户信息</a>        <a href="${pageContext.request.contextPath}/studentInfo/query">学生信息</a>        <a href="${pageContext.request.contextPath}/courseInfo/queryCourse">课程信息</a>        <a href="${pageContext.request.contextPath}/scoreInfo/queryScore"> 成绩信息</a>    </div>    </body>    </html>

footer.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><html><head>    <title>学生信息管理系统</title>    <link rel="stylesheet" type="text/css"          href="${pageContext.request.contextPath}/css/home_page.css"></head><body>    <div class="footer">Copyright © 2020-2021 CTF,All Rights Reserved.</div></body>

管理员登录首页(main.jsp)

<%@ page contentType="text/html;charset=UTF-8" language="java" %><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><html><head>    <title>学生信息管理系统</title>    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/home_page.css"></head><body>    <jsp:include page="header.jsp" />    <div class="d" id="bodyContainer">        <div style="background: #ffffff;margin: 0px 60px 0px 60px;padding: 50px 150px;height: 77%;">            <div>                <img alt="" src="../img/20160526021127672.jpg">            </div>            <div>                <h1>欢迎访问学生成绩管理系统!</h1>            </div>        </div>    </div>    <jsp:include page="footer.jsp" /></body></html>

学生信息页面(studentInfo.jsp)

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><html><head>    <title>学生信息管理</title>    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/studentlinfo.css">    <link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">    <script language="JavaScript">        window.onload=init;        function init() {            var pop = "${requestScope.msg}";            if(pop != ""){                alert(pop);            }        }    </script>    <script language="JavaScript">        function rest(id) {            if(confirm('确定要更新该学生的密码吗?')) {                $.post("<%=basePath%>studentInfo/rest",{"id":id},                function(data){                    if(data **"OK"){                        alert("密码更新成功!");                        window.location.reload();                    }else{                        alert("密码更新失败!");                        window.location.reload();                    }                });            }        }        function deleteStudent(id) {            if(confirm('确定要删除该学生?')) {                $.post("<%=basePath%>studentInfo/deletestudent",{"id":id},                function(data){                    if(data **"OK"){                        alert("删除成功!");                        window.location.reload();                    }else{                        alert("删除失败!");                        window.location.reload();                    }                });            }        }    </script>    <script language="JavaScript">         window.onload = function() {            document.getElementById("delSelected").onclick = function () {                if (confirm("您确定要删除选中信息吗?")) {                    var flag = false;                    //判断是否有选中条目                    var cbs = document.getElementsByName("uid");                    for (var i = 0; i < cbs.length; i++) {                        if (cbs[i].checked) {                            flag = true;                            break;                        }                    }                    if (flag) {                        document.getElementById("form1").submit();                    }                }            }            //获取第一个checkbox            document.getElementById("firstCb").onclick = function () {                //获取下摆你列表中所有cd                var cbs = document.getElementsByName("uid");                //遍历                for (var i = 0; i < cbs.length; i++) {                    //设置cbs[]的check状态 = firstCb.checked                    cbs[i].checked = this.checked;                }            }        }     </script></head><body>    <jsp:include page="header.jsp" />    <div class="con1">        <div class="con2">            <a href="${pageContext.request.contextPath}/jsp/main.jsp" class="jfj">首页></a>            <span class="jfj">学生信息</span><br><br>            <form class="form-inline" role="form" action="${pageContext.request.contextPath}/studentInfo/query">                <div class="form-group qu">                    <input type="text" id="id" name="id" class="form-control" placeholder="请输入要查询的学号" autocomplete="off">                     <input type="submit" class="btn btn-success" value="查询" class="input">                    <a href="${pageContext.request.contextPath}/jsp/addstudentinfo.jsp" class="btn btn-info">添加</a>                     <a href="javascript:void(0);" id="delSelected" class="btn btn-danger">批量删除</a>                </div>            </form>            <form action="${pageContext.request.contextPath}/studentInfo/delselected" id="form1">                <div class="row clearfix">                    <div class="col-md-12 column">                        <table class="table table-bordered table-hover table-striped">                            <thead>                                <tr>                                    <th><input type="checkbox" id="firstCb" name="firstCb"></th>                                    <th>学号</th>                                    <th>姓名</th>                                    <th>年龄</th>                                    <th>性别</th>                                    <th>出生日期</th>                                    <th>院系</th>                                    <th>专业</th>                                    <th>专业班级</th>                                    <th>电话</th>                                    <th>操作</th>                                </tr>                            </thead>                            <tbody>                                <c:forEach var="student" items="${requestScope.pagemsg.lists}">                                    <tr>                                        <td><input type="checkbox" name="uid" id="uid" value="${student.studentId}"></td>                                        <td>${student.studentId}</td>                                        <td>${student.studentName}</td>                                        <td>${student.studentAge}</td>                                        <td>${student.studentSex}</td>                                        <td>${student.studentBifthday}</td>                                        <td>${student.studentDept}</td>                                        <td>${student.studentMajor}</td>                                        <td>${student.studentClassId}</td>                                        <td>${student.studentCellPhone}</td>                                        <td>                                            <a href="${pageContext.request.contextPath}/studentInfo/update?studentId=${student.studentId}" class="btn1 btn-xs glyphicon glyphicon-edit">修改</a>                                            <a href="#" onclick="deleteStudent(${student.studentId})" class="btn2 btn-xs glyphicon glyphicon-trash">删除</a>                                            <a href="#" class="btn3 btn-xs glyphicon glyphicon-repeat" onclick="rest(${student.studentId})">重置密码</a>                                        </td>                                    </tr>                                </c:forEach>                            </tbody>                        </table>                    </div>                </div>            </form>            <table border="0" cellspacing="0" cellpadding="0" width="900px">                <tr>                    <td>                    <span>第${requestScope.pagemsg.currPage }/${requestScope.pagemsg.totalPage}页</span>                     <span>总记录数:${requestScope.pagemsg.totalCount } 每页显示:${requestScope.pagemsg.pageSize}</span>                     <span>                         <c:if test="${requestScope.pagemsg.currPage != 1}">                            <a style="color: black;" href="${pageContext.request.contextPath }/studentInfo/query?currentPage=1&id=${requestScope.pagemsg.id}">[首页]</a>                            <a style="color: black;" href="${pageContext.request.contextPath }/studentInfo/query?currentPage=${requestScope.pagemsg.currPage-1}&id=${requestScope.pagemsg.id}">[上一页]</a>                        </c:if> <c:if test="${requestScope.pagemsg.currPage != requestScope.pagemsg.totalPage}">                            <a style="color: black;" href="${pageContext.request.contextPath }/studentInfo/query?currentPage=${requestScope.pagemsg.currPage+1}&id=${requestScope.pagemsg.id}">[下一页]</a>                            <a style="color: black;" href="${pageContext.request.contextPath }/studentInfo/query?currentPage=${requestScope.pagemsg.totalPage}&id=${requestScope.pagemsg.id}">[尾页]</a>                        </c:if>                    </span>                    </td>                </tr>            </table>        </div>       </div>    <jsp:include page="footer.jsp" /> </body></html>

添加学生页面(addstudentinfo.jsp)

<%@ page contentType="text/html;charset=UTF-8" language="java" %><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><html><head>    <title>添加学生信息</title>    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/studentlinfo.css">    <script language="JavaScript" type="text/javascript">        var first_keywords={};        first_keywords['信息工程学院']=['计算机科学与技术','软件工程','物联网'];        first_keywords['商学院']=['电子商务','财务管理','金融'];        first_keywords['外国语学院']=['日语','韩语','西班牙语'];        first_keywords['土木建筑学院']=['建筑工程','土木工程'];        first_keywords['机电工程学院']=['机电工程','车辆工程'];        first_keywords['艺术设计与传媒学院']=['广告设计','网媒','舞蹈'];        first_keywords['生物与制药学院']=['生物技术','制药工程'];        first_keywords['体育学院']=['休闲体育','体育管理学','体育教育'];        function change() {            var target1 = document.getElementById("studentDept");            var target2 = document.getElementById("studentMajor");            var selected_1 = target1.options[target1.selectedIndex].value;            while (target2.options.length) {                target2.remove(0);            }            var initial_list = first_keywords[selected_1];            if (initial_list) {                for (var i = 0; i < initial_list.length; i++) {                    var item = new Option(initial_list[i], initial_list[i]);                    target2.options.add(item);                }            }        }    </script>    <script language="JavaScript">        window.onload=init;        function init() {            var pop = "${requestScope.msg}";            if(pop != ""){                alert(pop);            }        }    </script>    <style>        input{            border: 0;             outline-color: white;/* 轮廓颜色  */        }    </style></head><body>    <jsp:include page="header.jsp" />    <div class="con1">        <div class="con2">            <a href="${pageContext.request.contextPath}/jsp/main.jsp" class="jfj">首页></a>             <a href="${pageContext.request.contextPath}/studentInfo/query" class="jfj">学生信息></a>             <span class="jfj">添加学生</span>            <h3>添加学生信息</h3>            <form action="${pageContext.request.contextPath}/studentInfo/addstudent" name="addstudent">                <div style="width: 600px; margin: 20px 380px;">                    <div class="row clearfix">                        <div class="col-md-12 column">                            <table class="table table-bordered">                                <tr>                                    <td>学号</td>                                    <td><input type="text" name="studentId" placeholder="*必填:学号10位" autocomplete="off" /></td>                                    <td>姓名</td>                                    <td><input type="text" name="studentName" placeholder="*必填" autocomplete="off" /></td>                                </tr>                                <tr>                                    <td>年龄</td>                                    <td><input type="text" name="studentAge" placeholder="*必填" autocomplete="off" /></td>                                    <td>性别</td>                                    <td>                                        <input type="radio" name="studentSex" value="男" checked /> 男 &nbsp;                                        <input type="radio" name="studentSex" value="女" /> 女                                    </td>                                </tr>                                <tr>                                    <td>出生日期</td>                                    <td><input type="date" name="studentBifthday" placeholder="*必填" autocomplete="off" /></td>                                    <td>院系</td>                                    <td>                                        <select name="studentDept" id="studentDept" onchange="change()" >                                            <option value="------">-------</option>                                            <option value="信息工程学院">信息工程学院</option>                                            <option value="外国语学院">外国语学院</option>                                            <option value="商学院">商学院</option>                                            <option value="土木建筑学院">土木建筑学院</option>                                            <option value="机电工程学院">机电工程学院</option>                                            <option value="艺术设计与传媒学院">艺术设计与传媒学院</option>                                            <option value="生物与制药学院">生物与制药学院</option>                                            <option value="体育学院">体育学院</option>                                        </select>                                    </td>                                </tr>                                <tr>                                    <td>专业</td>                                    <td>                                        <select name="studentMajor" id="studentMajor" >                                            <option value="------">-------</option>                                        </select>                                    </td>                                    <td>班级</td>                                    <td><input type="text" name="studentClassId" placeholder="*必填" autocomplete="off" /></td>                                </tr>                                <tr>                                    <td>电话</td>                                    <td colspan="3"><input type="text" id="studentCellPhone" name="studentCellPhone" placeholder="*必填" autocomplete="off" /></td>                                </tr>                            </table>                        </div>                    </div>                    <div>                        <input type="reset" name="reset" value="重置" class="btn btn-sm btn-info" style="margin: 0 50px 0 150px;">                        <input type="submit" name="update" value="提交" class="btn btn-sm btn-info " style="margin: 0 100px;">                    </div>                </div>            </form>        </div>    </div>    <jsp:include page="footer.jsp" /></body></html>

更新学生信息(updatestudent.jsp)

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><html><head>    <title>更新学生信息</title>    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/studentlinfo.css">    <script language="JavaScript" type="text/javascript">        var first_keywords={};        first_keywords['信息工程学院']=['计算机科学与技术','软件工程','物联网'];        first_keywords['商学院']=['电子商务','财务管理','金融'];        first_keywords['外国语学院']=['日语','韩语','西班牙语'];        first_keywords['土木建筑学院']=['建筑工程','土木工程'];        first_keywords['机电工程学院']=['机电工程','车辆工程'];        first_keywords['艺术设计与传媒学院']=['广告设计','网媒','舞蹈'];        first_keywords['生物与制药学院']=['生物技术','制药工程'];        first_keywords['体育学院']=['休闲体育','体育管理学','体育教育'];        function change() {            var target1 = document.getElementById("studentDept");            var target2 = document.getElementById("studentMajor");            var selected_1 = target1.options[target1.selectedIndex].value;            while (target2.options.length) {                target2.remove(0);            }            var initial_list = first_keywords[selected_1];            if (initial_list) {                for (var i = 0; i < initial_list.length; i++) {                    var item = new Option(initial_list[i], initial_list[i]);                    target2.options.add(item);                }            }        }    </script>      <style type="text/css">          input{              border: 0;               outline-color: white;                         }      </style></head><body>   <jsp:include page="header.jsp" />    <div class="con1">        <div class="con2">            <a href="${pageContext.request.contextPath}/jsp/main.jsp" class="jfj">首页></a>            <a href="${pageContext.request.contextPath}/studentInfo/query" class="jfj">学生信息></a>            <span class="jfj">更新学生信息</span>            <h3>更新学生信息</h3>            <form action="${pageContext.request.contextPath}/studentInfo/updatestudent" name="updatestudent">                <div style="width: 600px; margin: 20px 380px;">                    <div class="row clearfix">                        <div class="col-md-12 column">                            <table class="table table-bordered">                                <tr>                                    <td>学号</td>                                    <td><input type="text" name="studentId" readonly value="${student.studentId}" /></td>                                    <td>姓名</td>                                    <td><input type="text" name="studentName" value="${student.studentName}" /></td>                                </tr>                                <tr>                                    <td>年龄</td>                                    <td><input type="" name="studentAge" value="${student.studentAge}" /></td>                                    <td>性别</td>                                    <td>                                        <input type="radio" name="studentSex" value="男" ${student.studentSex ** '男' ? 'checked':''} /> 男&nbsp;                                         <input type="radio" name="studentSex" value="女" ${student.studentSex ** '女' ? 'checked':''} /> 女                                    </td>                                </tr>                                <tr>                                    <td>出生日期</td>                                    <td><input type="date" name="studentBifthday" value="${student.studentBifthday}" /></td>                                    <td>院系</td>                                    <td>                                        <select name="studentDept" id="studentDept" onchange="change()">                                            <option value="信息工程学院" ${student.studentDept ** '信息工程学院' ? 'selected':''}>信息工程学院</option>                                            <option value="外国语学院" ${student.studentDept ** '外国语学院' ? 'selected':''}>外国语学院</option>                                            <option value="商学院" ${student.studentDept ** '商学院' ? 'selected':''}>商学院</option>                                            <option value="土木建筑学院" ${student.studentDept ** '土木建筑学院' ? 'selected':''}>土木建筑学院</option>                                            <option value="机电工程学院" ${student.studentDept ** '机电工程学院' ? 'selected':''}>机电工程学院</option>                                            <option value="艺术设计与传媒学院" ${student.studentDept ** '艺术设计与传媒学院' ? 'selected':''}>艺术设计与传媒学院</option>                                            <option value="生物与制药学院" ${student.studentDept ** '生物与制药学院' ? 'selected':''}>生物与制药学院</option>                                            <option value="体育学院" ${student.studentDept ** '体育学院' ? 'selected':''}>体育学院</option>                                        </select>                                    </td>                                </tr>                                <tr>                                    <td>专业</td>                                    <td>                                        <select name="studentMajor" id="studentMajor">                                            <option value="软件工程" ${student.studentMajor ** '软件工程' ? 'selected':''}>软件工程</option>                                            <option value="计算机科学与技术" ${student.studentMajor ** '计算机科学与技术' ? 'selected':''}>计算机科学与技术</option>                                            <option value="日语" ${student.studentMajor ** '日语' ? 'selected':''}>日语</option>                                            <option value="电子商务" ${student.studentMajor ** '电子商务' ? 'selected':''}>电子商务</option>                                            <option value="财务管理" ${student.studentMajor ** '财务管理' ? 'selected':''}>财务管理</option>                                            <option value="建筑工程" ${student.studentMajor ** '建筑工程' ? 'selected':''}>建筑工程</option>                                            <option value="机电工程" ${student.studentMajor ** '机电工程' ? 'selected':''}>机电工程</option>                                            <option value="广告设计" ${student.studentMajor ** '广告设计' ? 'selected':''}>广告设计</option>                                            <option value="生物技术" ${student.studentMajor ** '生物技术' ? 'selected':''}>生物技术</option>                                            <option value="休闲体育" ${student.studentMajor ** '休闲体育' ? 'selected':''}>休闲体育</option>                                        </select>                                    </td>                                    <td>班级</td>                                    <td><input type="text" name="studentClassId" value="${student.studentClassId}" /></td>                                </tr>                                <tr>                                    <td>电话</td>                                    <td colspan="3"><input type="text" name="studentCellPhone" value="${student.studentCellPhone}" /></td>                                </tr>                            </table>                            <div>                                <input type="submit" name="update" value="提交" class="btn btn-sm btn-info " style="margin: 0 50px 0 150px;">                                <a href="${pageContext.request.contextPath}/studentInfo/query" class="btn btn-sm btn-info" style="margin-left: 50px">返回</a>                            </div>                        </div>                    </div>                </div>            </form>        </div>    </div>    <jsp:include page="footer.jsp" /> </body></html>

课程信息页面(courseInfo.jsp)

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><html><head>    <title>课程信息管理</title>    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/studentlinfo.css">    <link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">    <script language="JavaScript">        window.onload = function() {            document.getElementById("delSelected").onclick = function () {                if (confirm("您确定要删除选中信息吗?")) {                    var flag = false;                    //判断是否有选中条目                    var cbs = document.getElementsByName("uid");                    for (var i = 0; i < cbs.length; i++) {                        if (cbs[i].checked) {                            flag = true;                            break;                        }                    }                    if (flag) {                        document.getElementById("form1").submit();                    }                }            }            //获取第一个checkbox            document.getElementById("firstCb").onclick = function () {                //获取下摆你列表中所有cd                var cbs = document.getElementsByName("uid");                //遍历                for (var i = 0; i < cbs.length; i++) {                    //设置cbs[]的check状态 = firstCb.checked                    cbs[i].checked = this.checked;                }            }        }         function deleteStudent(id) {            if(confirm('确定要删除该课程?')) {                $.post("<%=basePath%>courseInfo/deleteCourse",{"id":id},                function(data){                    if(data **"OK"){                        alert("删除成功!");                        window.location.reload();                    }else{                        alert("删除失败!");                        window.location.reload();                    }                });            }        }    </script></head><body>    <jsp:include page="header.jsp" />    <div class="con1">                <div class="con2">        <a href="${pageContext.request.contextPath}/jsp/main.jsp" class="jfj">首页></a>        <span class="jfj">课程信息</span><br><br>        <form class="form-inline" role="form" action="${pageContext.request.contextPath}/courseInfo/queryCourse">            <div class="form-group qu">                <input type="text" class="form-control" id="id" name="id" placeholder="请输入要查询的课程号" autocomplete="off">                <input type="submit" class="btn btn-success" value="查询">                 <a href="${pageContext.request.contextPath}/jsp/addCourse.jsp" class="btn btn-info ">添加</a>                <a href="javascript:void(0);" id="delSelected" class="btn btn-danger"> 批量删除</a>            </div>        </form>        <form action="${pageContext.request.contextPath}/courseInfo/delselected" id="form1">            <div class="row clearfix">                <div class="col-md-12 column">                    <table class="table table-bordered table-hover">                        <thead>                            <tr>                                <th><input type="checkbox" id="firstCb" name="firstCb"></th>                                <th>课程号</th>                                <th>课程名</th>                                <th>学年</th>                                <th>任课教师</th>                                <th>学分</th>                                <th>操作</th>                            </tr>                        </thead>                        <tbody>                        <c:forEach var="course" items="${requestScope.pagemsg.lists}">                            <tr>                                <td><input type="checkbox" name="uid" id="uid" value="${course.courseId}"></td>                                <td>${course.courseId }</td>                                <td>${course.courseName }</td>                                <td>${course.schoolYear }</td>                                <td>${course.teacher }</td>                                <td>${course.creditHour }</td>                                <td>                                    <a href="${pageContext.request.contextPath}/courseInfo/update?courseId=${course.courseId}" class="btn1 btn-xs glyphicon glyphicon-edit">修改</a>                                    <a href="#" onclick="deleteStudent(${course.courseId})" class="btn2 btn-xs glyphicon glyphicon-trash">删除</a>                                </td>                            </tr>                        </c:forEach>                        </tbody>                    </table>                </div>            </div>        </form>        <table border="0" cellspacing="0" cellpadding="0" width="900px">            <tr>                <td>                    <span>第${requestScope.pagemsg.currPage }/${requestScope.pagemsg.totalPage}页</span>                     <span>总记录数:${requestScope.pagemsg.totalCount } 每页显示:${requestScope.pagemsg.pageSize}</span>                     <span>                         <c:if test="${requestScope.pagemsg.currPage != 1}">                            <a style="color: black;" href="${pageContext.request.contextPath }/courseInfo/queryCourse?currentPage=1&id=${requestScope.pagemsg.id}">首页</a>                            <a style="color: black;" href="${pageContext.request.contextPath }/courseInfo/queryCourse?currentPage=${requestScope.pagemsg.currPage-1}&id=${requestScope.pagemsg.id}">上一页</a>                        </c:if> <c:if test="${requestScope.pagemsg.currPage != requestScope.pagemsg.totalPage}">                            <a style="color: black;" href="${pageContext.request.contextPath }/courseInfo/queryCourse?currentPage=${requestScope.pagemsg.currPage+1}&id=${requestScope.pagemsg.id}">下一页</a>                            <a style="color: black;" href="${pageContext.request.contextPath }/courseInfo/queryCourse?currentPage=${requestScope.pagemsg.totalPage}&id=${requestScope.pagemsg.id}">尾页</a>                        </c:if>                    </span>                </td>            </tr>        </table>    </div>    </div>    <jsp:include page="footer.jsp" /></body></html>

添加课程页面()

<%@ page contentType="text/html;charset=UTF-8" language="java" %><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><html><head>    <title>添加课程信息</title>    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/studentlinfo.css">    <style>        input{            border: 0;             outline-color: white; /* 轮廓颜色  */        }    </style>    <!-- 禁用自动完成 :autocomplete="off" --></head><body>    <jsp:include page="header.jsp" />    <div class="con1">        <div class="con2">             <a href="${pageContext.request.contextPath}/jsp/main.jsp" class="jfj">首页></a>              <a href="${pageContext.request.contextPath}/courseInfo/queryCourse" class="jfj">课程信息></a>              <span class="jfj">添加课程</span><br><br>            <h3>添加课程信息</h3>            <form action="${pageContext.request.contextPath}/courseInfo/addCourse" name="addstudent">                <div style="width: 500px; margin: 20px 400px;">                    <div class="row clearfix">                        <div class="col-md-12 column">                            <table class="table table-bordered">                                <tr>                                    <td>课程号</td>                                    <td><input type="text" name="courseId" placeholder="*必填" autocomplete="off" /></td>                                </tr>                                <tr>                                    <td>课程名</td>                                    <td><input type="text" name="courseName" placeholder="*必填" autocomplete="off" /></td>                                </tr>                                <tr>                                    <td>学年</td>                                    <td><input type="text" name="schoolYear" placeholder="*必填" autocomplete="off" /></td>                                </tr>                                <tr>                                    <td>任课教师</td>                                    <td><input type="text" name="teacher" placeholder="*必填" autocomplete="off" /></td>                                </tr>                                <tr>                                    <td>学分</td>                                    <td><input type="text" name="creditHour" placeholder="*必填" autocomplete="off" /></td>                                </tr>                            </table>                        </div>                    </div>                    <div>                        <input type="reset" name="reset" value="重置" class="btn btn-sm btn-info" style="margin: 0 50px 0 150px;">                        <input type="submit" name="update" value="提交" class="btn btn-sm btn-info " style="margin: 0 50px;">                    </div>                </div>            </form>        </div>    </div>    <jsp:include page="footer.jsp" /></body></html>

更新课程页面()

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><html><head>    <title>更新课程信息</title>    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/studentlinfo.css"></head><body>       <jsp:include page="header.jsp" />    <div class="con1">        <div class="con2">            <a href="${pageContext.request.contextPath}/jsp/main.jsp" class="jfj">首页></a>             <a href="${pageContext.request.contextPath}/courseInfo/queryCourse" class="jfj">课程信息></a>             <span class="jfj">更新课程</span><br> <br>            <h3>更新课程信息</h3>            <form action="${pageContext.request.contextPath}/courseInfo/updateCourse" name="updatestudent">                <div style="width: 500px; margin: 20px 400px;">                    <div class="row clearfix">                        <div class="col-md-12 column">                            <table class="table table-bordered">                                <tr>                                    <td>课程号</td>                                    <td><input type="text" name="courseId" style="border: 0; outline-color: white;" readonly value="${course.courseId}" /></td>                                </tr>                                <tr>                                    <td>课程名</td>                                    <td><input type="text" name="courseName" style="border: 0; outline-color: white;" value="${course.courseName}" /></td>                                </tr>                                <tr>                                    <td>学年</td>                                    <td><input type="text" name="schoolYear" style="border: 0; outline-color: white;" value="${course.schoolYear}" /></td>                                </tr>                                <tr>                                    <td>任课教师</td>                                    <td><input type="text" name="teacher" style="border: 0; outline-color: white;" value="${course.teacher}" /></td>                                </tr>                                <tr>                                    <td>学分</td>                                    <td><input type="text" name="creditHour" style="border: 0; outline-color: white;" value="${course.creditHour}" /></td>                                </tr>                            </table>                            <div>                                <input type="submit" name="update" value="提交" class="btn btn-sm btn-info " style="margin: 0 50px 0 150px;">                                <a href="${pageContext.request.contextPath}/courseInfo/queryCourse" class="btn btn-sm btn-info" style="margin-left: 50px">返回</a>                            </div>                        </div>                    </div>                </div>            </form>        </div>    </div>    <jsp:include page="footer.jsp" /> </body></html>

成绩信息页面(StudentScores.jsp)

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>  <html><head>    <title>学生成绩管理</title>    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/studentlinfo.css">    <link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">       <script language="JavaScript">        window.onload = function() {            document.getElementById("delSelected").onclick = function () {                if (confirm("您确定要删除选中信息吗?")) {                    var flag = false;                    //判断是否有选中条目                    var cbs = document.getElementsByName("uid");                    for (var i = 0; i < cbs.length; i++) {                        if (cbs[i].checked) {                            flag = true;                            break;                        }                    }                    if (flag) {                        document.getElementById("form1").submit();                    }                }            }            //获取第一个checkbox            document.getElementById("firstCb").onclick = function () {                //获取下摆你列表中所有cd                var cbs = document.getElementsByName("uid");                //遍历                for (var i = 0; i < cbs.length; i++) {                    //设置cbs[]的check状态 = firstCb.checked                    cbs[i].checked = this.checked;                }            }        }        function deleteStudent(id) {            if(confirm('确定要删除该学生的成绩?')) {                $.post("<%=basePath%>scoreInfo/deleteScore",{"id":id},                function(data){                    if(data **"OK"){                        alert("删除成功!");                        window.location.reload();                    }else{                        alert("删除失败!");                        window.location.reload();                    }                });            }        }    </script></head><body>    <jsp:include page="header.jsp" />    <div class="con1">        <div class="con2">            <a href="${pageContext.request.contextPath}/jsp/main.jsp" class="jfj">首页></a>            <span class="jfj">成绩信息</span><br><br>            <form class="form-inline" role="form" action="${pageContext.request.contextPath}/scoreInfo/queryScore">                <div class="form-group qu">                    <input type="text" id="id" name="id" class="form-control" placeholder="请输入要查询的学号" autocomplete="off">                     <input type="submit" class="btn btn-success" value="查询" class="input">                    <a href="${pageContext.request.contextPath}/jsp/addscoreinfo.jsp" class="btn btn-info">添加</a>                     <a href="javascript:void(0);" id="delSelected" class="btn btn-danger"> 批量删除</a>                </div>            </form>            <form action="${pageContext.request.contextPath}/scoreInfo/delselected" id="form1">                <div class="row clearfix">                    <div class="col-md-12 column">                        <table class="table table-hover table-bordered">                            <thead>                                <tr>                                    <th><input type="checkbox" id="firstCb" name="firstCb"></th>                                    <th>学号</th>                                    <th>姓名</th>                                    <th>性别</th>                                    <th>课程名</th>                                    <th>学年</th>                                    <th>任课教师</th>                                    <th>分数</th>                                    <th>操作</th>                                </tr>                            </thead>                            <tbody>                                <c:forEach items="${requestScope.pagemsg.lists}" var="score">                                    <tr>                                        <td><input type="checkbox" name="uid" id="uid" value="${score.id}"></td>                                        <td>${score.studentId }</td>                                        <td>${score.student.studentName }</td>                                        <td>${score.student.studentSex }</td>                                        <td>${score.course.courseName }</td>                                        <td>${score.course.schoolYear }</td>                                        <td>${score.course.teacher }</td>                                        <td>${score.score}</td>                                        <td>                                            <a href="${pageContext.request.contextPath}/scoreInfo/update?studentId=${score.studentId}&courseId=${score.courseId}" class="btn1 btn-xs glyphicon glyphicon-edit">修改</a>                                            <a href="#" onclick="deleteStudent(${score.id})" class="btn2 btn-xs glyphicon glyphicon-trash">删除</a>                                        </td>                                    </tr>                                </c:forEach>                            </tbody>                        </table>                    </div>                </div>            </form>            <table border="0" cellspacing="0" cellpadding="0" width="900px">                <tr>                    <td>                        <span>第${requestScope.pagemsg.currPage }/${requestScope.pagemsg.totalPage}页</span>                        <span>总记录数:${requestScope.pagemsg.totalCount } 每页显示:${requestScope.pagemsg.pageSize} </span>                         <span> <c:if test="${requestScope.pagemsg.currPage != 1}">                                <a style="color: black;" href="${pageContext.request.contextPath }/scoreInfo/queryScore?currentPage=1&id=${requestScope.pagemsg.id}">[首页]</a>                                <a style="color: black;" href="${pageContext.request.contextPath }/scoreInfo/queryScore?currentPage=${requestScope.pagemsg.currPage-1}&id=${requestScope.pagemsg.id}">[上一页]</a>                            </c:if> <c:if test="${requestScope.pagemsg.currPage != requestScope.pagemsg.totalPage}">                                <a style="color: black;" href="${pageContext.request.contextPath }/scoreInfo/queryScore?currentPage=${requestScope.pagemsg.currPage+1}&id=${requestScope.pagemsg.id}">[下一页]</a>                                <a style="color: black;" href="${pageContext.request.contextPath }/scoreInfo/queryScore?currentPage=${requestScope.pagemsg.totalPage}&id=${requestScope.pagemsg.id}">[尾页]</a>                            </c:if>                        </span>                    </td>                </tr>            </table>        </div>    </div>       <jsp:include page="footer.jsp" /> </body></html>

添加成绩信息(addscoreinfo.jsp)

<%@ page contentType="text/html;charset=UTF-8" language="java" %><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><html><head>    <title>添加成绩信息</title>    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/studentlinfo.css">    <script language="JavaScript">        window.onload=init;        function init() {            var pop = "${requestScope.msg}";            if(pop != ""){                alert(pop);            }        }    </script>    <style>        input{            border: 0;             outline-color: white; /* 轮廓颜色  */        }    </style>    <!-- 禁用自动完成 :autocomplete="off" --></head><body>    <jsp:include page="header.jsp" />    <div class="con1">        <div class="con2">            <a href="${pageContext.request.contextPath}/jsp/main.jsp" class="jfj">首页></a>             <a href="${pageContext.request.contextPath}/scoreInfo/queryScore" class="jfj">成绩信息></a>             <span class="jfj">添加成绩</span><br><br>            <h3>添加学生成绩</h3>            <form action="${pageContext.request.contextPath}/scoreInfo/addscore"                name="addstudent">                <div style="width: 500px; margin: 20px 400px;">                    <div class="row clearfix">                        <div class="col-md-12 column">                            <table class="table table-bordered">                                <tr>                                    <td>学号</td>                                    <td><input type="text" name="studentId" placeholder="*必填" autocomplete="off" /></td>                                </tr>                                <tr>                                    <td>课程号</td>                                    <td><input type="text" name="courseId" placeholder="*必填" autocomplete="off" /></td>                                </tr>                                <tr>                                    <td>成绩</td>                                    <td><input type="text" name="score" placeholder="*必填" autocomplete="off" /></td>                                </tr>                            </table>                        </div>                    </div>                    <div>                        <input type="reset" name="reset" value="重置" class="btn btn-sm btn-info" style="margin: 0 50px 0 150px;">                        <input type="submit" name="update" value="提交" class="btn btn-sm btn-info " style="margin: 0 50px;">                    </div>                </div>            </form>        </div>    </div>    <jsp:include page="footer.jsp" /></body></html>

更新成绩信息(updateScore.jsp)

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><html><head>    <title>更新成绩信息</title>    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/studentlinfo.css">    <style type="text/css">        input{            border: 0;             outline-color: white;                   }    </style>      </head><body>   <jsp:include page="header.jsp" />    <div class="con1">        <div class="con2">            <a href="${pageContext.request.contextPath}/jsp/main.jsp" class="jfj">首页></a>             <a href="${pageContext.request.contextPath}/scoreInfo/queryScore" class="jfj">成绩信息></a>             <span class="jfj">更新成绩</span><br><br>            <h3>更新成绩信息</h3>            <form action="${pageContext.request.contextPath}/scoreInfo/updateScore" name="update">                <div style="width: 500px; margin: 20px 400px;">                    <div class="row clearfix">                        <div class="col-md-12 column">                            <table class="table table-bordered">                                <tr>                                    <td>学号</td>                                    <td><input type="text" name="studentId" readonly value="${score.studentId}" /></td>                                </tr>                                <tr>                                    <td>课程号</td>                                    <td><input type="text" name="courseId" readonly value="${score.courseId}" /></td>                                </tr>                                <tr>                                    <td>成绩</td>                                    <td><input type="text" name="score" value="${score.score}" /></td>                                </tr>                            </table>                            <div>                                <input type="submit" name="update" value="提交" class="btn btn-sm btn-info " style="margin: 0 50px 0 150px;">                                <a href="${pageContext.request.contextPath}/scoreInfo/queryScore" class="btn btn-sm btn-info" style="margin-left: 50px">返回</a>                            </div>                        </div>                    </div>                </div>            </form>        </div>    </div>    <jsp:include page="footer.jsp" /> </body></html>

学生登录模块

header2.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><html><head>    <title>学生成绩管理系统</title>    <link rel="stylesheet" type="text/css"          href="${pageContext.request.contextPath}/css/home_page.css">    <link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script></head><body>  <div class="header">        <div class="header1"><img class="img" src="${pageContext.request.contextPath}/img/top02.png" alt="center"></div>        <div class="header2">学生成绩管理系统</div>        <div class="header3">            <%String name = (String)session.getAttribute("name");out.println(name + " 欢迎你!");%>|            <div class="btn-group">                <button type="button" class="btn btn-default dropdown-toggle btn-xs glyphicon glyphicon-cog" data-toggle="dropdown">                    <span class="caret"> </span>                </button>                <ul class="dropdown-menu pull-right" role="menu">                    <li><a href="${pageContext.request.contextPath}/studentInfo/queryByName" class="glyphicon glyphicon-user">个人中心</a></li>                    <li><a href="${pageContext.request.contextPath}/login/userexit" class="glyphicon glyphicon-off">退出登录</a></li>                </ul>            </div>           <%--  <a href="${pageContext.request.contextPath}/login/userexit" class="glyphicon glyphicon-off">退出登录</a> --%>        </div>    </div>     <div class="nav nav1">        <a href="${pageContext.request.contextPath}/jsp/main1.jsp">系统首页</a>        <a href="${pageContext.request.contextPath}/studentInfo/queryByName">个人中心</a>        <a href="${pageContext.request.contextPath}/courseInfo/queryById">课程信息</a>        <a href="${pageContext.request.contextPath}/scoreInfo/queryById"> 成绩信息</a>    </div></body> </html>

学生登录首页(main1.jsp)

<%@ page contentType="text/html;charset=UTF-8" language="java" %><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><html><head>    <title>学生信息管理系统</title>    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/home_page.css"></head><body>    <jsp:include page="header2.jsp" />     <div class="d" id="bodyContainer">        <div style="background: #ffffff;margin: 0px 60px 0px 60px;padding: 50px 150px;height: 77%;">            <div>                <img alt="" src="../img/20160526021127672.jpg">            </div>            <div>                <h1>欢迎访问学生成绩管理系统!</h1>            </div>        </div>    </div>    <jsp:include page="footer.jsp" /></body></html>

个人中心页面(user.jsp)

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><html><head>    <title>用户信息</title>    <link rel="stylesheet" type="text/css"          href="${pageContext.request.contextPath}/css/studentlinfo.css">          <link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script></head><body>       <jsp:include page="header2.jsp" />     <div class="con1">        <div class="con2">            <div style="width: 800px; margin: 20px 200px;">                <a href="${pageContext.request.contextPath}/jsp/main.jsp"                    style="color: gray; fint-size: 18px">首页></a> <span                    style="color: gray; fint-size: 18px">课程信息</span><br>                <br>                <h2>个人信息</h2>                <div style="margin: 0 0 30px 630px;width: 180px;">                <a href="${pageContext.request.contextPath}/jsp/updatepad.jsp?studentPad=${student.studentPad}" class="btn btn-sm btn-info glyphicon glyphicon-edit">修改密码</a>                <a href="${pageContext.request.contextPath}/studentInfo/update2?studentId=${student.studentId}"  class="btn btn-sm btn-warning glyphicon glyphicon-repeat">修改信息</a><br>                </div>                <div class="row clearfix">                    <div class="col-md-12 column">                        <table class="table table-bordered">                            <tr>                                <td>学号</td>                                <td>${student.studentId }</td>                                <td>姓名</td>                                <td>${student.studentName }</td>                            </tr>                            <tr>                                <td>性别</td>                                <td>${student.studentSex }</td>                                <td>年龄</td>                                <td>${student.studentAge }</td>                            </tr>                            <tr>                                <td>出生日期</td>                                <td>${student.studentBifthday }</td>                                <td>院系</td>                                <td>${student.studentDept }</td>                            </tr>                            <tr>                                <td>专业</td>                                <td>${student.studentMajor }</td>                                <td>班级</td>                                <td>${student.studentClassId }</td>                            </tr>                            <tr>                                <td>电话</td>                                <td>${student.studentCellPhone }</td>                                <td>密码</td>                                <td>******</td>                            </tr>                        </table>                    </div>                </div>            </div>        </div>    </div>   <jsp:include page="footer.jsp" /> </body></html>

成绩信息页面(StudentScores2.jsp)

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><html><head>    <title>学生成绩管理</title>    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/studentlinfo.css">    <link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"></head><body>    <jsp:include page="header2.jsp" />    <div class="con1">        <div class="con2">            <a href="${pageContext.request.contextPath}/jsp/main1.jsp" class="jfj">首页></a>            <span class="jfj">成绩信息</span><br><br>                <div class="row clearfix">                    <div class="col-md-12 column">                        <table class="table table-hover table-bordered">                            <thead>                                <tr>                                    <th>学号</th>                                    <th>姓名</th>                                    <th>性别</th>                                    <th>课程名</th>                                    <th>学年</th>                                    <th>任课教师</th>                                    <th>分数</th>                                </tr>                            </thead>                            <tbody>                                <c:forEach items="${requestScope.pagemsg.lists}" var="score">                                    <tr>                                        <td>${score.studentId }</td>                                        <td>${score.student.studentName }</td>                                        <td>${score.student.studentSex }</td>                                        <td>${score.course.courseName }</td>                                        <td>${score.course.schoolYear }</td>                                        <td>${score.course.teacher }</td>                                        <td>${score.score}</td>                                    </tr>                                </c:forEach>                            </tbody>                        </table>                    </div>                </div>            </form>            <table border="0" cellspacing="0" cellpadding="0" width="900px">                <tr>                    <td>                        <span>第${requestScope.pagemsg.currPage }/${requestScope.pagemsg.totalPage}页</span>                        <span>总记录数:${requestScope.pagemsg.totalCount } 每页显示:${requestScope.pagemsg.pageSize} </span>                         <span> <c:if test="${requestScope.pagemsg.currPage != 1}">                                <a style="color: black;" href="${pageContext.request.contextPath }/scoreInfo/queryById?currentPage=1">[首页]</a>                                <a style="color: black;" href="${pageContext.request.contextPath }/scoreInfo/queryById?currentPage=${requestScope.pagemsg.currPage-1}">[上一页]</a>                            </c:if> <c:if test="${requestScope.pagemsg.currPage != requestScope.pagemsg.totalPage}">                                <a style="color: black;" href="${pageContext.request.contextPath }/scoreInfo/queryById?currentPage=${requestScope.pagemsg.currPage+1}">[下一页]</a>                                <a style="color: black;" href="${pageContext.request.contextPath }/scoreInfo/queryById?currentPage=${requestScope.pagemsg.totalPage}">[尾页]</a>                            </c:if>                        </span>                    </td>                </tr>            </table>        </div>    </div>       <jsp:include page="footer.jsp" /> </body></html>

课程信息页面(courseInfo1.jsp)

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><% if(session.getAttribute("name")**null)    response.sendRedirect("login.jsp");%><html><head>    <title>课程信息管理</title>    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/studentlinfo.css">    <link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"></head><body>    <jsp:include page="header2.jsp" />    <div class="con1">                <div class="con2">        <a href="${pageContext.request.contextPath}/jsp/main1.jsp" class="jfj">首页></a>        <span class="jfj">课程信息</span><br><br>        <div class="row clearfix">                <div class="col-md-12 column">                    <table class="table table-bordered table-hover">                        <thead>                            <tr>                                <th>课程号</th>                                <th>课程名</th>                                <th>学年</th>                                <th>任课教师</th>                                <th>学分</th>                            </tr>                        </thead>                        <tbody>                        <c:forEach var="course" items="${requestScope.pagemsg.lists}">                            <tr>                                <td>${course.courseId }</td>                                <td>${course.courseName }</td>                                <td>${course.schoolYear }</td>                                <td>${course.teacher }</td>                                <td>${course.creditHour }</td>                            </tr>                        </c:forEach>                        </tbody>                    </table>                </div>        </div>        <table border="0" cellspacing="0" cellpadding="0" width="900px">            <tr>                <td>                    <span>第${requestScope.pagemsg.currPage }/${requestScope.pagemsg.totalPage}页</span>                     <span>总记录数:${requestScope.pagemsg.totalCount } 每页显示:${requestScope.pagemsg.pageSize}</span>                     <span>                         <c:if test="${requestScope.pagemsg.currPage != 1}">                            <a style="color: black;" href="${pageContext.request.contextPath}/courseInfo/queryById?currentPage=1&id=${requestScope.pagemsg.id}">首页</a>                            <a style="color: black;" href="${pageContext.request.contextPath }/courseInfo/queryById?currentPage=${requestScope.pagemsg.currPage-1}&id=${requestScope.pagemsg.id}">上一页</a>                        </c:if> <c:if test="${requestScope.pagemsg.currPage != requestScope.pagemsg.totalPage}">                            <a style="color: black;" href="${pageContext.request.contextPath }/courseInfo/queryById?currentPage=${requestScope.pagemsg.currPage+1}&id=${requestScope.pagemsg.id}">下一页</a>                            <a style="color: black;" href="${pageContext.request.contextPath }/courseInfo/queryById?currentPage=${requestScope.pagemsg.totalPage}&id=${requestScope.pagemsg.id}">尾页</a>                        </c:if>                    </span>                </td>            </tr>        </table>    </div>    </div>    <jsp:include page="footer.jsp" /></body></html>

四、效果图

管理员登录效果图

img img img img


五、总结

该学生成绩管理系统总体说来基本完成了增删改查,登录分为学生登录和学生管理员登录,学生登录只能查看自己的个人信息、成绩信息、课程信息和修改自己的登录密码。学生管理员登录可以对学生信息、课程信息和成绩信息进行增删改查。数据库的设计方面,建有学生表、管理员表、课程表、成绩表。

刚拿到选题的时候,自己还是有蛮多想法的,但是在一步步实践中放弃了,因为自己学到的技术有限,还不足以让我能做出一个功能很丰富的系统,这恰好是我学习的动力,争取下次做出一个功能完整的系统。

完整代码:

Github:https://github.com/ctf99525/studentInfo.git

百度云:https://pan.baidu.com/s/1h25yMVO62Vf4bXfgoGjgHQ 提取码:ctf6


 ** 转发于这行代码没有bug!**

版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明,KuangStudy,以学为伴,一生相伴!

本文链接:https://www.kuangstudy.com/bbs/1363006817604468738

 

 

posted @ 2021-03-07 17:11  小明日记  阅读(3972)  评论(0)    收藏  举报