博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
课程管理系统教程
阅读量:4709 次
发布时间:2019-06-10

本文共 23025 字,大约阅读时间需要 76 分钟。

一. 新建数据表


在mysql中新建一个名为course的数据库,并在其中新建一个course数据表,包含四个字段,id,name,teacher,classname如图

   

 

注意:将id设为自动递增,否则后面新增会出错。id设为自增,新增时就只需关注course的其它属性。

二. 新建web项目


 1. eclipse新建一个名为MyServlet的Dynamic Web Project

  

  修改class的默认输出目录为:WebContent/WEB-INF/classes

  

  勾选自动生成web.xml

  

  生成的项目在java EE透视图中的结构如下,

 

  

2. 将连接mysql的驱动jar包(mysql-connector-java-5.1.7-bin.jar)copy到WEB-INF下的lib目录下

  

3.  新建五个包,entity存放实体类(User),dao存放数据库操作类(UserDao),servlet存放控制类(addServlet,updateServlet,deleteServlet,listServlet),util存放开发帮助类service是算法实现(这里是数据库操作帮助类,封装了数据库连接部分代码,避免大量重复代码)

  

 

4. 新建类(最愉快的搬砖环节  -.-),java类放在对应包中,jsp页面放在WebContent目录下,替换web.xml中内容,结构如图

五:代码

//Course.javapackage 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;    }}

 

//CourseDao.java 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; }}
//CourseService.javapackage 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(); }}
 
//CourseServlet.javapackage 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); }}
//DBUtil.javapackage com.hjf.util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * 数据库连接工具 * @author Hu * */public class DBUtil {        public static String db_url = "jdbc:mysql://localhost:3306/course";    public static String db_user = "root";    public static String db_pass = "root";        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();            }        }    }    public static void main(String[] args) throws SQLException {        Connection conn = getConn();        PreparedStatement pstmt = null;        ResultSet rs = null;        String sql ="select * from course";        pstmt = conn.prepareStatement(sql);        rs = pstmt.executeQuery();        if(rs.next()){            System.out.println("空");        }else{            System.out.println("不空");        }    }}
//add.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)){ %> <%} %>

课程信息录入

返回主页
课程名称
任课教师
上课地点
//del.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)){ %> <%} %>

课程信息删除

返回主页
课程名称
//detail.jap<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
Insert title here

课程信息删除

返回主页
课程名称 ${list.classname}
任课教师 ${list.teachnamr}
上课地点 ${list.site}
//detail2.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)){ %> <%} %>

课程信息修改

返回主页
课程名称
任课教师
上课地点
//index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
首页
 
 
//list.jsp<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
Insert title here <% Object message = request.getAttribute("message"); if(message!=null && !"".equals(message)){ %> <%} %>

课程信息列表

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

课程信息查询

返回主页
课程名称
任课教师
上课地点
//searchlist.jsp<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
Insert title here

课程信息列表

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

 

 

 

转载于:https://www.cnblogs.com/Evak/p/10091955.html

你可能感兴趣的文章
android调用音乐播放器,三种方
查看>>
read/sysread区别
查看>>
《JavaScript高级程序设计》阅读笔记(十八):跨平台的事件
查看>>
长列表优化之滚动替换数据方案小记
查看>>
20180827 360笔试客观题
查看>>
【转】使用YCSB测试mongodb分片集群性能
查看>>
StartSSL免费证书申请笔记
查看>>
Server.MapPath查询路径那几件事
查看>>
简单易懂的snmpd.conf配置文件说明
查看>>
引用 IP电话的原理结构及其关键技术
查看>>
cocos2d-x App 图标
查看>>
Eclipse中Outline里各种图标的含义
查看>>
css原生变量var()
查看>>
c++读文件-对try-throw-catch的应用
查看>>
常见的日期问题计算
查看>>
sql参数判断
查看>>
图形世界分裂的两派——理清D3D和OpenGL的脉络
查看>>
js字符串
查看>>
浅析java中setter和getter的作用
查看>>
maven工程运行前准备
查看>>