石家庄铁道大学课程信息管理系统

 1、项目需求:

      课程管理是各大院校的管理工作中尤为重视的一项工作,它一直以来是学校管 理的一项重要的衡量指标。石家庄铁道大学为了提高工作效率,实现信息化管理, 要求开发课程管理系统。

2.系统要求与功能设计

     2.1 页面功能要求

        (1)能够在 Tomcat 服务器中正确部署,并通过浏览器查看;(1 分)

        (2)网站页面整体风格统一;

        (3)主页面:要求显示添加新课程、修改课程信息、删除课程信息、查询课程 信息四个子菜单。(1 分)

        (4)添加新课程页:(3 分)

                  ②新课程信息必须唯一,如有重复,提示用户“课程名称重复,重新录入”;(0.5 分)

                  ③要求判断任课教师为王建民、刘立嘉、刘丹、王辉、杨子光五位教师的其中 一位。(0.5 分)

                  ④要求上课地点开头为“一教、二教、三教、基教”中的一种。(0.5 分)

                  ⑤将新课程信息添加入库。(1 分)

       评分标准:  ①完成添加新课程页面(未完成 0 分,完成 0.5 分)

                          ②保存新课程信息入库(未完成 0 分,完成 1 分)

                          ③判断课程名称是否唯一(未完成 0 分,完成 0.5 分)

                          ④ 判断任课教师为王建民、刘立嘉、刘丹、王辉、杨子光五位教师的其中一位 (未完成 0 分,完成 0.5 分)

                          ⑤判断上课地点开头为“一教、二教、三教、基教”中的一种

     (4)修改课程信息页:

                可对课程名称、任课教师、上课地点进行修改。(任课 教师和上课地点必须符合录入要求)。(2 分)

                评分标准:

                     ①完成修改课程信息页面(未完成 0 分,完成 0.5 分)

                     ② 完成数据库中信息更新(未完成 0 分,完成 1 分)

                     ③修改信息判断是否符合要求。(未完成 0 分,完成 0.5 分)

        (5)删除课程信息页:录入课程名称,显示详细信息后,点击“删除”按钮, 删除该信息。

               评分标准:

                       ①完成删除课程信息页面(未完成 0 分,完成 0.5 分)

                       ②输入课程名称后可显示其余信息。(未完成 0 分,完成 0.5 分)

                       ③对应删除数据库中信息(未完成 0 分,完成 1 分)

         (6)查询课程信息页面:

                         输入课程名称、任课教师、上课地点等信息可以实现模糊查询。

                  评分标准:

                         ①完成查询课程信息页面(未完成 0 分,完成 0.5 分)

                         ②实现按照任意条件进行模糊查询。(未完成 0 分,完成 1 分)

                         ③结果信息显示包括全部信息。(未完成 0 分,完成 0.5 分,缺少一项扣除 0.5 分)

2.2 功能要求  

    (1)设计出合理的数据库和数据表,要求使用 mysql、sqlserver、oracle 三 种数据库中一种(1 分)

    (2)数据库连接正常(1 分)。

    (3)使用 Serverlet 实现页面交互(1 分)。

    (4)使用 Java Bean 封装数据库连接操作(1 分。)

package com.hjf.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import com.hjf.entity.Course;
import com.hjf.util.DBUtil;

/**
 * 课程Dao
 * Dao层操作数据
 * @author Hu
 *
 */
public class CourseDao {

    /**
     * 添加
     * @param course
     * @return
     */
    public boolean add(Course course) {
        String sql = "insert into course(name, teacher, classroom) values('" + course.getName() + "','" + course.getTeacher() + "','" + course.getClassroom() + "')";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        boolean f = false;
        int a = 0;
        
        try {
            state = conn.createStatement();
            state.executeUpdate(sql);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(state, conn);
        }
        
        if (a > 0) {
            f = true;
        }
        return f;
    }

    /**
     * 删除
     * 
     * @param id
     * @return
     */
    public boolean delete (int id) {
        boolean f = false;
        String sql = "delete from course where id='" + id + "'";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        int a = 0;
        
        try {
            state = conn.createStatement();
            a = state.executeUpdate(sql);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(state, conn);
        }
        
        if (a > 0) {
            f = true;
        }
        return f;
    }

    /**
     * 修改
     * @param name
     * @param pass
     */
    public boolean update(Course course) {
        String sql = "update course set name='" + course.getName() + "', teacher='" + course.getTeacher() + "', classroom='" + course.getClassroom()
            + "' where id='" + course.getId() + "'";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        boolean f = false;
        int a = 0;

        try {
            state = conn.createStatement();
            a = state.executeUpdate(sql);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(state, conn);
        }
        
        if (a > 0) {
            f = true;
        }
        return f;
    }
    
    /**
     * 验证课程名称是否唯一
     * true --- 不唯一
     * @param name
     * @return
     */
    public boolean name(String name) {
        boolean flag = false;
        String sql = "select name from course where name = '" + name + "'";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        ResultSet rs = null;
        
        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            while (rs.next()) {
                flag = true;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }
        return flag;
    }
    
    /**
     * 通过ID得到类
     * @param id
     * @return
     */
    public Course getCourseById(int id) {
        String sql = "select * from course where id ='" + id + "'";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        ResultSet rs = null;
        Course course = null;
        
        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            while (rs.next()) {
                String name = rs.getString("name");
                String teacher = rs.getString("teacher");
                String classroom = rs.getString("classroom");
                course = new Course(id, name, teacher, classroom);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }
        
        return course;
    }
    
    /**
     * 通过name得到Course
     * @param name
     * @return
     */
    public Course getCourseByName(String name) {
        String sql = "select * from course where name ='" + name + "'";
        Connection conn = DBUtil.getConn();
        Statement state = null;
        ResultSet rs = null;
        Course course = null;
        
        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            while (rs.next()) {
                int id = rs.getInt("id");
                String teacher = rs.getString("teacher");
                String classroom = rs.getString("classroom");
                course = new Course(id, name, teacher, classroom);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }
        
        return course;
    }
    
    /**
     * 查找
     * @param name
     * @param teacher
     * @param classroom
     * @return
     */
    public List search(String name, String teacher, String classroom) {
        String sql = "select * from course where ";
        if (name != "") {
            sql += "name like '%" + name + "%'";
        }
        if (teacher != "") {
            sql += "teacher like '%" + teacher + "%'";
        }
        if (classroom != "") {
            sql += "classroom like '%" + classroom + "%'";
        }
        List list = new ArrayList<>();
        Connection conn = DBUtil.getConn();
        Statement state = null;
        ResultSet rs = null;

        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            Course bean = null;
            while (rs.next()) {
                int id = rs.getInt("id");
                String name2 = rs.getString("name");
                String teacher2 = rs.getString("teacher");
                String classroom2 = rs.getString("classroom");
                bean = new Course(id, name2, teacher2, classroom2);
                list.add(bean);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }
        
        return list;
    }
    
    /**
     * 全部数据
     * @param name
     * @param teacher
     * @param classroom
     * @return
     */
    public List list() {
        String sql = "select * from course";
        List list = new ArrayList<>();
        Connection conn = DBUtil.getConn();
        Statement state = null;
        ResultSet rs = null;

        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            Course bean = null;
            while (rs.next()) {
                int id = rs.getInt("id");
                String name2 = rs.getString("name");
                String teacher2 = rs.getString("teacher");
                String classroom2 = rs.getString("classroom");
                bean = new Course(id, name2, teacher2, classroom2);
                list.add(bean);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(rs, state, conn);
        }
        
        return list;
    }

}
package com.hjf.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 数据库连接工具
 * 
 *
 */
public class DBUtil {
    
    public static String db_url = "jdbc:mysql://localhost:3306/mysql?useSSL=false";
    public static String db_user = "root";
    public static String db_pass = "123456";
    
    public static Connection getConn () {
        Connection conn = null;
        
        try {
            Class.forName("com.mysql.jdbc.Driver");//加载驱动
            conn = DriverManager.getConnection(db_url, db_user, db_pass);
        } catch (Exception e) {
            e.printStackTrace();
        }
        
        return conn;
    }
    
    /**
     * 关闭连接
     * @param state
     * @param conn
     */
    public static void close (Statement state, Connection conn) {
        if (state != null) {
            try {
                state.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    
    public static void close (ResultSet rs, Statement state, Connection conn) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        
        if (state != null) {
            try {
                state.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

}
package com.hjf.servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.hjf.entity.Course;
import com.hjf.service.CourseService;

@WebServlet("/CourseServlet")
public class CourseServlet extends HttpServlet {
    
    private static final long serialVersionUID = 1L;

    CourseService service = new CourseService();
    
    /**
     * 方法选择
     */
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        String method = req.getParameter("method");
        if ("add".equals(method)) {
            add(req, resp);
        } else if ("del".equals(method)) {
            del(req, resp);
        } else if ("update".equals(method)) {
            update(req, resp);
        } else if ("search".equals(method)) {
            search(req, resp);
        } else if ("getcoursebyid".equals(method)) {
            getCourseById(req, resp);
        } else if ("getcoursebyname".equals(method)) {
            getCourseByName(req, resp);
        } else if ("list".equals(method)) {
            list(req, resp);
        }
    }

    /**
     * 添加
     * @param req
     * @param resp
     * @throws IOException 
     * @throws ServletException 
     */
    private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
        req.setCharacterEncoding("utf-8");
        String name = req.getParameter("name");
        String teacher = req.getParameter("teacher");
        String classroom = req.getParameter("classroom");
        Course course = new Course(name, teacher, classroom);
        
        //添加后消息显示
        if(service.add(course)) {
            req.setAttribute("message", "添加成功");
            req.getRequestDispatcher("add.jsp").forward(req,resp);
        } else {
            req.setAttribute("message", "课程名称重复,请重新录入");
            req.getRequestDispatcher("add.jsp").forward(req,resp);
        }
    }
    
    /**
     * 全部
     * @param req
     * @param resp
     * @throws ServletException 
     */
    private void list(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
        req.setCharacterEncoding("utf-8");
        List courses = service.list();
        req.setAttribute("courses", courses);
        req.getRequestDispatcher("list.jsp").forward(req,resp);
    }

    /**
     * 通过ID得到Course
     * @param req
     * @param resp
     * @throws ServletException 
     */
    private void getCourseById(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
        req.setCharacterEncoding("utf-8");
        int id = Integer.parseInt(req.getParameter("id"));
        Course course = service.getCourseById(id);
        req.setAttribute("course", course);
        req.getRequestDispatcher("detail2.jsp").forward(req,resp);
    }

    /**
     * 通过名字查找
     * 跳转至删除
     * @param req
     * @param resp
     * @throws IOException
     * @throws ServletException 
     */
    private void getCourseByName(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
        req.setCharacterEncoding("utf-8");
        String name = req.getParameter("name");
        Course course = service.getCourseByName(name);
        if(course == null) {
            req.setAttribute("message", "查无此课程!");
            req.getRequestDispatcher("del.jsp").forward(req,resp);
        } else {
            req.setAttribute("course", course);
            req.getRequestDispatcher("detail.jsp").forward(req,resp);
        }
    }
    
    /**
     * 删除
     * @param req
     * @param resp
     * @throws IOException
     * @throws ServletException 
     */
    private void del(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
        req.setCharacterEncoding("utf-8");
        int id = Integer.parseInt(req.getParameter("id"));
        service.del(id);
        req.setAttribute("message", "删除成功!");
        req.getRequestDispatcher("del.jsp").forward(req,resp);
    }
    
    /**
     * 修改
     * @param req
     * @param resp
     * @throws IOException
     * @throws ServletException 
     */
    private void update(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
        req.setCharacterEncoding("utf-8");
        int id = Integer.parseInt(req.getParameter("id"));
        String name = req.getParameter("name");
        String teacher = req.getParameter("teacher");
        String classroom = req.getParameter("classroom");
        Course course = new Course(id, name, teacher, classroom);
        
        service.update(course);
        req.setAttribute("message", "修改成功");
        req.getRequestDispatcher("CourseServlet?method=list").forward(req,resp);
    }
    
    /**
     * 查找
     * @param req
     * @param resp
     * @throws ServletException 
     */
    private void search(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
        req.setCharacterEncoding("utf-8");
        String name = req.getParameter("name");
        String teacher = req.getParameter("teacher");
        String classroom = req.getParameter("classroom");
        List courses = service.search(name, teacher, classroom);
        req.setAttribute("courses", courses);
        req.getRequestDispatcher("searchlist.jsp").forward(req,resp);
    }
}
package com.hjf.service;

import java.util.List;

import com.hjf.dao.CourseDao;
import com.hjf.entity.Course;

/**
 * CourseService
 * 服务层
 * @author Hu
 *
 */
public class CourseService {

    CourseDao cDao = new CourseDao();
    
    /**
     * 添加
     * @param course
     * @return
     */
    public boolean add(Course course) {
        boolean f = false;
        if(!cDao.name(course.getName())) {
            cDao.add(course);
            f = true;
        }
        return f;
    }
    
    /**
     * 删除
     */
    public void del(int id) {
        cDao.delete(id);
    }
    
    /**
     * 修改
     * @return 
     */
    public void update(Course course) {
        cDao.update(course);
    }
    
    /**
     * 通过ID得到一个Course
     * @return 
     */
    public Course getCourseById(int id) {
        return cDao.getCourseById(id);
    }

    /**
     * 通过Name得到一个Course
     * @return 
     */
    public Course getCourseByName(String name) {
        return cDao.getCourseByName(name);
    }
    
    /**
     * 查找
     * @return 
     */
    public List search(String name, String teacher, String classroom) {
        return cDao.search(name, teacher, classroom);
    }
    
    /**
     * 全部数据
     * @return 
     */
    public List list() {
        return cDao.list();
    }
}
package com.hjf.entity;

public class Course {

    private int id;
    private String name;
    private String teacher;
    private String classroom;
    
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getTeacher() {
        return teacher;
    }
    public void setTeacher(String teacher) {
        this.teacher = teacher;
    }
    public String getClassroom() {
        return classroom;
    }
    public void setClassroom(String classroom) {
        this.classroom = classroom;
    }
    
    public Course() {}
    
    public Course(int id, String name, String teacher, String classroom) {
        this.id = id;
        this.name = name;
        this.teacher = teacher;
        this.classroom = classroom;
    }
    
    public Course(String name, String teacher, String classroom) {
        this.name = name;
        this.teacher = teacher;
        this.classroom = classroom;
    }
}

jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here



    <%
         Object message = request.getAttribute("message");
         if(message!=null && !"".equals(message)){
     
    %>
         
    <%} %>
    

课程信息录入

返回主页
class="a"> 课程名称
class="a"> 任课教师
class="a"> 上课地点
class="a">
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here



    <%
         Object message = request.getAttribute("message");
         if(message!=null && !"".equals(message)){
     
    %>
         
    <%} %>
    

课程信息删除

返回主页
class="a"> 课程名称
class="a">
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here



    

课程信息删除

返回主页 class="tb">
课程名称 ${course.name}
任课教师 ${course.teacher}
上课地点 ${course.classroom}
class="a"> 删   除
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here



    <%
         Object message = request.getAttribute("message");
         if(message!=null && !"".equals(message)){
     
    %>
         
    <%} %>
    

课程信息修改

返回主页
class="a"> 课程名称
class="a"> 任课教师
class="a"> 上课地点
class="a">
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




首页



    

课程基本信息管理系统

class="a"> 课程信息录入
class="a"> 课程信息修改
class="a"> 课程信息删除
class="a"> 课程信息查询
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here



    <%
         Object message = request.getAttribute("message");
         if(message!=null && !"".equals(message)){
     
    %>
         
    <%} %>
    

课程信息列表

返回主页 class="tb">
id 课程名称 任课教师 上课地点 操作
${item.id} ${item.name} ${item.teacher} ${item.classroom} 修改
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here



    

课程信息查询

返回主页
class="a"> 课程名称
class="a"> 任课教师
class="a"> 上课地点
class="a">
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here



    

课程信息列表

返回主页 class="tb">
id 课程名称 任课教师 上课地点
${item.id} ${item.name} ${item.teacher} ${item.classroom}

注意;要引用两个驱动包如下图

石家庄铁道大学课程信息管理系统_第1张图片

MySQL表

石家庄铁道大学课程信息管理系统_第2张图片

运行截图

石家庄铁道大学课程信息管理系统_第3张图片

石家庄铁道大学课程信息管理系统_第4张图片

 

 石家庄铁道大学课程信息管理系统_第5张图片

注意

 "jdbc:mysql://localhost:3306/mysql?useSSL=false";

 3306/mysql是需要导入的数据库

后文中的course为数据表

 

你可能感兴趣的:(石家庄铁道大学课程信息管理系统)