课程信息管理系统
一、相关的软件下载和环境配置
1、下载并配置JDK。
2、下载eclipse。
3、下载并配置apache-tomcat(服务器)。
4、下载MySQL(数据库)。
5、下载Navicat for MySQL(数据库可视化工具),方便对数据库的操作。
6、下载jdbc用来实现eclipse中的项目与数据库实现连接。
---以上可在网上查询教程。
二、实现简单的课程信息管理系统
打开eclipse,点击File—》New—》other—》Dynamic Web Project
点击Next
需要输入Project name,最好用英文填写,完成之后eclipse左侧会有刚刚创建的项目出现下图
在我的电脑中,打开你下载的jdbc(也就是mysql-connector-java-8.0.13)所在的文件夹中的
将mysql-connector-java-8.0.13文件复制
粘贴在eclipse中,你所建立的项目下的 WebContent/WEB-INF/lib 文件夹下,如下图
之后在 WebContent 文件夹下,新建如下图中的JSP文件
1.(1)add.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | <%@ page language= "java" contentType= "text/html; charset=UTF-8" pageEncoding= "UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>Insert title here</title> <style> .a{ margin-top: 20px; } .b{ font-size: 20px; width: 160px; color: white; background-color: greenyellow; } </style> </head> <body> <% Object message = request.getAttribute( "message" ); if (message!= null && ! "" . equals (message)){ %> <script type= "text/javascript" > alert( "<%=request.getAttribute(" message ")%>" ); </script> <%} %> <div align= "center" > <h1 style= "color: red;" >课程信息录入</h1> <a href= "index.jsp" >返回主页</a> <form action= "CourseServlet?method=add" method= "post" onsubmit= "return check()" > <div class = "a" > 课程名称<input type= "text" id= "name" name= "name" /> </div> <div class = "a" > 任课教师<input type= "text" id= "teacher" name= "teacher" /> </div> <div class = "a" > 上课地点<input type= "text" id= "classroom" name= "classroom" /> </div> <div class = "a" > <button type= "submit" class = "b" >保 存</button> </div> </form> </div> <script type= "text/javascript" > function check() { var name = document.getElementById( "name" );; var teacher = document.getElementById( "teacher" ); var classroom = document.getElementById( "classroom" ); //非空 if (name.value == '' ) { alert( '课程名称为空' ); name.focus(); return false ; } if (teacher.value == '' ) { alert( '教师为空' ); teacher.focus(); return false ; } if (classroom.value == '' ) { alert( '上课地点为空' ); classroom.focus(); return false ; } //教师 if (teacher.value != '王建民' && teacher.value != '王辉' && teacher.value != '刘丹' && teacher.value != '刘立嘉' && teacher.value != '杨子光' ){ alert( '教师名称错误' ); return false ; } //教室 if (!/^基教/.test(classroom.value) && !/^一教/.test(classroom.value) && !/^二教/.test(classroom.value) && !/^三教/.test(classroom.value)) { alert( '上课地点错误' ); return false ; } } </script> </body> </html> |
(2)del.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <%@ page language= "java" contentType= "text/html; charset=UTF-8" pageEncoding= "UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>Insert title here</title> <style> .a{ margin-top: 20px; } .b{ font-size: 20px; width: 160px; color: white; background-color: greenyellow; } </style> </head> <body> <% Object message = request.getAttribute( "message" ); if (message!= null && ! "" .equals(message)){ %> <script type= "text/javascript" > alert( "<%=request.getAttribute(" message ")%>" ); </script> <%} %> <div align= "center" > <h1 style= "color: red;" >课程信息删除</h1> <a href= "index.jsp" >返回主页</a> <form action= "CourseServlet?method=getcoursebyname" method= "post" onsubmit= "return check()" > <div class = "a" > 课程名称<input type= "text" id= "name" name= "name" /> </div> <div class = "a" > <button type= "submit" class = "b" >查 找</button> </div> </form> </div> <script type= "text/javascript" > function check() { var name = document.getElementById( "name" );; //非空 if (name.value == '' ) { alert( '课程名称为空' ); name.focus(); return false ; } } </script> </body> </html> |
(3)detail.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | <%@ page language= "java" contentType= "text/html; charset=UTF-8" pageEncoding= "UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>Insert title here</title> <style> .a{ margin-top: 20px; } .b{ font-size: 20px; width: 160px; color: white; background-color: greenyellow; } .tb, td { border: 1px solid black; font-size: 22px; } </style> </head> <body> <div align= "center" > <h1 style= "color: red;" >课程信息删除</h1> <a href= "index.jsp" >返回主页</a> <table class = "tb" > <tr> <td>课程名称</td> <td>${course.name}</td> </tr> <tr> <td>任课教师</td> <td>${course.teacher}</td> </tr> <tr> <td>上课地点</td> <td>${course.classroom}</td> </tr> </table> <div class = "a" > <a onclick= "return check()" href= "CourseServlet?method=del&id=${course.id}" >删 除</a> </div> </div> <script type= "text/javascript" > function check() { if (confirm( "真的要删除吗?" )){ return true ; } else { return false ; } } </script> </body> </html> |
(4)detail2.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | <%@ page language= "java" contentType= "text/html; charset=UTF-8" pageEncoding= "UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>Insert title here</title> <style> .a{ margin-top: 20px; } .b{ font-size: 20px; width: 160px; color: white; background-color: greenyellow; } </style> </head> <body> <% Object message = request.getAttribute( "message" ); if (message!= null && ! "" .equals(message)){ %> <script type= "text/javascript" > alert( "<%=request.getAttribute(" message ")%>" ); </script> <%} %> <div align= "center" > <h1 style= "color: red;" >课程信息修改</h1> <a href= "index.jsp" >返回主页</a> <form action= "CourseServlet?method=update" method= "post" onsubmit= "return check()" > <div class = "a" > 课程名称<input type= "text" id= "name" name= "name" value= "${course.name}" /> </div> <div class = "a" > 任课教师<input type= "text" id= "teacher" name= "teacher" value= "${course.teacher}" /> </div> <div class = "a" > 上课地点<input type= "text" id= "classroom" name= "classroom" value= "${course.classroom}" /> </div> <input type= "hidden" id= "id" name= "id" value= "${course.id}" /> <div class = "a" > <button type= "submit" class = "b" >修 改</button> </div> </form> </div> <script type= "text/javascript" > function check() { var name = document.getElementById( "name" );; var teacher = document.getElementById( "teacher" ); var classroom = document.getElementById( "classroom" ); //非空 if (name.value == '' ) { alert( '课程名称为空' ); name.focus(); return false ; } if (teacher.value == '' ) { alert( '教师为空' ); teacher.focus(); return false ; } if (classroom.value == '' ) { alert( '上课地点为空' ); classroom.focus(); return false ; } //教师 if (teacher.value != '王建民' && teacher.value != '王辉' && teacher.value != '刘丹' && teacher.value != '刘立嘉' && teacher.value != '杨子光' ){ alert( '教师名称错误' ); return false ; } //教室 if (!/^基教/.test(classroom.value) && !/^一教/.test(classroom.value) && !/^二教/.test(classroom.value) && !/^三教/.test(classroom.value)) { alert( '上课地点错误' ); return false ; } } </script> </body> </html> |
(5)index.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <%@ page language= "java" contentType= "text/html; charset=UTF-8" pageEncoding= "UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>首页</title> <style> .a{ font-size: 26px; margin-top: 20px; } </style> </head> <body> <div align= "center" > <h1 style= "color: red;" >课程基本信息管理系统</h1> <div class = "a" > <a href= "add.jsp" >课程信息录入</a> </div> <div class = "a" > <a href= "CourseServlet?method=list" >课程信息修改</a> </div> <div class = "a" > <a href= "del.jsp" >课程信息删除</a> </div> <div class = "a" > <a href= "search.jsp" >课程信息查询</a> </div> </div> </body> </html> |
(6)list.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | <%@ page language= "java" contentType= "text/html; charset=UTF-8" pageEncoding= "UTF-8" %> <% @taglib uri= "http://java.sun.com/jsp/jstl/core" prefix= "c" %> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>Insert title here</title> <style> .a{ margin-top: 20px; } .b{ font-size: 20px; width: 160px; color: white; background-color: greenyellow; } .tb, td { border: 1px solid black; font-size: 22px; } </style> </head> <body> <% Object message = request.getAttribute( "message" ); if (message!= null && ! "" .equals(message)){ %> <script type= "text/javascript" > alert( "<%=request.getAttribute(" message ")%>" ); </script> <%} %> <div align= "center" > <h1 style= "color: red;" >课程信息列表</h1> <a href= "index.jsp" >返回主页</a> <table class = "tb" > <tr> <td>id</td> <td>课程名称</td> <td>任课教师</td> <td>上课地点</td> <td align= "center" colspan= "2" >操作</td> </tr> <c:forEach items= "${courses}" var= "item" > <tr> <td>${item.id}</td> <td>${item.name}</td> <td>${item.teacher}</td> <td>${item.classroom}</td> <td><a href= "CourseServlet?method=getcoursebyid&id=${item.id}" >修改</a></td> </tr> </c:forEach> </table> </div> </body> </html> |
(7)search.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | <%@ page language= "java" contentType= "text/html; charset=UTF-8" pageEncoding= "UTF-8" %> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>Insert title here</title> <style> .a{ margin-top: 20px; } .b{ font-size: 20px; width: 160px; color: white; background-color: greenyellow; } </style> </head> <body> <div align= "center" > <h1 style= "color: red;" >课程信息查询</h1> <a href= "index.jsp" >返回主页</a> <form action= "CourseServlet?method=search" method= "post" onsubmit= "return check()" > <div class = "a" > 课程名称<input type= "text" id= "name" name= "name" /> </div> <div class = "a" > 任课教师<input type= "text" id= "teacher" name= "teacher" /> </div> <div class = "a" > 上课地点<input type= "text" id= "classroom" name= "classroom" /> </div> <div class = "a" > <button type= "submit" class = "b" >查 询</button> </div> </form> </div> <script type= "text/javascript" > function check() { var name = document.getElementById( "name" );; var teacher = document.getElementById( "teacher" ); var classroom = document.getElementById( "classroom" ); //非空 if (name.value == '' && teacher.value == '' && classroom.value == '' ) { alert( '请填写一个条件' ); return false ; } } </script> </body> </html> |
(8)searchlist,jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | <%@ page language= "java" contentType= "text/html; charset=UTF-8" pageEncoding= "UTF-8" %> <% @taglib uri= "http://java.sun.com/jsp/jstl/core" prefix= "c" %> <!DOCTYPE html> <html> <head> <meta charset= "UTF-8" > <title>Insert title here</title> <style> .a{ margin-top: 20px; } .b{ font-size: 20px; width: 160px; color: white; background-color: greenyellow; } .tb, td { border: 1px solid black; font-size: 22px; } </style> </head> <body> <div align= "center" > <h1 style= "color: red;" >课程信息列表</h1> <a href= "index.jsp" >返回主页</a> <table class = "tb" > <tr> <td>id</td> <td>课程名称</td> <td>任课教师</td> <td>上课地点</td> </tr> <!-- forEach遍历出adminBeans --> <c:forEach items= "${courses}" var= "item" varStatus= "status" > <tr> <td>${item.id}</td> <td><a>${item.name}</a></td> <td>${item.teacher}</td> <td>${item.classroom}</td> </tr> </c:forEach> </table> </div> </body> </html> |
2. 在项目下的 Java Resources/src 建立包,右击src->new->Package,并输入名称,如下图
之后再新建的包内建立新的Java类,右击包->new->class,建立完成后如下图
(1)Course.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | package com.hjf; 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; } } |
(2)CourseDao.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 | package com.hjf; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; /** * 课程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<Course> 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<Course> 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<Course> list() { String sql = "select * from course" ; List<Course> 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; } } |
(3)CourseService.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | package com.hjf; import java.util.List; /** * 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<Course> search(String name, String teacher, String classroom) { return cDao.search(name, teacher, classroom); } /** * 全部数据 * @return */ public List<Course> list() { return cDao.list(); } } |
(4)CourseServlet.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | package com.hjf; 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; @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<Course> 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<Course> courses = service.search(name, teacher, classroom); req.setAttribute( "courses" , courses); req.getRequestDispatcher( "searchlist.jsp" ).forward(req,resp); } } |
(5)DBUtil.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | package com.hjf; import java.sql.Connection; import java.sql.DriverManager; 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?useSSL=false&useUnicode=true&characterEncoding=UTF-8" ; public static String db_user = "root" ; public static String db_pass = "123" ; 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(); } } } } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)