一、源码特点
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 void insert(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 void modify(chengji chengji) throws Exception{//修改成绩
db=new DBO();
db.open();
String sql = "update chengji set kc='"+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 void delete(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
四 系统实现
源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓