javaweb网上选课mysql_JavaWeb学生选课(Servlet、JSP、JDBC)

运行结果:

85f1118148d1ca3803d4703767ca6223.png

c90fe3c4cdf747f2b046b4d05445e97a.png

d6087ffe8ef8a69441377f86c1266236.png

a067757de6aa4dbf821a2a8c6f9a8729.png

71ce768eeedb31f418ee00343e6ea6bf.png

41ff7e02192ecfcf410993d6d92da053.png

82d27eef5482c215099886e2c142ca92.png

数据库的2个表:

course表

5196bf0a6bc38b44d7899aa53f724edf.png

student表

24b266f5a36a7395ee6cc4adfe3c754c.png

ps:一定要build path导入数据库用的jar包,以及在在lib文件夹中导入数据库jar包

文件目录结构:

9124f3d06b3677427e7003d16bbeefe7.pnga184490a9429265de3e1c86cd72b03c8.png

具体代码:

index.jsp 首页

pageEncoding="UTF-8"%>

欢迎进入选课系统

欢迎进入选课 系统

学生登录

学生注册

管理员登录

login.jsp 学生登录

pageEncoding="UTF-8"%>

学生登录

学生登录

学号:

密码:

注册

返回

regist.jsp 学生注册

pageEncoding="UTF-8"%>

注册

注册页面

学号:
姓名:
密码:
院系:
年级:
班级:

您有账号?点击直接登录

studentIndex.jsp 学生选课主页

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

学生选课

//选择课程

$(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("此课程人数已满!");

}

});

});

退出登录

学生选课界面

查找: >

课程名称剩余量总数量任课教师课程地点课程时间课程时长操作
${courseList.courseName }${courseList.courseRemain }${courseList.courseTotal }${courseList.courseTeacher }${courseList.coursePlace }${courseList.courseTime }${courseList.courseTimelength }

我的选课

studentInfo.jsp 学生已选的课程展示

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

学生课程

//学生课程

$(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("取消失败!");

}

});

});

});

课程名称任课教师课程地点课程时间课程时长操作
${studentCourseList.courseName }${studentCourseList.courseTeacher }${studentCourseList.coursePlace }${studentCourseList.courseTime }${studentCourseList.courseTimelength }

admin.jsp 管理员登录

pageEncoding="UTF-8"%>

管理员登录

管理员登录

String error = (String)session.getAttribute("error");

if(error!=null&&error.length()!=0){

out.println(error);

}

%>

账号:

密码:

返回

adminCourse.jsp 管理课程页面

pageEncoding="UTF-8"%>

课程后台管理

退出登录

选课后台管理

添加课程

课程名字

class="form-control form-control-lg"

name="cName">

任课老师

class="form-control form-control-lg"

name="cTeacher">

上课地点

class="form-control form-control-lg"

name="cPlace">

上课时间

class="form-control form-control-lg"

name="cTime">

课时

class="form-control form-control-lg"

name="cLong">

上课总人数

class="form-control form-control-lg"

name="cTotal">

剩余可选数

class="form-control form-control-lg"

name="cRemain">

编号课程名任课老师上课地点上课时间课时总人数剩余数操作

${courseList.courseId}${courseList.courseName }${courseList.courseTeacher }${courseList.coursePlace }${courseList.courseTime }${courseList.courseTimelength }${courseList.courseTotal }${courseList.courseRemain }

编辑

aria-describedby="helpId" value="${courseList.courseId}">

checkadmin.jsp 检查管理员账号密码

pageEncoding="UTF-8"%>

check

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");

}

}

%>

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("重新登陆");

// 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 courseList = new ArrayList();

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 courseStudentList = new ArrayList();

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 studentCourseList = new ArrayList();

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("

重复选课
");

}

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 courseLists = new ArrayList();

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

}

}

工程已上传到链接描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值