共计 41954 个字符,预计需要花费 105 分钟才能阅读完成。
运行结果:
数据库的 2 个表:
course 表
student 表
ps:一定要 build path 导入数据库用的 jar 包,以及在在 lib 文件夹中导入数据库 jar 包
文件目录结构:
具体代码:
index.jsp 首页
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> 欢迎进入选课系统 </title>
</head>
<body>
<center>
<h2> 欢迎进入选课 系统 </h2>
<a href="login.jsp"> 学生登录 </a>
<a href="regist.jsp"> 学生注册 </a>
<a href="admin.jsp"> 管理员登录 </a>
</center>
</body>
</html>
login.jsp 学生登录
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> 学生登录 </title>
</head>
<body style="text-align: center;">
<br><br>
<h3> 学生登录 </h3>
<form action="LoginServlet" method="post">
学号:<input type="text" name="stuno">
<br><br>
密码:<input type="password" name="stupassowrd">
<br><br>
<input type="submit" value="登录" name="submit">
<a href="regist.jsp" role="button"> 注册 </a>
<a href="index.jsp"> 返回 </a>
</form>
</body>
</html>
regist.jsp 学生注册
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> 注册 </title>
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
</head>
<body>
<h2 align=center> 注册页面 </h2>
<center>
<form action="RegisterServlet" method="post" >
<table border="1">
<tr>
<td> 学号:</td>
<td><input name="userNo"></td>
</tr>
<tr>
<td> 姓名:</td>
<td><input name="userName"></td>
</tr>
<tr>
<td> 密码:</td>
<td><input name="password" type="password"></td>
</tr>
<tr>
<td> 院系:</td>
<td><input name="major"></td>
</tr>
<tr>
<td> 年级:</td>
<td><input name="grade"></td>
</tr>
<tr>
<td> 班级:</td>
<td><input name="sclass"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="提交注册"><input type = "reset" value = "重置"></td>
</tr>
</table>
</form>
您有账号?<a href="login.jsp"><front color="GREEN" > 点击直接登录 </front></a>
</center>
</body>
</html>
studentIndex.jsp 学生选课主页
<!-- JSTL1.1 的声明是:-->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page contentType="text/html; ISO-8859-1" language="java" import="java.util.*" pageEncoding="utf-8" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title> 学生选课 </title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<!--<link rel="stylesheet" type="text/css" href="pages/css/studentIndex.css"> -->
<script type="text/javascript" src="href/jquery-3.4.0.js"></script>
<script type="text/javascript">
// 选择课程
$(document).ready(function() {$("input[name='select']").click(function(){var node = $(this);
// 获取剩余量
// 通过 td 里面的元素获得 tr, 使用 tr 的 children(“td”)方法获取所有的 td,在通过 eq(1) 拿第二个 td
var remainNum = $(this).parent().parent().children("td").eq(1).html();
console.log(remainNum);
if (!(remainNum == "0")) {
$.ajax({
url:"http://localhost:8080/xxmtest6/RemainAddServlet", // 请求的 url 地址
dataType:"json", // 返回格式为 json
async:true, // 请求是否异步,默认为异步,这也是 ajax 重要特性
data:{"id":$(this).attr("id")}, // 参数值
type:"POST", // 请求方式
beforeSend:function(){// 请求前的处理},
success:function(req){
// 请求成功时处理
//node.parent().parent().remove();
node.parent().parent().children("td").eq(1).html(parseInt(remainNum)-parseInt(1));
alert("已选中!");
document.getElementById("stuInfoIframe").contentWindow.location.reload(true);
},
complete:function(){
// 请求完成的处理
//alert("请求完成!");
},
error:function(){
// 请求出错处理
alert("重复选择!");
}
});
} else {alert("此课程人数已满!");
}
});
});
</script>
</head>
<body>
<header><a style="flow :right" href="index.jsp"> 退出登录 </a></header>
<h3> 学生选课界面 </h3>
<form action="SearchServlet" method="post">
查找:<input type="text" name="search" value=<%=request.getParameter("search") == null?"":request.getParameter("search")%> >
<input type="submit" value="搜索" name="ok" />
</form>
<br><br>
<table class="table">
<tr>
<td> 课程名称 </td>
<td> 剩余量 </td>
<td> 总数量 </td>
<td> 任课教师 </td>
<td> 课程地点 </td>
<td> 课程时间 </td>
<td> 课程时长 </td>
<td> 操作 </td>
</tr>
<c:forEach items="${courseList}" var="courseList">
<tr>
<td>${courseList.courseName}</td>
<td>${courseList.courseRemain}</td>
<td>${courseList.courseTotal}</td>
<td>${courseList.courseTeacher}</td>
<td>${courseList.coursePlace}</td>
<td>${courseList.courseTime}</td>
<td>${courseList.courseTimelength}</td>
<td>
<input type="button" value="选中" name="select" id="${courseList.courseId}"/>
</td>
</tr>
</c:forEach>
</table>
<br><br>
<hr>
<br><br>
<h2> 我的选课 </h2>
<frameset>
<iframe style="width: 80%;" id="stuInfoIframe" src="StudentInfoServlets"></iframe>
</frameset>
</body>
</html>
studentInfo.jsp 学生已选的课程展示
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page contentType="text/html; ISO-8859-1" language="java" import="java.util.*" pageEncoding="utf-8" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title> 学生课程 </title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script type="text/javascript" src="href/jquery-3.4.0.js"></script>
<script type="text/javascript">
// 学生课程
$(document).ready(function() {
$.ajax({
url:"http://localhost:8080/xxmtest6/StudentInfoServlets", // 请求的 url 地址
//dataType:"text", // 返回格式
async:true,// 请求是否异步,默认为异步,这也是 ajax 重要特性
data:{ }, // 参数值, 发送个服务端的数据
type:"GET", // 请求方式
beforeSend:function(){// 请求前的处理},
success:function(req){
// 请求成功时处理
//alert("学生课程显示成功!");
},
complete:function(){
// 请求完成的处理
//alert("请求完成!");
},
error:function(){
// 请求出错处理
//alert("学生课程显示失败!");
}
});
});
// 取消课程
$(document).ready(function() {$("input[name='cancel']").click(function(){var node = $(this);
var nodeId = $(this).attr("id");
var remainNum = $("#"+nodeId, window.parent.document).parent().parent().children("td").eq(1).html();
$.ajax({
url:"http://localhost:8080/xxmtest6/CancelServlet", // 请求的 url 地址
dataType:"json", // 返回格式为 json
async:true,// 请求是否异步,默认为异步,这也是 ajax 重要特性
data:{"id":$(this).attr("id")}, // 参数值
type:"POST", // 请求方式
beforeSend:function(){// 请求前的处理},
success:function(req){
// 请求成功时处理
/* var iframe = window.parent;
var div =iframe.document.getElementById(nodeId);
alert(div.length); */
node.parent().parent().remove();
$("#"+nodeId, window.parent.document).parent().parent().children("td").eq(1).html(parseInt(remainNum)+parseInt("1"));
alert("取消成功!");
//window.location.reload();},
complete:function(){
// 请求完成的处理
//alert("请求完成!");
},
error:function(){
// 请求出错处理
alert("取消失败!");
}
});
});
});
</script>
</head>
<body>
<table class="table">
<tr>
<td> 课程名称 </td>
<td> 任课教师 </td>
<td> 课程地点 </td>
<td> 课程时间 </td>
<td> 课程时长 </td>
<td> 操作 </td>
</tr>
<c:forEach items="${studentCourseList}" var="studentCourseList">
<tr>
<td>${studentCourseList.courseName}</td>
<td>${studentCourseList.courseTeacher}</td>
<td>${studentCourseList.coursePlace}</td>
<td>${studentCourseList.courseTime}</td>
<td>${studentCourseList.courseTimelength}</td>
<td>
<input type="button" value="取消" name="cancel" id="${studentCourseList.courseId}" />
</td>
</tr>
</c:forEach>
</table>
</body>
</html>
admin.jsp 管理员登录
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> 管理员登录 </title>
</head>
<body style="text-align: center;">
<br><br>
<h3> 管理员登录 </h3>
<%
String error = (String)session.getAttribute("error");
if(error!=null&&error.length()!=0){out.println(error);
}
%>
<form action="checkadmin.jsp" method="post">
账号:<input type="text" name="adno">
<br><br>
密码:<input type="password" name="adpassowrd">
<br><br>
<input type="submit" value="登录" name="submit">
<a href="index.jsp"> 返回 </a>
</form>
</body>
</html>
adminCourse.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">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script type="text/javascript" src="href/jquery-3.4.0.js"></script>
<title> 课程后台管理 </title>
</head>
<body>
<header><a href="index.jsp"> 退出登录 </a></header>
<div id="app">
<!-- 标题 -->
<div class="jumbotron jumbotron-fluid py-3">
<div class="container">
<h1 class="display-3"> 选课后台管理 </h1>
<p class="lead"></p>
</div>
</div>
<!-- 主体 -->
<div class="container-fluid">
<div class="row">
<form action="CreateCourseServlet">
<div class="col-lg-14 col-sm-12">
<!-- 输入表单 -->
<div class="card">
<div class="card-body">
<h4 class="card-title" style="color:blue"> 添加课程 </h4>
<!-- 输入框 -->
<div class="form-group">
<label for=""> 课程名字 </label>
<input type="text"
class="form-control form-control-lg"
name="cName">
</div>
<div class="form-group">
<label for=""> 任课老师 </label>
<input type="text"
class="form-control form-control-lg"
name="cTeacher">
</div>
<div class="form-group">
<label for=""> 上课地点 </label>
<input type="text"
class="form-control form-control-lg"
name="cPlace">
</div>
<div class="form-group">
<label for=""> 上课时间 </label>
<input type="text"
class="form-control form-control-lg"
name="cTime">
</div>
<div class="form-group">
<label for=""> 课时 </label>
<input type="text"
class="form-control form-control-lg"
name="cLong">
</div>
<div class="form-group">
<label for=""> 上课总人数 </label>
<input type="text"
class="form-control form-control-lg"
name="cTotal">
</div>
<div class="form-group">
<label for=""> 剩余可选数 </label>
<input type="text"
class="form-control form-control-lg"
name="cRemain">
</div>
</div>
<!-- 按钮 -->
<input type="submit" class="btn btn-primary btn-lg btn-block" value="创建">
</div>
</div>
</form>
<div class="col-lg-8 col-sm-12">
<!-- 表格 -->
<table class="table text-center">
<thead>
<tr class="text-center">
<th> 编号 </th>
<th style="width: 12%"> 课程名 </th>
<th> 任课老师 </th>
<th> 上课地点 </th>
<th style="width: 25%"> 上课时间 </th>
<th style="width: 7%"> 课时 </th>
<th style="width: 7%"> 总人数 </th>
<th > 剩余数 </th>
<th style="width: 18%" > 操作 </th>
</tr>
</thead>
<c:forEach items="${courseList}" var="courseList">
<tr>
<td>${courseList.courseId}</td>
<td>${courseList.courseName}</td>
<td>${courseList.courseTeacher}</td>
<td>${courseList.coursePlace}</td>
<td>${courseList.courseTime}</td>
<td>${courseList.courseTimelength}</td>
<td>${courseList.courseTotal}</td>
<td>${courseList.courseRemain}</td>
<td >
<div class="row">
<div class="col-lg-6 col-sm-12" >
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#edit1${courseList.courseId}"> 编辑 </button>
<!-- 对话框 5.2 -->
<!-- Modal 模态对话框 -->
<div class="modal fade" id="edit1${courseList.courseId}" tabindex="-1" role="dialog" aria-labelledby="modelTitleId" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"> 编辑 </h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<!-- 开始编辑 -->
<form action="AdminCourseServlet" name="edit" method="post">
<div class="form-group">
<!-- 课程号作为 id,不显示,根据 id 进行修改 -->
<input type="hidden" class="form-control" name="newNo" id="newNo"
aria-describedby="helpId" value="${courseList.courseId}">
</div>
<div class="form-group">
<label for=""> 课程名字 </label>
<input type="text"
class="form-control form-control-lg"
value="${courseList.courseName}"
name="ccName">
</div>
<div class="form-group">
<label for=""> 任课老师 </label>
<input type="text"
class="form-control form-control-lg"
value="${courseList.courseTeacher}"
name="ccTeacher">
</div>
<div class="form-group">
<label for=""> 上课地点 </label>
<input type="text"
class="form-control form-control-lg"
value="${courseList.coursePlace}"
name="ccPlace">
</div>
<div class="form-group">
<label for=""> 上课时间 </label>
<input type="text"
class="form-control form-control-lg"
value="${courseList.courseTime}"
name="ccTime">
</div>
<div class="form-group">
<label for=""> 课时 </label>
<input type="text"
class="form-control form-control-lg"
value="${courseList.courseTimelength}"
name="ccLong">
</div>
<div class="form-group">
<label for=""> 上课总人数 </label>
<input type="text"
class="form-control form-control-lg"
value="${courseList.courseTotal}"
name="ccTotal">
</div>
<div class="form-group">
<label for=""> 剩余可选数 </label>
<input type="text"
class="form-control form-control-lg"
value="${courseList.courseRemain}"
name="ccRemain">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal"> 关闭 </button>
<input type="submit" class="btn btn-primary" value="修改">
</div>
</form>
</div>
</div>
</div>
</div>
<div class="col-lg-6 col-sm-12" >
<form action="CancelCourse">
<input type="submit" class="btn btn-danger" value="删除">
<input type="hidden" class="form-control" name="newNo" id="newNo"
aria-describedby="helpId" value="${courseList.courseId}">
</form>
</div>
</div>
</td>
</tr>
</c:forEach>
</table>
</div>
</div>
</div>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</body>
</html>
checkadmin.jsp 检查管理员账号密码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>check</title>
</head>
<body>
<% String adno=request.getParameter("adno");
String adpassword = request.getParameter("adpassowrd");
if(adno==null||adno.length()==0||adpassword==null ||adpassword.length()==0){request.getSession().setAttribute("error", "账号或密码错误");
response.sendRedirect("admin.jsp");
}else{if(!adno.equals("admin")||!adpassword.equals("admin")){request.getSession().setAttribute("error", "账号或密码错误");
response.sendRedirect("admin.jsp");
}else{request.getSession().setAttribute("error", "");
response.sendRedirect("/xxmtest6/FindCourseServlet");
}
}
%>
</body>
</html>
bean
Student.java 学生实体
package xxm.bean;
/**
* 学生实体类
* @author xxm
*
*/
public class Student {
String no;
String name;
String passwd;
String major;
String grade;
String sclass;
String selectedCourse;
public Student() {}
public String getSelectedCourse() {return selectedCourse;}
public void setSelectedCourse(String cid) {this.selectedCourse = cid;}
public String getNo() {return no;}
public void setNo(String no) {this.no = no;}
public String getName() {return name;}
public void setName(String name) {this.name = name;}
public String getPasswd() {return passwd;}
public void setPasswd(String passwd) {this.passwd = passwd;}
public String getMajor() {return major;}
public void setMajor(String major) {this.major = major;}
public String getGrade() {return grade;}
public void setGrade(String grade) {this.grade = grade;}
public String getSclass() {return sclass;}
public void setSclass(String sclass) {this.sclass = sclass;}
}
Course.java 课程实体类
package xxm.bean;
/**
* 课程
*
* @author xxm
*
*/
public class Course {
int courseId;
String courseName;
int courseRemain;
int courseTotal;
String courseTeacher;
String coursePlace;
String courseTime;
String courseTimelength;
public Course() {}
public int getCourseId() {return courseId;}
public void setCourseId(int courseId) {this.courseId = courseId;}
public String getCourseName() {return courseName;}
public void setCourseName(String courseName) {this.courseName = courseName;}
public int getCourseRemain() {return courseRemain;}
public void setCourseRemain(int courseRemain) {this.courseRemain = courseRemain;}
public int getCourseTotal() {return courseTotal;}
public void setCourseTotal(int courseTotal) {this.courseTotal = courseTotal;}
public String getCourseTeacher() {return courseTeacher;}
public void setCourseTeacher(String courseTeacher) {this.courseTeacher = courseTeacher;}
public String getCoursePlace() {return coursePlace;}
public void setCoursePlace(String coursePlace) {this.coursePlace = coursePlace;}
public String getCourseTime() {return courseTime;}
public void setCourseTime(String courseTime) {this.courseTime = courseTime;}
public String getCourseTimelength() {return courseTimelength;}
public void setCourseTimelength(String courseTimelength) {this.courseTimelength = courseTimelength;}
}
数据库操作
DBO
DBOper.java
package xxm.database;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import xxm.bean.Student;
import xxm.dao.StudentDao;
public class DBOper {
// 驱动
private static String driver = "com.mysql.cj.jdbc.Driver";
//database 名,选择我要用的数据库 shiyan6
private static String url = "jdbc:mysql://localhost:3306/shiyan6?serverTimezone=UTC";
// 验证用户名和密码
private static String username = "root";
private static String passwd= "123456";
// 数据库的连接对象
private static Connection conn = null;
//Statement 对象
private static PreparedStatement ps = null;
ResultSet rs = null;
/**
* 连接数据库
* @return
* @throws SQLException
*/
public Connection getConnection() throws SQLException {
try {Class.forName(driver);
conn = DriverManager.getConnection(url,username,passwd);// 连接数据库
} catch (ClassNotFoundException e) {System.err.println("无法连接数据库!");
}// 加载驱动
return conn;
}
// 执行 sql 语句,可以进行查询
public ResultSet executeQuery(String preparedSql,String []param){
try{ps = conn.prepareStatement(preparedSql);
if(param != null){for (int i = 0; i < param.length; i++) {ps.setString(i + 1, param[i]);
}
}
rs = ps.executeQuery();}catch(SQLException e){e.printStackTrace();
}
return rs;
}
// 执行 sql 语句,增加,修改,删除
public int executeUpdate(String preparedSql,String[]param){
int num = 0;
try{ps = conn.prepareStatement(preparedSql);
if(ps != null){for (int i = 0; i < param.length; i++) {ps.setString(i + 1, param[i]);
}
}
num = ps.executeUpdate();}catch(SQLException e){e.printStackTrace();
}
return num;
}
public static void main(String[] args) {
try {DBOper dao = new DBOper();
Connection conn=dao.getConnection();
if(conn!=null)
{System.out.println("连接数据库正常");
}
else {System.out.println("连接数据库异常");
}
} catch (Exception ex) {
// TODO: handle exception
ex.printStackTrace();}
}
}
StudentDao.java
package xxm.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import xxm.bean.Student;
import xxm.database.DBOper;
public class StudentDao extends DBOper{
Connection conn =null;
public StudentDao() {
try {conn= super.getConnection();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();}
}
/**
* 添加学生用户
* @param student
* @return
*/
public boolean addUser(Student student){
boolean r = false;
String sql = "INSERT INTO student(sno,sname,spassword,smajor,sclass,sgrade) VALUES(?,?,?,?,?,?);";
try{int num = this.executeUpdate(sql,new String[]{student.getNo(),student.getName(),student.getPasswd(),student.getMajor(),student.getSclass(),student.getGrade()});
if(num > 0){r = true;}
}catch(Exception e){e.printStackTrace();
}finally{//this.closeAll();
}
return r;
}
}
CourseDao.java
package xxm.dao;
import java.sql.Connection;
import java.sql.SQLException;
import xxm.bean.Course;
import xxm.bean.Student;
import xxm.database.DBOper;
/**
* 课程管理
*
* @author xxm
*
*/
public class CourseDao extends DBOper{
Connection conn =null;
public CourseDao(){
try {conn= super.getConnection();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();}
}
/**
* 添加选课课程
* @param course
* @return
*/
public boolean addCourse(Course course){
boolean r = false;
String sql = "INSERT INTO course(course_Name,course_Remain,course_Total,course_Teacher,course_Place,course_Time,course_Timelength) VALUES(?,?,?,?,?,?,?);";
try{int num = this.executeUpdate(sql,new String[]{course.getCourseName(),String.valueOf(course.getCourseRemain()),String.valueOf(course.getCourseTotal()),course.getCourseTeacher(),course.getCoursePlace(),course.getCourseTime(),course.getCourseTimelength()});
if(num > 0){r = true;}
}catch(Exception e){e.printStackTrace();
}finally{//this.closeAll();
}
return r;
}
/**
* 更新
* @param course
* @return
*/
public boolean update(Course course) {
String sql = "update course set course_Name=?,course_Teacher=?,course_Place=?,course_Time=?,course_Timelength=?,course_Total=?,course_Remain=? where course_Id = ?";
int num = this.executeUpdate(sql, new String[]{course.getCourseName(),
course.getCourseTeacher(),
course.getCoursePlace(),
course.getCourseTime(),
course.getCourseTimelength(),
String.valueOf(course.getCourseTotal()),
String.valueOf(course.getCourseRemain()),
String.valueOf(course.getCourseId())});
if(num>0)
return true;
else return false;
}
}
Servlet
处理学生选课的 servlet
RegisterServlet.java 学生注册
package xxm.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletContext;
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 xxm.bean.Student;
import xxm.dao.StudentDao;
@WebServlet("/RegisterServlet")
public class RegisterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public RegisterServlet() {super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request,response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset = utf-8");
String userno = request.getParameter("userNo");
String username = request.getParameter("userName");
String userpass = request.getParameter("password");
String major = request.getParameter("major");
String grade = request.getParameter("grade");
String sclass = request.getParameter("sclass");
PrintWriter out = response.getWriter();
Student user = new Student();
user.setNo(userno);
user.setName(username);
user.setPasswd(userpass);
user.setMajor(major);
user.setGrade(grade);
user.setSclass(sclass);
StudentDao dao = new StudentDao();
try {Connection conn = dao.getConnection();
if(conn!=null) {out.print("conn is not null");
}
if(dao.addUser(user)){out.print("注册成功!");
response.sendRedirect("login.jsp");
}
else{out.print("注册失败!");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();}
}
}
LoginServlet.java 学生登录
package xxm.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import xxm.database.DBOper;
/**
* Servlet implementation class LoginServlet
*/
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public LoginServlet() {super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request,response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset = utf-8");
PrintWriter out = response.getWriter();
String stuno = request.getParameter("stuno");
String stupass = request.getParameter("stupassowrd");
DBOper db = new DBOper();
try {db.getConnection();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();}
String sql = "SELECT sno,spassword FROM student WHERE sno = ? AND spassword = ?";
ResultSet rs = db.executeQuery(sql,new String[]{stuno,stupass});
try {if(rs != null && rs.next()){HttpSession session = request.getSession();
session.setAttribute("numSession", stuno);
Cookie cookie = new Cookie("stuno",stuno);
cookie.setMaxAge(60*60*24*30);
response.addCookie(cookie);
// 登录成功,跳转...
RequestDispatcher dispatcher = request.getRequestDispatcher("/FindServlet");
dispatcher.forward(request,response);
}else{out.print("登录失败");
out.print("<br><a href ='login.jsp'> 重新登陆 </a>");
// response.setContentType("text/html;charset=UTF-8");
//
// response.setHeader("refresh", "0; url=/StudentSelect");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();}
}
public void init()throws ServletException {}
}
FindServlet.java 选课主页
package xxm.servlet;
import java.io.IOException;
import java.sql.Connection;
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 java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import xxm.bean.Course;
import xxm.database.DBOper;
/**
* 主页显示信息的 Servlet
*
* @author xxm
*
*/
@WebServlet("/FindServlet")
public class FindServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public FindServlet() {super();
// TODO Auto-generated constructor stub
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {process(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {process(req, resp);
}
public void process(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
try {
// 创建 Connection 连接
DBOper dao = new DBOper();
Connection conn = dao.getConnection();
// SQL 语句
String sql = "select * from course";
// 获取 Statement
Statement statement = conn.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
List<Course> courseList = new ArrayList<Course>();
while (resultSet.next()) {Course course = new Course();
course.setCourseId(resultSet.getInt("course_Id"));
course.setCourseName(resultSet.getString("course_Name"));
course.setCourseRemain(resultSet.getInt("course_Remain"));
course.setCourseTotal(resultSet.getInt("course_Total"));
course.setCourseTeacher(resultSet.getString("course_Teacher"));
course.setCoursePlace(resultSet.getString("course_Place"));
course.setCourseTime(resultSet.getString("course_Time"));
course.setCourseTimelength(resultSet.getString("course_Timelength"));
courseList.add(course);
}
req.setAttribute("courseList", courseList);
resultSet.close();
statement.close();
conn.close();} catch (Exception e) {e.printStackTrace();
}
req.getRequestDispatcher("/studentIndex.jsp").forward(req, resp);
}
}
StudentInfoServlets.java 学生已选课程
package xxm.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
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 xxm.bean.Course;
import xxm.bean.Student;
import xxm.database.DBOper;
/**
* Servlet implementation class StudentInfoServlets
*/
@WebServlet("/StudentInfoServlets")
public class StudentInfoServlets extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public StudentInfoServlets() {super();
// TODO Auto-generated constructor stub
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {process(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {process(req, resp);
}
protected void process(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
try {Connection conn = (new DBOper()).getConnection();
Statement statement = (Statement) conn.createStatement();
String numSession = (String) req.getSession().getAttribute("numSession");
String sql1 = "select * from student where sno =" + numSession;
ResultSet resultSet = statement.executeQuery(sql1);
List<Student> courseStudentList = new ArrayList<Student>();
while (resultSet.next()) {Student student = new Student();
student.setSelectedCourse(resultSet.getString("selected_course"));
// 将学生加入到课程列表
courseStudentList.add(student);
}
String courseStudentString= courseStudentList.get(0).getSelectedCourse();
String[] array = courseStudentString.split(",");
List<Course> studentCourseList = new ArrayList<Course>();
for (String s:array) {
String sql2 = "select * from course where course_Id =" + s ;
resultSet = statement.executeQuery(sql2);
while (resultSet.next()) {Course course = new Course();
course.setCourseId(resultSet.getInt("course_Id"));
course.setCourseName(resultSet.getString("course_Name"));
course.setCourseTeacher(resultSet.getString("course_Teacher"));
course.setCoursePlace(resultSet.getString("course_Place"));
course.setCourseTime(resultSet.getString("course_Time"));
course.setCourseTimelength(resultSet.getString("course_Timelength"));
// 将课程加入学生课程列表
studentCourseList.add(course);
}
}
req.setAttribute("studentCourseList", studentCourseList);
resultSet.close();
statement.close();
conn.close();} catch (Exception e) {e.printStackTrace();
}
resp.setCharacterEncoding("UTF-8");
req.getRequestDispatcher("studentInfo.jsp").forward(req, resp);
}
}
RemainAddServlet.java 剩余可选数
package xxm.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
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 xxm.database.DBOper;
/**
* Servlet implementation class RemainAddServlet
*/
@WebServlet("/RemainAddServlet")
public class RemainAddServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {process(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {process(req, resp);
}
protected void process(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
try {DBOper db = new DBOper();
Connection conn = db.getConnection();
Statement statement = (Statement) conn.createStatement();
//String keyString = new String(req.getParameter("id").getBytes("iso-8859-1"), "utf-8");
req.setCharacterEncoding("UTF-8");
// 课程号
String keyString = req.getParameter("id");
if(keyString == null) {
keyString = "";
resp.sendRedirect("/FindServlet");
return;
}
// 添加课程, 只能选一门课程
String numSession = (String) req.getSession().getAttribute("numSession");
String sql1 = "select selected_course from student where sno =" + numSession;
ResultSet resultSet = statement.executeQuery(sql1);
String course = "";
while (resultSet.next()) {course = resultSet.getString("selected_course");
}
// 还没有选课
if(course==null||course.length()==0) {
// 修改课程数据
String sql2 = "update student set selected_course=\'" + keyString + "\' where sno = " + numSession;
statement.executeUpdate(sql2);
// 课程余量 -1
String sql = "update course set course_Remain=course_Remain-1 where course_Id = \'"+ keyString + "\'";
statement.executeUpdate(sql);
}else {PrintWriter pw = resp.getWriter();
pw.println("<h4> 重复选课 </h4>");
}
statement.close();
conn.close();} catch (Exception e) {e.printStackTrace();
}
resp.getWriter().print("{\"data\":\" 返回 json 数据!\"}");
}
}
CancelServlet.java 取消选课
package xxm.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
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 xxm.database.DBOper;
/**
* 取消选课
*/
@WebServlet("/CancelServlet")
public class CancelServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public CancelServlet() {super();
// TODO Auto-generated constructor stub
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {process(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {process(req, resp);
}
protected void process(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
try {Connection conn = (new DBOper()).getConnection();
Statement statement = (Statement) conn.createStatement();
//String keyString = new String(req.getParameter("id").getBytes("iso-8859-1"), "utf-8");
req.setCharacterEncoding("UTF-8");
String course = req.getParameter("id");
if(course == null) {
course = "";
resp.sendRedirect("/FindServlet");
return;
}
String numSession = (String) req.getSession().getAttribute("numSession");
// String sql1 = "select selected_course from student where sno ='" + numSession + "'";
// ResultSet resultSet = statement.executeQuery(sql1);
// 取出课程字符串
// String courseString = "";
// while (resultSet.next()) {// courseString = resultSet.getString("selected_course");
// }
// 找到课程 id
// Integer spot = ;
// courseString = courseString.substring(0, spot) + courseString.substring(spot+2);
// 更新课程数据, 取消
String sql2 = "update student set selected_course=NULL where sno =" + numSession ;
statement.executeUpdate(sql2);
// 课程余量 +1
String sql3 = "update course set course_Remain=course_Remain+1 where course_Id ="+ course;
statement.executeUpdate(sql3);
statement.close();
conn.close();} catch (Exception e) {e.printStackTrace();
}
resp.getWriter().print("{\"data\":\" 返回 json 数据!\"}");
}
}
管理员操作部分
FindCourseServlet.java 管理员主页展示
package xxm.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
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 xxm.bean.Course;
import xxm.database.DBOper;
/**
* 显示课程信息
*
* @author xxm
*
*/
@WebServlet("/FindCourseServlet")
public class FindCourseServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public FindCourseServlet() {super();
// TODO Auto-generated constructor stub
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {process(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {process(req, resp);
}
public void process(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
// 创建 Connection 连接
DBOper dao = new DBOper();
Connection conn = dao.getConnection();
// SQL 语句
String sql = "select * from course";
// 获取 Statement
Statement statement = conn.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
List<Course> courseLists = new ArrayList<Course>();
while (resultSet.next()) {Course course = new Course();
course.setCourseId(resultSet.getInt("course_Id"));
course.setCourseName(resultSet.getString("course_Name"));
course.setCourseRemain(resultSet.getInt("course_Remain"));
course.setCourseTotal(resultSet.getInt("course_Total"));
course.setCourseTeacher(resultSet.getString("course_Teacher"));
course.setCoursePlace(resultSet.getString("course_Place"));
course.setCourseTime(resultSet.getString("course_Time"));
course.setCourseTimelength(resultSet.getString("course_Timelength"));
courseLists.add(course);
}
request.setAttribute("courseList", courseLists);
resultSet.close();
statement.close();
conn.close();} catch (Exception e) {e.printStackTrace();
}
request.getRequestDispatcher("adminCourse.jsp").forward(request, response);
}
}
CreateCourseServlet.java 添加新的课程
package xxm.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.SQLException;
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 xxm.bean.Course;
import xxm.bean.Student;
import xxm.dao.CourseDao;
import xxm.dao.StudentDao;
/**
* 创建课程,管理员
*
* @author xxm
*
*/
@WebServlet("/CreateCourseServlet")
public class CreateCourseServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public CreateCourseServlet() {super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request,response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset = utf-8");
String cName = request.getParameter("cName");
String cTeacher = request.getParameter("cTeacher");
String cPlace = request.getParameter("cPlace");
String cTime = request.getParameter("cTime");
String cLong = request.getParameter("cLong");
int cTotal = Integer.parseInt(request.getParameter("cTotal"));
int cRemain = Integer.parseInt(request.getParameter("cRemain"));
PrintWriter out = response.getWriter();
// 设置属性
Course course = new Course();
course.setCourseName(cName);
course.setCourseTeacher(cTeacher);
course.setCoursePlace(cPlace);
course.setCourseTime(cTime);
course.setCourseTimelength(cLong);
course.setCourseTotal(cTotal);
course.setCourseRemain(cRemain);
// 添加到数据库
CourseDao dao = new CourseDao();
try {Connection conn = dao.getConnection();
if(conn!=null) {out.print("conn is not null");
}
if(dao.addCourse(course)){out.print("添加成功!");
System.out.println("成功!");
response.sendRedirect("/xxmtest6/FindCourseServlet");
}
else{out.print("添加失败!");
System.out.println("失败!");
response.sendRedirect("/xxmtest6/FindCourseServlet");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();}
}
}
CancelCourse.java 删除课程
package xxm.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
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 xxm.dao.CourseDao;
/**
* 删除课程
* @author Administrator
*
*/
@WebServlet("/CancelCourse")
public class CancelCourse extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public CancelCourse() {super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
String courseId = request.getParameter("newNo");
// 删除数据
CourseDao dao = new CourseDao();
try {Connection conn = dao.getConnection();
String sql = "delete from course where course_Id =" + courseId;
Statement statement = (Statement) conn.createStatement();
if(courseId == null) {
courseId = "";
response.sendRedirect("/xxmtest6/FindCourseServlet");
return;
}
response.sendRedirect("/xxmtest6/FindCourseServlet");
statement.executeUpdate(sql);
statement.close();
conn.close();} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();}finally {}}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
AdminCourseServlet.java 修改课程信息
package xxm.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
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 xxm.bean.Course;
import xxm.dao.CourseDao;
/**
* 修改课程数据
*
* @author xxm
*
*/
@WebServlet("/AdminCourseServlet")
public class AdminCourseServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AdminCourseServlet() {super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
int cid = Integer.parseInt(request.getParameter("newNo"));
String cteach = request.getParameter("ccTeacher");
String cname = request.getParameter("ccName");
String cplace = request.getParameter("ccPlace");
String ctime = request.getParameter("ccTime");
String clong = request.getParameter("ccLong");
int ctotal= Integer.parseInt(request.getParameter("ccTotal"));
int cremain = Integer.parseInt(request.getParameter("ccRemain"));
System.out.printf("%d,%s,%s,%s,%s,%s,%d,%d\n",cid,cteach,cplace,cname,ctime,clong,ctotal,cremain);
System.out.println("===========");
// 设置属性
Course course = new Course();
course.setCourseId(cid);
course.setCourseName(cname);
course.setCourseTeacher(cteach);
course.setCoursePlace(cplace);
course.setCourseTime(ctime);
course.setCourseTimelength(clong);
course.setCourseTotal(ctotal);
course.setCourseRemain(cremain);
// 修改数据
CourseDao dao = new CourseDao();
try {Connection conn = dao.getConnection();
if(dao.update(course)) {System.out.println("修改成功!");
}else {System.out.println("修改失败!");
}
conn.close();
response.sendRedirect("/xxmtest6/FindCourseServlet");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();}finally {}}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
工程已上传到链接描述
正文完
2019-05-30