一、源码特点
java 教务管理系统是一套完善的web设计系统 系统采用serlvet+dao+bean 模式开发,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发,数据库为Mysql5.0,使用java语言开发。
java servlet 教务管理系统1
二、功能介绍
(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)教师管理:对教师信息进行添加、删除、修改和查看
(3)学生管理:对学生信息进行添加、删除、修改和查看
(4)学院管理:对学院信息进行添加、删除、修改和查看
(5)学年管理:对学年信息进行添加、删除、修改和查看
(6)学期管理:对学期信息进行添加、删除、修改和查看
(7)课程管理:对课程信息进行添加、删除、修改和查看
(8)选课管理:对选课信息进行添加、删除、修改和查看
(9)成绩管理:对成绩信息进行添加、删除、修改和查看
(10)个人信息修改
(11)用户登录,身份验证
数据库设计
[表gly] 管理员列属性表格 | |||||
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | glyid | INTEGER | 11 | 是 | 管理员编号 |
2 | yhm | VARCHAR | 40 | 否 | 用户名 |
3 | mm | VARCHAR | 40 | 否 | 密码 |
4 | xm | VARCHAR | 40 | 否 | 姓名 |
[表jiaoshi] 教师列属性表格 | |||||
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | jsid | INTEGER | 11 | 是 | 教师编号 |
2 | yhm | VARCHAR | 40 | 否 | 用户名 |
3 | mm | VARCHAR | 40 | 否 | 密码 |
4 | xm | VARCHAR | 40 | 否 | 姓名 |
5 | xb | VARCHAR | 40 | 否 | 性别 |
6 | lxfs | VARCHAR | 40 | 否 | 联系方式 |
7 | lxdz | VARCHAR | 40 | 否 | 联系地址 |
[表xuesheng] 学生列属性表格 | |||||
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | xsid | INTEGER | 11 | 是 | 学生编号 |
2 | yhm | VARCHAR | 40 | 否 | 用户名 |
3 | mm | VARCHAR | 40 | 否 | 密码 |
4 | xm | VARCHAR | 40 | 否 | 姓名 |
5 | bj | VARCHAR | 40 | 否 | 班级 |
6 | xb | VARCHAR | 40 | 否 | 性别 |
7 | dh | VARCHAR | 40 | 否 | 电话 |
8 | xy | VARCHAR | 40 | 否 | 学院 |
[表xueyuan] 学院列属性表格 | |||||
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | xyid | INTEGER | 11 | 是 | 学院编号 |
2 | xy | VARCHAR | 40 | 否 | 学院 |
3 | js | VARCHAR | 40 | 否 | 介绍 |
[表xuenian] 学年列属性表格 | |||||
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | xnid | INTEGER | 11 | 是 | 学年编号 |
2 | xn | VARCHAR | 40 | 否 | 学年 |
[表xueqi] 学期列属性表格 | |||||
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | xqid | INTEGER | 11 | 是 | 学期编号 |
2 | xq | VARCHAR | 40 | 否 | 学期 |
3 | xn | VARCHAR | 40 | 否 | 学年 |
[表kecheng] 课程列属性表格 | |||||
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | kcid | INTEGER | 11 | 是 | 课程编号 |
2 | kcmc | VARCHAR | 40 | 否 | 课程名称 |
3 | desc | VARCHAR | 4000 | 否 | 介绍 |
4 | sm | VARCHAR | 40 | 否 | 说明 |
5 | js | VARCHAR | 40 | 否 | 教室 |
6 | rkjs | VARCHAR | 40 | 否 | 任课教师 |
[表xuanke] 选课列属性表格 | |||||
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | xkid | INTEGER | 11 | 是 | 选课编号 |
2 | kc | VARCHAR | 40 | 否 | 课程 |
3 | xs | VARCHAR | 40 | 否 | 学生 |
4 | xksj | VARCHAR | 40 | 否 | 选课时间 |
5 | zt | VARCHAR | 40 | 否 | 状态 |
主要控制类
private void insertM(HttpServletRequest request, HttpServletResponse response){//成绩添加chengjiDao dao=new chengjiDao();//声明DAO方法chengji chengji=new chengji();//声明chengji bean对象方法chengji.setCjid((String)request.getParameter("keyid"));//成绩编号String kc=(String)request.getParameter("kc");//变量:课程chengji.setKc((String)request.getParameter("kc"));//赋值:课程String xs=(String)request.getParameter("xs");//变量:学生chengji.setXs((String)request.getParameter("xs"));//赋值:学生String tjsj=(String)request.getParameter("tjsj");//变量:添加时间chengji.setTjsj((String)request.getParameter("tjsj"));//赋值:添加时间String cj=(String)request.getParameter("cj");//变量:成绩chengji.setCj((String)request.getParameter("cj"));//赋值:成绩String xq=(String)request.getParameter("xq");//变量:学期chengji.setXq((String)request.getParameter("xq"));//赋值:学期String xn=(String)request.getParameter("xn");//变量:学年chengji.setXn((String)request.getParameter("xn"));//赋值:学年String sql="";ResultSet rs=null;int num=0;DBO db=new DBO();response.setCharacterEncoding("gb2312");//设定页面字符集 防止乱码try {sql="select count(1) as num from chengji where kc='"+kc+"' and xs='"+xs+"'";rs=db.query(sql);if(rs.next()){num=rs.getInt("num");}if(num>0){request.setAttribute("flag", "操作失败、数据重复"); }else{dao.insert(chengji);request.setAttribute("flag", "操作成功"); }request.getRequestDispatcher("chengji/chengjiadd.jsp").forward(request, response);} catch (Exception e) {e.printStackTrace();}finally{db.close();}}private void ListM(HttpServletRequest request, HttpServletResponse response){//成绩信息列表ResultSet rs=null;chengjiDao dao = new chengjiDao();//声明DAO方法 String str=(String)request.getParameter("Page");//获取分页数String sql="";response.setCharacterEncoding("gb2312");//设定页面字符集 防止乱码try{if(str==null){str="0";//如果没有 则默认当前页}String kc=(String)request.getParameter("kc");//课程if(kc!=null&&!kc.equals("")){sql+=" and kc like '%"+kc+"%'";//符合条件 拼接sql 课程}String xs=(String)request.getParameter("xs");//学生if(xs!=null&&!xs.equals("")){sql+=" and xs like '%"+xs+"%'";//符合条件 拼接sql 学生}String xq=(String)request.getParameter("xq");//学期if(xq!=null&&!xq.equals("")){sql+=" and xq like '%"+xq+"%'";//符合条件 拼接sql 学期}String xn=(String)request.getParameter("xn");//学年if(xn!=null&&!xn.equals("")){sql+=" and xn like '%"+xn+"%'";//符合条件 拼接sql 学年}rs=dao.qlist(sql);PrintWriter out = response.getWriter();request.setAttribute("rs", rs); //通过request 传值request.getRequestDispatcher("chengji/chengjilist.jsp?Page="+str).forward(request, response);}catch(Exception e){e.toString();e.printStackTrace();}}private void myListM(HttpServletRequest request, HttpServletResponse response){//成绩信息列表ResultSet rs=null;chengjiDao dao = new chengjiDao();//声明DAO方法 String str=(String)request.getParameter("Page");//获取分页数String sql="";response.setCharacterEncoding("gb2312");//设定页面字符集 防止乱码try{if(str==null){str="0";//如果没有 则默认当前页}if(request.getSession().getAttribute("yhm")!=null){sql+=" and xs='"+request.getSession().getAttribute("yhm")+"'";}rs=dao.qlist(sql);PrintWriter out = response.getWriter();request.setAttribute("rs", rs); //通过request 传值request.getRequestDispatcher("chengji/mylist.jsp?Page="+str).forward(request, response);}catch(Exception e){e.toString();e.printStackTrace();}}
数据库交互
public voidinsert(chengji chengji) throws Exception{//添加成绩db=new DBO(); db.open();String sql = "insert into chengji (kc,xs,tjsj,cj,xq,xn ) values ('"+chengji.getKc()+"','"+chengji.getXs()+"','"+chengji.getTjsj()+"','"+chengji.getCj()+"','"+chengji.getXq()+"','"+chengji.getXn()+"')";db.update(sql);//db.commit();db.close();} public voidmodify(chengji chengji) throws Exception{//修改成绩db=new DBO(); db.open();String sql = "update chengji setkc='"+chengji.getKc()+"',xs='"+chengji.getXs()+"',tjsj='"+chengji.getTjsj()+"',cj='"+chengji.getCj()+"',xq='"+chengji.getXq()+"',xn='"+chengji.getXn()+"' where cjid ='"+chengji.getCjid()+"'";db.update(sql);//db.commit();db.close();} public voiddelete(String keyid) throws Exception{//删除成绩db=new DBO();db.open();String sql = "delete from chengji where cjid='"+keyid+"'";db.update(sql);//db.commit();db.close();}
三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件DBO.java
2、开发环境为TOMCAT7.0,eclipse开发,数据库为Mysql5.0,使用java语言开发。
3、数据库文件名是jspjiaowu.sql ,系统名称jiaowu
4、系统首页地址:http://127.0.0.1:8080/jiaowu
四 系统实现
源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓