zoukankan      html  css  js  c++  java
  • 课程信息管理系统

    一、相关的软件下载和环境配置

    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

    <%@ 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;
    		 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

    <%@ 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;
    		 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

    <%@ 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;
    		 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

    <%@ 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;
    		 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

    <%@ 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

    <%@ 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;
    		 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

    <%@ 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;
    		 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

    <%@ 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;
    		 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

    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

    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

    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

    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

    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();
    			}
    		}
    	}
    
    }
    

      

  • 相关阅读:
    CSS和Js样式属性的对照关系
    CSS选择器
    主成分分析(PCA)核心思想
    线性变换的本质
    java 滤镜实现
    Spring Boot工程发布到Docker
    解决maven的报错
    spring boot初探
    WPF的Page介绍及Page Window Frame 之间的链接使用示例,嵌套问题
    浅谈WPF页间导航
  • 原文地址:https://www.cnblogs.com/yishaui/p/10092845.html
Copyright © 2011-2022 走看看