当前位置: 首页 > news >正文

java servlet 学生管理系统myeclipse开发oracle数据库BS模式java编程网

一、源码特点
    java servlet 学生管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助servlet+bean+dao (mvc模式开发),系统具有完整的源代码和数据库,开发环境为
TOMCAT7.0,Myeclipse8.5开发,数据库为Oracle 10g,使用java语言开发系统主要采用B/S模式开发。

java oracle学生管理系统


二、功能介绍
(1)学生管理:对学生信息进行添加、删除、修改和查看
(2)教师管理:对教师信息进行添加、删除、修改和查看
(3)管理员管理:对管理员信息进行添加、删除、修改和查看
(4)课程管理:对课程信息进行添加、删除、修改和查看
(5)选课管理:对选课信息进行添加、删除、修改和查看
(6)成绩管理:对成绩信息进行添加、删除、修改和查看
(7)学分预警管理:对学分预警信息进行添加、删除、修改和查看
(8)用户登录、身份验证,不同的权限,不同的菜单

数据库设计

[表xuesheng] 学生列属性表格

序号字段名称数据类型长度主键描述
1xsidINTEGER11学生编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5bjVARCHAR40班级
6zyVARCHAR40专业
7xbVARCHAR40性别
8nlVARCHAR40年龄
9lxdhVARCHAR40联系电话
10lxdzVARCHAR40联系地址
11xfVARCHAR40学分

[表jiaoshi] 教师列属性表格

序号字段名称数据类型长度主键描述
1jsidINTEGER11教师编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5lxdhVARCHAR40联系电话
6lxdzVARCHAR40联系地址

[表gly] 管理员列属性表格

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

[表kecheng] 课程列属性表格

序号字段名称数据类型长度主键描述
1kcidINTEGER11课程编号
2kcmcVARCHAR40课程名称
3jsVARCHAR40介绍
4rkjsVARCHAR40任课教师
5xfVARCHAR40学分
6sksjVARCHAR40上课时间
7skddVARCHAR40上课地点

[表xuanke] 选课列属性表格

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

[表chengji] 成绩列属性表格

序号字段名称数据类型长度主键描述
1cjidINTEGER11成绩编号
2xsVARCHAR40学生
3kcVARCHAR40课程
4djsjVARCHAR40登记时间
5cjVARCHAR40成绩
6hdxfVARCHAR40获得学分
7jgVARCHAR40及格

代码设计

private void insertM(HttpServletRequest request, HttpServletResponse response){//学生添加xueshengDao dao=new xueshengDao();xuesheng xuesheng=new xuesheng();xuesheng.setXsid((String)request.getParameter("keyid"));
xuesheng.setYhm((String)request.getParameter("yhm"));
xuesheng.setMm((String)request.getParameter("mm"));
xuesheng.setXm((String)request.getParameter("xm"));
xuesheng.setBj((String)request.getParameter("bj"));
xuesheng.setZy((String)request.getParameter("zy"));
xuesheng.setXb((String)request.getParameter("xb"));
xuesheng.setNl((String)request.getParameter("nl"));
xuesheng.setLxdh((String)request.getParameter("lxdh"));
xuesheng.setLxdz((String)request.getParameter("lxdz"));
xuesheng.setXf((String)request.getParameter("xf"));response.setCharacterEncoding("gb2312");
String sql="";
String yhm=(String)request.getParameter("yhm");
DBO db=new DBO();
ResultSet rs=null;int num=0;
try{
sql="select count(1) as num from xuesheng where yhm='"+yhm+"'";rs=db.query(sql);
if(rs.next()){num=rs.getInt("num");
}
if(num>0){request.setAttribute("flag", "操作失败、用户名重复"); 
}else{dao.insert(xuesheng);request.setAttribute("flag", "操作成功"); 
}request.getRequestDispatcher("xuesheng/xueshengadd.jsp").forward(request, response);} catch (Exception e) {e.printStackTrace();}}private void ListM(HttpServletRequest request, HttpServletResponse response){//学生信息列表ResultSet rs=null;xueshengDao dao = new xueshengDao();System.out.println("alist");String sql="";response.setCharacterEncoding("gb2312");try{String xm=(String)request.getParameter("xm");if(xm!=null&&!xm.equals("")){sql+=" and xm like '%"+xm+"%'";}String bj=(String)request.getParameter("bj");if(bj!=null&&!bj.equals("")){sql+=" and bj like '%"+bj+"%'";}String zy=(String)request.getParameter("zy");if(zy!=null&&!zy.equals("")){sql+=" and zy like '%"+zy+"%'";}rs=dao.qlist(sql);PrintWriter out = response.getWriter();request.setAttribute("rs", rs); request.getRequestDispatcher("xuesheng/xueshenglist.jsp").forward(request, response);}catch(Exception e){e.toString();e.printStackTrace();}}private void PListM(HttpServletRequest request, HttpServletResponse response){//测试信息列表ResultSet rs=null;xueshengDao dao = new xueshengDao();String str=(String)request.getParameter("Page");String sql="";response.setCharacterEncoding("gb2312");try{if(str==null){str="0";}
rs=dao.qlist(sql);PrintWriter out = response.getWriter();request.setAttribute("rs", rs); request.getRequestDispatcher("xuesheng/xueshenginfo.jsp?Page=1").forward(request, response);}catch(Exception e){e.toString();e.printStackTrace();}}private void modifyIndex(HttpServletRequest request, HttpServletResponse response){//学生修改首页ResultSet rs=null;response.setCharacterEncoding("gb2312");xueshengDao dao = new xueshengDao();String keyid=(String)request.getParameter("keyid");String sql="";if(keyid!=null&&!keyid.equals("")){sql+=" and xsid='"+keyid+"'";}try{rs=dao.qlist(sql);PrintWriter out = response.getWriter();request.setAttribute("rs", rs); request.getRequestDispatcher("xuesheng/xueshengmodify.jsp").forward(request, response);//response.sendRedirect("xuesheng/xueshengmodify.jsp");}catch(Exception e){e.toString();e.printStackTrace();}}private void detailM(HttpServletRequest request, HttpServletResponse response){//学生详细信息页面ResultSet rs=null;response.setCharacterEncoding("gb2312");xueshengDao dao = new xueshengDao();String keyid=(String)request.getParameter("keyid");String sql="";if(keyid!=null&&!keyid.equals("")){sql+=" and xsid='"+keyid+"'";}try{rs=dao.qlist(sql);request.setAttribute("rs", rs); request.getRequestDispatcher("xuesheng/xueshengdetail.jsp").forward(request, response);}catch(Exception e){e.toString();e.printStackTrace();}}private void deleteM(HttpServletRequest request, HttpServletResponse response){//学生删除ResultSet lst=null;xueshengDao dao = new xueshengDao();response.setCharacterEncoding("gb2312");String keyid=(String)request.getParameter("keyid"); try{dao.delete(keyid);request.setAttribute("flag", "删除成功"); request.getRequestDispatcher("xueshengServlet?method=list").forward(request, response);//response.sendRedirect("xueshengServlet?method=list");}catch(Exception e){e.toString();e.printStackTrace();}}

三、注意事项
    1、管理员账号:admin密码:admin 数据库配置文件DBO.java
     2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Oracle 10g,使用java语言开发。
    3、数据库文件名是re data.sql re table.sql ,系统名称stu
    4、系统首页地址:http://127.0.0.1:8080/stu/login.jsp

四 系统实现

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

http://www.lryc.cn/news/272619.html

相关文章:

  • 使用buildx构建多架构镜像
  • Crow:run的流程4 准备接收http请求
  • Springboot集成RabbitMq一
  • 零知识证明(zk-SNARK)- groth16(一)
  • Spring java和go并发的实现策略
  • 第二十五章 JDBC 和数据库连接池
  • Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机的固定帧率(C++)
  • 基于Java课堂签到系统
  • springboot整合webservice使用总结
  • MySQL中的索引之分类,原理,作用,优缺点和执行计划
  • 如何做好档案数字化前的鉴定工作
  • pytorch04:网络模型创建
  • 用js让用户输入一个数累加和
  • 踩坑记录-安装nuxt3报错:Error: Failed to download template from registry: fetch failed;
  • 大数据学习(31)-Spark非常用及重要特性
  • 【教学类-43-14】 20240103 (4宫格数独:正确版:576套) 不重复的基础模板数量:576套
  • AIGC开发:调用openai的API接口实现简单机器人
  • c基础(二)
  • 人工智能趋势报告解读:ai野蛮式生长的背后是机遇还是危机?
  • 三、C语言中的分支与循环—goto语句 (10) (完)
  • RabbitMQ 常见问题
  • 阶段二-Day10-日期类
  • 多任务并行处理相关面试题
  • Shell脚本学习笔记
  • ROS-安装xacro
  • 为什么说 $mash 是 Solana 上最正统的铭文通证?
  • 安装elasticsearch、kibana、IK分词器、扩展IK词典
  • Spring中常见的BeanFactory后处理器
  • FPGA LCD1602驱动代码 (已验证)
  • c++编程要养成的好习惯