Java项目:servlet+jsp选课管理系统

133 篇文章 9 订阅

作者主页:源码空间站2022

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

jsp选课系统

项目介绍

一款简单的Servlet + mysql + jsp的选课系统,主要有三大模块,管理员模块,教师模块,学生模块。管理员模块主要功能模块有系统管理,课程管理,教师管理,课表管理,学生管理;教师模块和学生模块的主要功能模块有个人信息和课表信息的查询,其中学生包括选课的功能。

软件架构

Servlet、mysql5.7、jsp、jdk1.8、tomcat8.0

安装教程

1.  导入数据库xuanke.sql
2.  导入项目,找到文件中util下的DB.java,修改你自己数据库的帐号和密码

3.  运行

运行截图

相关代码 

KeBiao

package com.xuanke.model;
/**
 * 课表实体类
 * @author Leo
 *
 */

public class KeBiao {
	private int id;
	private int kecheng_id;
	private String shijian;
	private String jieci;
	private String jiaoshi;
	private int laoshi_id;

	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public int getKecheng_id() {
		return kecheng_id;
	}
	public void setKecheng_id(int kecheng_id) {
		this.kecheng_id = kecheng_id;
	}
	public String getShijian() {
		return shijian;
	}
	public void setShijian(String shijian) {
		this.shijian = shijian;
	}
	public String getJieci() {
		return jieci;
	}
	public void setJieci(String jieci) {
		this.jieci = jieci;
	}
	public String getJiaoshi() {
		return jiaoshi;
	}
	public void setJiaoshi(String jiaoshi) {
		this.jiaoshi = jiaoshi;
	}
	
	public int getLaoshi_id() {
		return laoshi_id;
	}
	public void setLaoshi_id(int laoshi_id) {
		this.laoshi_id = laoshi_id;
	}

	
	
}

AddAdmin

package com.xuanke.servlet;
/**
 * 添加管理员
 */

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.xuanke.util.DB;

/**
 * Servlet implementation class AddAdmin
 */
@WebServlet("/AddAdmin")
public class AddAdmin extends HttpServlet {
	private static final long serialVersionUID = 1L;
    public AddAdmin() {
        super();
    }


	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//添加管理员信息
		request.setCharacterEncoding("UTF-8");
		response.setCharacterEncoding("UTF-8");

		// 获取页面传过来的值
		String userName = request.getParameter("userName");
		String userPw = request.getParameter("userPw");
		String oldName = request.getParameter("oldName");
		int oldId = Integer.parseInt(request.getParameter("oldId"));
		
		//创建数据库操作对象
		DB db = new DB();
		PreparedStatement ps;//创建ps对象
		String sql = "insert into admin(userName,userPw) values(?,?)";
		
		//调用db中的方法
		ps = db.getPs(sql);
		//添加数据
		try {
			ps.setString(1, userName);
			ps.setString(2, userPw);
			ps.executeUpdate();//执行sql语句
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		db.closed();//关闭数据流
		PrintWriter out = response.getWriter();
		response.sendRedirect("admin/adminMes.jsp?oldName=" + oldName + "&oldId=" + oldId);
		/*request.setAttribute("oldName", oldName);
		RequestDispatcher dispatcher = request.getRequestDispatcher("admin/adminMes.jsp");    // 使用req对象获取RequestDispatcher对象
	    dispatcher.forward(request, response);*/
		
		
		doGet(request, response);
	}

}

DB

package com.xuanke.util;

import java.sql.*;

/**
 * 数据库操作类
 * @author Leo
 *
 */

public class DB {
	private Connection con;
	private PreparedStatement ps;
	private ResultSet rs;
	private Statement stmt;
	private String user = "root";
	private String password = "";
	private String className = "com.mysql.jdbc.Driver";
	private String url = "jdbc:mysql://:3306/xuanke?useUnicode=true&characterEncoding=utf8";

	public DB() {
		try {
			Class.forName(this.className);
		} catch (ClassNotFoundException e) {
			System.out.println("加载数据库驱动失败!");
			e.printStackTrace();
		}
	}

	public Connection getCon() {
		try {
			this.con = DriverManager.getConnection(this.url, this.user, this.password);
		} catch (SQLException e) {
			System.out.println("创建数据库联接失败!");
			this.con = null;
			e.printStackTrace();
		}
		return this.con;
	}

	//增加,更新,查找
	public PreparedStatement getPs(String sql) {
		con = getCon();
		// 向数据表添加信息
		try {
			ps = con.prepareStatement(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return ps;
	}

	//删除操作
	public int del(String sql) {
		con = getCon();
		try {
			stmt = con.createStatement();//创建statement对象
			stmt.executeUpdate(sql);
		} catch (SQLException e) {
			e.printStackTrace();
			return -1;//删除失败
		}
		return 1;//删除成功
	}

	//分页begin 数据记录从第几条开始    begin=(当前页数-1)*size size 每页的记录数
	//select * from xxx order by id desc limit begin,size
	public ResultSet getPage(String sql,int begin,int size) {
		con = getCon();
		String s = " limit " + begin + "," + size;
		sql = sql + s;
		try {
			stmt = con.createStatement();//创建statement对象
			rs = stmt.executeQuery(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return rs;
	}

	public void closed() {
		try {
			if (this.ps != null) {
				this.ps.close();
			}
		} catch (SQLException e) {
			System.out.println("关闭ps对象失败!");
			e.printStackTrace();
		}
		try {
			if(this.stmt != null) {
				this.stmt.close();
			}
		} catch (Exception e) {
			System.out.println("关闭stmt对象失败!");
			e.printStackTrace();
		}
		try {
			if(this.rs != null) {
				this.rs.close();
			}
		} catch (Exception e) {
			System.out.println("关闭rs对象失败!");
			e.printStackTrace();
		}
		try {
			if (this.con != null) {
				this.con.close();
			}
		} catch (SQLException e) {
			System.out.println("关闭con对象失败!");
			e.printStackTrace();
		}
	}
}

AddXueSheng

package com.xuanke.servlet;
/**
 * 添加学生,这里也可以考虑用poi导入
 */

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.PreparedStatement;
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 com.xuanke.util.DB;

/**
 * Servlet implementation class AddXueSheng
 */
@WebServlet("/AddXueSheng")
public class AddXueSheng extends HttpServlet {
	private static final long serialVersionUID = 1L;
    public AddXueSheng() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//添加学生
		request.setCharacterEncoding("UTF-8");
		response.setCharacterEncoding("UTF-8");
		
		// 获取页面传过来的值
		String xuehao = request.getParameter("xuehao");
		String xingming = request.getParameter("xingming");
		String xingbie = request.getParameter("xingbie");
		String nianling = request.getParameter("nianling");
		String banji = request.getParameter("banji");
		String loginname = request.getParameter("loginname");
		String loginpw = request.getParameter("loginpw");
		String oldName = request.getParameter("oldName");
		int oldId = Integer.parseInt(request.getParameter("oldId"));
		
		// 创建数据库操作对象
		DB db = new DB();
		PreparedStatement ps;// 创建ps对象
		String sql = "insert into xuesheng(xuehao,xingming,xingbie,nianling,banji,loginname,loginpw) values(?,?,?,?,?,?,?)";

		// 调用db中的方法
		ps = db.getPs(sql);
		// 添加数据
		try {
			ps.setString(1, xuehao);
			ps.setString(2, xingming);
			ps.setString(3, xingbie);
			ps.setString(4, nianling);
			ps.setString(5, banji);
			ps.setString(6, loginname);
			ps.setString(7, loginpw);
			ps.executeUpdate();// 执行sql语句
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		db.closed();// 关闭数据流
		PrintWriter out = response.getWriter();
		response.sendRedirect("admin/xueshengMes.jsp?oldName=" + oldName + "&oldId=" + oldId);
		doGet(request, response);
	}

}

DeleKeBiao

package com.xuanke.servlet;
/**
 * 删除课表信息
 */

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.xuanke.util.DB;

/**
 * Servlet implementation class DeleKeBiao
 */
@WebServlet("/DeleKeBiao")
public class DeleKeBiao extends HttpServlet {
	private static final long serialVersionUID = 1L;
    public DeleKeBiao() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		response.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");//解决乱码
		response.getWriter().append("Served at: ").append(request.getContextPath());
		
		int id = Integer.parseInt(request.getParameter("id"));  //获传过来的值
		String oldName = request.getParameter("oldName");
		int oldId = Integer.parseInt(request.getParameter("oldId"));
		//创建DB对象
		DB db = new DB();
		String sql = "delete from kebiao where id=" + id;//创建sql语句
		//调用删除操作
		db.del(sql);
		//关闭数据流
		db.closed();
		PrintWriter out = response.getWriter();
		response.sendRedirect("admin/kebiaoMes.jsp?oldName=" + oldName + "&oldId=" + oldId);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

DeleKeCheng

package com.xuanke.servlet;
/**
 * 删除课程
 */

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.xuanke.util.DB;

/**
 * Servlet implementation class DeleKeCheng
 */
@WebServlet("/DeleKeCheng")
public class DeleKeCheng extends HttpServlet {
	private static final long serialVersionUID = 1L;
    public DeleKeCheng() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		response.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");//解决乱码
		
		int id = Integer.parseInt(request.getParameter("id"));  //获传过来的值
		String oldName = request.getParameter("oldName");
		int oldId = Integer.parseInt(request.getParameter("oldId"));
		//创建DB对象
		DB db = new DB();
		String sql = "delete from kecheng where id=" + id;//创建sql语句
		//调用删除操作
		db.del(sql);
		//关闭数据流
		db.closed();
		PrintWriter out = response.getWriter();
		response.sendRedirect("admin/kechengMes.jsp?oldName=" + oldName + "&oldId=" + oldId);
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

DeleLaoShi

package com.xuanke.servlet;
/**
 * 删除老师数据
 */

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.xuanke.util.DB;

/**
 * Servlet implementation class DeleLaoShi
 */
@WebServlet("/DeleLaoShi")
public class DeleLaoShi extends HttpServlet {
	private static final long serialVersionUID = 1L;
    public DeleLaoShi() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		response.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");//解决乱码
		response.getWriter().append("Served at: ").append(request.getContextPath());
		
		int id = Integer.parseInt(request.getParameter("id"));  //获传过来的值
		String oldName = request.getParameter("oldName");
		int oldId = Integer.parseInt(request.getParameter("oldId"));
		//创建DB对象
		DB db = new DB();
		String sql = "delete from laoshi where id=" + id;//创建sql语句
		//调用删除操作
		db.del(sql);
		//关闭数据流
		db.closed();
		PrintWriter out = response.getWriter();
		response.sendRedirect("admin/laoshiMes.jsp?oldName=" + oldName + "&oldId=" + oldId);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

如果也想学习本系统,下面领取。关注并回复:003jsp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值