0


基于Java的学生网上选课系统

一:功能实现

网上选课分班系统主要由学生注册与导入、课程导入与管理、在线选课、自动分班等部分组成。系统通过导入学生基本数据、课程信息,自动为学生生成系统账号和密码,系统按学生基本信息中的邮箱或QQ等自动发放用户名及密码以及选课安排等,学生按指定时间在线选课,完成选课后,系统根据选课情况进行自动分班,并公布分班信息,同时给学生邮箱发放个人选课和分班信息。

二:总体设计

2.1学生选课子系统页面设计

客户端可以为学生提供网上选课的过程,学生通过输入自己专属的账号密码,选择身份登录,进入选课系统,然后进行选课,提交的选课结果传到服务器端,便于接下来的系统分班。

2.2管理员管理子系统界面设计

管理员通过专属账号密码选择身份登录,进入选课系统,然后可以选择学生管理和管理课程,管理员的请求被提交到服务器端,满足用户的要求。首先进入选择登录身份界面,点击“登录”之后进入选择操作界面,包括“管理学生”、“管理课程”。

2.3 教师管理子系统界面设计

客户端可以为教师提供网上查看学生选课信息、打分、统计的过程,教师通过选择身份登录,进入选课系统,然后进行学生选课信息,为学生打分,提交的分数传到服务器端,便于接下来的学生查询分数。首先进入选择登录身份界面,点击“登录”之后进入选择操作界面,包括“学生选课信息”、“打分”、“统计”。

bf710127098641a28587ea213d46d9b3.png

2.4学生信息表数据库设计

d877e234ecc642b38a286c6ed9321b6c.png

2.5教师信息表数据库设计

d0061e12a64048eaa74cbbd01fb1b38b.png

2.6课程信息表设计

36e8c75d71334df48fab900bcc854e76.png

三:系统设计

3.1系统登录页面设计

bafa1ec279a14e68a82b1a9ffec67083.png

3.2学生选课页面设计

22f76851d1f647e5b47d6180e827b6e5.png

3.3管理员查看页面设计

6ceebf29e9d64108bf36d1477a1d4854.png

3.4教师任务查看页面设计

a29140254e99498bb3b051800402b059.png

四:详细设计

4.1课程类实现代码

package com.java1234.dao;import java.sql.Connection;

import java.sql.PreparedStatement;import java.sql.ResultSet;

import java.util.ArrayList;import java.util.List;

import com.java1234.model.PageBean;

import com.java1234.model.Course;import com.java1234.util.StringUtil;/** * 课程Dao类 * @author Administrator * /public class CourseDao {/* * 课程信息查询 * @param con * @param pageBean * @param s_course * @return * @throws Exception /public List<Course> courseList(Connection con,PageBean pageBean,Course s_course)throws Exception{List<Course> courseList=new ArrayList<Course>();StringBuffer sb=new StringBuffer("select * from t_course t1,t_teacher t2 where t1.teacherId=t2.id ");if(s_course!=null){if(StringUtil.isNotEmpty(s_course.getCourseName())){sb.append(" and t1.courseName like '%"+s_course.getCourseName()+"%'");}if(s_course.getTeacherId()!=null){sb.append(" and t1.teacherId="+s_course.getTeacherId());}}if(pageBean!=null){sb.append(" limit "+pageBean.getStart()+","+pageBean.getPageSize());}PreparedStatement pstmt=con.prepareStatement(sb.toString());ResultSet rs=pstmt.executeQuery();while(rs.next()){Course course=new Course();course.setId(rs.getInt("id"));course.setCourseName(rs.getString("courseName"));course.setCredit(rs.getInt("credit"));course.setTeacherId(rs.getInt("teacherId"));course.setTearchName(rs.getString("trueName"));courseList.add(course);}return courseList;}/* * 查询记录数 * @param con * @param s_course * @return * @throws Exception /public int courseCount(Connection con,Course s_course)throws Exception{StringBuffer sb=new StringBuffer("select count() as total from t_course t1,t_teacher t2 where t1.teacherId=t2.id ");if(s_course!=null){if( StringUtil.isNotEmpty(s_course.getCourseName())){sb.append(" and t1.courseName like '%"+s_course.getCourseName()+"%'");}}

4.2发送邮箱实现代码

package com.java1234.dao;import org.apache.commons.mail.EmailException;import org.apache.commons.mail.HtmlEmail;public class EmailDao { //发送 这里的参数为 qq 和验证码 public static void test(String email,String yzm){ HtmlEmail send = new HtmlEmail();//创建一个HtmlEmail实例对象 // 获取随机验证码 String resultCode = yzm; try { send.setHostName("smtp.qq.com"); send.setAuthentication("2801793435@qq.com", "aytfwjjhzthgdeib"); //第一个参数是发送者的QQEamil邮箱第二个参数是刚刚获取的授权码,下面的和这个邮箱都填自己的邮箱send.setFrom("2801793435@qq.com", "web网上学生选课");//发送人的邮箱为自己的,用户名可以随便填 记得是自己的邮箱不是qq

4.3管理员类实现代码

package com.java1234.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import com.java1234.model.Student;import com.java1234.model.User;/** * 管理员Dao类 * @author Administrator * /public class ManagerDao {/* * 管理员登录 * @param con * @param user * @return * @throws Exception */public User login(Connection con,User user)throws Exception{User resultUser=null;String sql="select * from t_manager where userName=? and password=?";PreparedStatement pstmt=con.prepareStatement(sql);pstmt.setString(1, user.getUserName());pstmt.setString(2, user.getPassword());ResultSet rs=pstmt.executeQuery();if(rs.next()){resultUser=new User();resultUser.setUserId(rs.getInt("id"));resultUser.setUserName(rs.getString("userName"));resultUser.setPassword(rs.getString("password"));resultUser.setUserType("管理员");}return resultUser;}

4.4学生类实现代码

package com.java1234.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import com.java1234.model.PageBean;import com.java1234.model.Student;import com.java1234.model.User;import com.java1234.util.StringUtil;/** * 学生Dao类 * @author Administrator * /public class StudentDao {/* * 学生登录 * @param con * @param user * @return * @throws Exception */public User login(Connection con,User user)throws Exception{User resultUser=null;String sql="select * from t_student where userName=? and password=?";PreparedStatement pstmt=con.prepareStatement(sql);pstmt.setString(1, user.getUserName());pstmt.setString(2, user.getPassword());ResultSet rs=pstmt.executeQuery();if(rs.next()){resultUser=new User();resultUser.setUserId(rs.getInt("id"));resultUser.setUserName(rs.getString("userName"));

开头所说的功能本人已全部实现,友友们应付你们的课设完全足够

想要源码的关注评论哈

标签: java 数据库 servlet

本文转载自: https://blog.csdn.net/m0_51152469/article/details/126682215
版权归原作者 m0_51152469 所有, 如有侵权,请联系我们删除。

“基于Java的学生网上选课系统”的评论:

还没有评论