基于JavaWeb的简单在线选课系统(idea使用,版本原因,需要修改些许代码去适应个人的idea配置)

本系统主要技术包括jsp、servlet、JavaBean、数据库运用mysql,调用数据库技术用的是util,也可根据自己要求修改成spring的ssm框架去调用数据库简化代码,防止冗余。

此系统是一个简单的在线选课系统,满足三方人员的使用(管理员,教师,学生),学生能通过系统进行选课,老师能通过系统进行添加课程,管理员能通过系统进行添加人员,在个人登录后,将拥有相关人员登录的权限,例如学生的浏览课程,老师的浏览选课。

用户角色划分

  1. 管理员

使用本系统的后台功能,可以进行教师和学生的添加

  1. 教师

使用本系统的前台功能,可以进行课程的添加,教师本人信息的修改,选课信息的查找。

      3、学生

使用本系统的前台功能,可以进行选课信息的查找,学生本人信息的修改以及课程的选择。

用户登录及功能设计:

一.管理员登录及功能设计:

2.教师登录及用户设计:

 3.学生登录及用户设计:

数据库登录设计:(此登录设计往后学习到SSM框架后可用Spring的applicationContext去代替访问数据库,减少代码量,访问更加快速直接:如下图二)

 

二. 网页界面以及各页面间跳转设计:

1.管理员界面设计:

2.教师界面设计:

3.学生界面设计:

 4.登录界面以及主界面设计:

 三.代码设计:

1.java代码:

Guanli包:

Add类:

package online_select.Guanli;

import online_select.Login.DBUtil;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

public class Add {
    public boolean add(String table,AddService en)
    {
        boolean c=false;
        String sql="insert into "+table+"(username,password,power,name) values"
                + "('"+en.getUsername()+"','"+en.getPassword()+"','"+en.getPower()+"','"+en.getName()+"');";
        Connection conn= DBUtil.getConn();
        Statement state=null;
        try {
            state=conn.createStatement();
            int num=state.executeUpdate(sql);
            if(num!=0)
                c=true;


            state.close();
            conn.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            //e.printStackTrace();
        }


        return c;

    }
    public boolean add(String table,TeacherService en)
    {
        boolean c=false;
        String sql="insert into "+table+"(teac_id,teac_name,teac_sex,college,postion) values"
                + "('"+en.getTeac_id()+"','"+en.getTeac_name()+"','"+en.getTeac_sex()+"','"+en.getCollege()+"','"+en.getPostion()+"');";
        Connection conn=DBUtil.getConn();
        Statement state=null;
        try {
            state=conn.createStatement();
            int num=state.executeUpdate(sql);
            if(num!=0)
                c=true;


            state.close();
            conn.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            //e.printStackTrace();
        }


        return c;

    }
    public boolean add(String table,StudentService en)
    {
        boolean c=false;
        String s = "','" + en.getCollege() + "');";
        String sql="insert into "+table+"(stu_id,stu_name,stu_sex,class_name,college) values"
                + "('"+en.getStu_id()+"','"+en.getStu_name()+"','"+en.getStu_sex()+"','"+en.getStu_sex()+"','"+en.getCollege()+"');";
        Connection conn=DBUtil.getConn();
        Statement state=null;
        try {
            state=conn.createStatement();
            int num=state.executeUpdate(sql);
            if(num!=0)
                c=true;


            state.close();
            conn.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            //e.printStackTrace();
        }


        return c;

    }

}

AddService类:

package online_select.Guanli;

public class AddService {
    String username;
    String password;
    String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    int power;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public int getPower() {
        return power;
    }
    public void setPower(int power) {
        this.power = power;
    }

}

RegisterServlet类:

package online_select.Guanli;


import online_select.Login.Select;

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.io.IOException;

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

    /**
     * @see HttpServlet#HttpServlet()
     */
    public RegisterServlet() {
        super();
        // TODO Auto-generated constructor stub
    }
    protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException
    {
        @SuppressWarnings("unused")
        Select s=new Select();
        arg0.setCharacterEncoding("utf-8");
        arg1.setCharacterEncoding("utf-8");
        @SuppressWarnings("unused")
        boolean flag;
        String function=arg0.getParameter("method");
        if(function.equals("teacher"))
        {
            AddService as=new AddService();
            Add a=new Add();
            String username;
            username=arg0.getParameter("username");
            as.setUsername(username);
            String password;
            password=arg0.getParameter("password");
            as.setPassword(password);
            int num=1;
            as.setPower(num);

            TeacherService ts=new TeacherService();
            String teac_id;
            teac_id=arg0.getParameter("teac——id");
            ts.setTeac_id(teac_id);
            String teac_name;
            teac_name=arg0.getParameter("teac_name");
            ts.setTeac_name(teac_name);
            as.setName(teac_name);
            String teac_sex;
            teac_sex=arg0.getParameter("teac_sex");
            ts.setTeac_sex(teac_sex);
            String college;
            college=arg0.getParameter("college");
            ts.setCollege(college);
            String postion;
            postion=arg0.getParameter("ostion");
            ts.setPostion(postion);
            a.add("login", as);
            a.add("teacher", ts);
            arg0.setAttribute("message","添加成功");
            arg0.getRequestDispatcher("Right.jsp").forward(arg0, arg1);

        }
        if(function.equals("student"))
        {
            AddService as=new AddService();
            Add a=new Add();
            String username;
            username=arg0.getParameter("username");
            as.setUsername(username);
            String password;
            password=arg0.getParameter("password");
            as.setPassword(password);

            int num=2;
            as.setPower(num);

            StudentService ss=new StudentService();
            String stu_id;
            stu_id=arg0.getParameter("stu_id");
            ss.setStu_id(stu_id);
            String stu_name;
            stu_name=arg0.getParameter("stu_name");
            ss.setStu_name(stu_name);
            as.setName(stu_name);
            String stu_sex;
            stu_sex=arg0.getParameter("stu_sex");
            ss.setStu_sex(stu_sex);
            String class_name;
            class_name=arg0.getParameter("class_name");
            ss.setClass_name(class_name);
            String college;
            college=arg0.getParameter("college");
            ss.setCollege(college);
            a.add("student", ss);
            a.add("login", as);
            arg0.setAttribute("message","添加成功");
            arg0.getRequestDispatcher("Right.jsp").forward(arg0, arg1);
        }
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    /**
     * @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);
    }

}

StudentServicelei:

package online_select.Guanli;

public class StudentService {
    String stu_id;
    String stu_name;
    String stu_sex;
    String class_name;
    String college;

    public String getStu_id() {
        return stu_id;
    }

    public void setStu_id(String stu_id) {
        this.stu_id = stu_id;
    }

    public String getCollege() {
        return college;
    }

    public void setCollege(String college) {
        this.college = college;
    }

    public String getClass_name() {
        return class_name;
    }

    public void setClass_name(String class_name) {
        this.class_name = class_name;
    }

    public String getStu_sex() {
        return stu_sex;
    }

    public void setStu_sex(String stu_sex) {
        this.stu_sex = stu_sex;
    }

    public String getStu_name() {
        return stu_name;
    }

    public void setStu_name(String stu_name) {
        this.stu_name = stu_name;
    }
}

TeacherService类:

package online_select.Guanli;

public class TeacherService {
    String teac_id;
    String teac_name;
    String teac_sex;
    String college;
    String postion;

    public String getPostion() {

        return postion;
    }

    public void setPostion(String postion) {
        this.postion = postion;
    }

    public String getCollege() {
        return college;
    }

    public void setCollege(String college) {
        this.college = college;
    }

    public String getTeac_sex() {
        return teac_sex;
    }

    public void setTeac_sex(String teac_sex) {
        this.teac_sex = teac_sex;
    }

    public String getTeac_name() {
        return teac_name;
    }

    public void setTeac_name(String teac_name) {
        this.teac_name = teac_name;
    }

    public String getTeac_id() {
        return teac_id;
    }

    public void setTeac_id(String teac_id) {
        this.teac_id = teac_id;
    }
}

Login包:

DBUtil类:

package online_select.Login;

import java.sql.*;

public class DBUtil {

    public static String db_url = "jdbc:mysql://localhost:3306/online_select?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8";
    public static String db_user = "root";
    public static String db_pass = "131517.a";

    public static Connection getConn () {
        Connection conn = null;

        try {
            Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动
            conn = DriverManager.getConnection(db_url, db_user, db_pass);
            System.out.println("Yes!");
        } catch (Exception e) {
            e.printStackTrace();
        }

        return conn;
    }

    /**
     * 关闭连接
     * @param state
     * @param conn
     */
    public static void close (Statement state, Connection conn) {
        if (state != null) {
            try {
                state.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    public static void close (ResultSet rs, Statement state, Connection conn) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if (state != null) {
            try {
                state.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    public static void main(String[] args) throws SQLException {
        Connection conn = getConn();
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        String sql ="select * from course";
        pstmt = conn.prepareStatement(sql);
        rs = pstmt.executeQuery();
        if(rs.next()){
            System.out.println("空");
        }else{
            System.out.println("不空");
        }
    }
}

LoginServlet类:

package online_select.Login;

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.io.IOException;

/**
 * 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
    }
    protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException
    {
        Select s=new Select();
        arg0.setCharacterEncoding("utf-8");
        arg1.setCharacterEncoding("utf-8");
        boolean flag;
        String function=arg0.getParameter("method");
        if(function.equals("login"))
        {
            String username;
            username=arg0.getParameter("username");
            String password;
            password=arg0.getParameter("password");
            String power;
            power=arg0.getParameter("power");
            int num=Integer.parseInt(power);
            flag=s.select("login", username, password,num);
            Power.setFlag(num);
            if(flag)
            {
                arg0.setAttribute("message","登录成功");
                arg0.getRequestDispatcher("Home.jsp").forward(arg0, arg1);

            }
            else
            {
                arg0.setAttribute("message","账号或密码错误");
                arg0.getRequestDispatcher("Login.jsp").forward(arg0, arg1);
            }


        }
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    /**
     * @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);
    }

}

Power类:

package online_select.Login;

public class Power {
    static int flag;

    public static int getFlag() {
        return flag;
    }

    public static void setFlag(int flag) {
        Power.flag = flag;
    }
    static String name;

    public static String getName() {
        return name;
    }

    public static void setName(String name) {
        Power.name = name;
    }
    static String username;

    public static String getUsername() {
        return username;
    }

    public static void setUsername(String username) {
        Power.username = username;
    }



}

Select类

package online_select.Login;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

public class Select {
    public boolean  select(String table,String username,String password,int num)
    {
        boolean f=false;
        Connection conn=DBUtil.getConn();
        Statement state=null;
        try
        {
            state=conn.createStatement();
            String sql="select * from "+table;
            ResultSet rs=state.executeQuery(sql);
            while(rs.next())
            {
                if(username.equals(rs.getString(1))&&password.equals(rs.getString(2)))
                {
                    Power.setName(rs.getString(4));
                    Power.setUsername(rs.getString(1));
                    System.out.println(Power.getName());
                    f=true;
                }
            }
            rs.close();
            state.close();
            conn.close();

        }
        catch(Exception e)
        {

        }
        return f;
    }

}

Student包:

Change类:

package online_select.Student;

import online_sel
  • 15
    点赞
  • 133
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
系统的主要功能需求是对学生选课信息进行管理,对于要进行选课的学生进行选课操作,同时记录学生所选课的信息。如果对所选的课程不满意可以进行退课操作。学生如果想要对自己信息进行查看,可以登录后进行查看,如遇到修改信息,学生信息管理和系统管理可以对学生的信息进行修改,以便管理人员和用户可以随时查到最新的信息,同时,可以随时对需要的信息进行维护和更新。 经过对学校选课情况的分析,选课管理系统应该具有下列功能需求: 1、记录学生基本信息,提供查看、修改、删除学生基本信息的功能。学生基本信息包括学号、姓名等。 2、维护课程信息,提供查看、修改、删除课程基本信息的功能。课程信息包括id,课程名,学时,课程简要说明,上课教师等。 3、维护教师信息,提供修改,删除教师基本信息的功能。教师的基本信息ID,教师名,email,职称,年龄等。 4、制定选修课课表,根据学生的课程,时间的安排进行课表的制定。 5、维护学生选选修的课程信息。能够在选课的时间范围内可以进行退课操作,选课时间结束,系统不再能够访问。 6、录入课程分数,提供查看、修改,删除课程分数的功能。 2.1.2 用户及相关操作 系统有三种用户,分别为系统管理员、教师、学生,他们能够执行的操作不同,每种用户能执行的操作如下。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值