一、源码特点
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] 管理员列属性表格

序号字段名称数据类型长度主键描述
1glyidINTEGER11管理员编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名

[表jiaoshi] 教师列属性表格

序号字段名称数据类型长度主键描述
1jsidINTEGER11教师编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5xbVARCHAR40性别
6lxfsVARCHAR40联系方式
7lxdzVARCHAR40联系地址

[表xuesheng] 学生列属性表格

序号字段名称数据类型长度主键描述
1xsidINTEGER11学生编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5bjVARCHAR40班级
6xbVARCHAR40性别
7dhVARCHAR40电话
8xyVARCHAR40学院

[表xueyuan] 学院列属性表格

序号字段名称数据类型长度主键描述
1xyidINTEGER11学院编号
2xyVARCHAR40学院
3jsVARCHAR40介绍

[表xuenian] 学年列属性表格

序号字段名称数据类型长度主键描述
1xnidINTEGER11学年编号
2xnVARCHAR40学年

[表xueqi] 学期列属性表格

序号字段名称数据类型长度主键描述
1xqidINTEGER11学期编号
2xqVARCHAR40学期
3xnVARCHAR40学年

[表kecheng] 课程列属性表格

序号字段名称数据类型长度主键描述
1kcidINTEGER11课程编号
2kcmcVARCHAR40课程名称
3descVARCHAR4000介绍
4smVARCHAR40说明
5jsVARCHAR40教室
6rkjsVARCHAR40任课教师

[表xuanke] 选课列属性表格

序号字段名称数据类型长度主键描述
1xkidINTEGER11选课编号
2kcVARCHAR40课程
3xsVARCHAR40学生
4xksjVARCHAR40选课时间
5ztVARCHAR40状态

主要控制类

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

四 系统实现

源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓