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.hqwc.cn/news/316728.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java异常篇----第二篇

系列文章目录 文章目录 系列文章目录前言一、 Excption与Error包结构二、Thow与thorws区别三、Error与Exception区别?四、error和exception有什么区别前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女…

VUE 若依框架,当页面设置了keepAlive=true,v-if和v-hasPermi作用在统一个按钮上时v-hasPermi失效,出现按钮显示异常问题

当前列表页设置了缓存keepAlivetrue,同时,在同一个按钮上使用v-if判断数据状态、用v-hasPermi判断按钮权限 当v-if的数据状态改变,由 1 变成 2 的时候,后面的v-hasPermi判断失效 原因: 是因为一开始页面初始化时&#…

跟cherno手搓游戏引擎【1】:配置与入口点

环境配置: 编译环境:VS2019 创建两个项目: 设置Sandbox为启动项: 设置sandbox的配置属性-常规-输出目录\中间目录为如下: 预处理定义:为了配置一些只有windows才能用的函数。 设置YOTOEngin(我…

图像的腐蚀与膨胀

图像的腐蚀与膨胀 设集合 B B B的反射为 B ^ \hat{B} B^,其定义如下 B ^ { w ∣ w − b , b ∈ B } \hat{B}\begin{Bmatrix}w|w-b,b\in B\end{Bmatrix} B^{w∣w−b,b∈B​} 设集合 B B B按照点 z ( z 1 , z 2 ) z(z_1,z_2) z(z1​,z2​)平移得到集合 ( B ) z (…

IDEA2023 最新版详细图文安装教程(安装+运行测试+汉化+背景图设置)

IDEA2023 最新版详细图文安装教程 名人说:工欲善其事,必先利其器。——《论语》 作者:Code_流苏(CSDN) o(‐^▽^‐)o很高兴你打开了这篇博客,跟着教程去一步步尝试安装吧。 目录 IDEA2023 最新版详细图文安…

【AIGC摄影构图prompt】与重不同的绘制效果,解构主义+优美连拍提示效果

提取关键词构图: 激进解构主义 在prompt中,激进解构主义的画面效果可能是一种颠覆传统和权威的视觉呈现。这种画面可能以一种极端或激烈的方式表达对现有社会结构和观念体系的批判和质疑。 具体来说,这种画面效果可能包括: 破…

ssrf之gopher协议的使用和配置,以及需要注意的细节

gopher协议 目录 gopher协议 (1)安装一个cn (2)使用Gopher协议发送一个请求,环境为:nc起一个监听,curl发送gopher请求 (3)使用curl发送http请求,命令为 …

yolov8训练自己的数据集

1. 官网下载源码 2,官网下载预训练权重 并将预训练权重放在项目文件夹下。 3,安装所需依赖 python版本需要>3.7才可以 pip install ultralytics进入项目目录,打开命令台,pip安装ultralytics库。依赖环境只需要安装ultraly…

Maven插件开发步骤

Maven只是一套框架&#xff0c;它的功能基于全部依赖于插件来实现。因此可以通过插件开发来定制Maven。 官方文档 https://maven.apache.org/guides/plugin/guide-java-plugin-development.html 命名要求 Maven 官方的插件命名为&#xff1a;maven-<yourplugin>-plug…

基于人工智能的数据库工具Chat2DB使用

文章目录 前言Chat2DB介绍Chat2DB地址下载安装 Chat2DB配置Chat2DB使用1、自然语言转sql2. SQL解释3. SQL优化4. SQL转换 写在最后 前言 随着人工智能的发展&#xff0c;各行各业都出现了不少基于AI的工具来提升工作效率。就连国内的各个大厂也都在基于大模型开发自己的产品线…

【算法系列 | 11】深入解析查找算法之—插值查找

序言 心若有阳光&#xff0c;你便会看见这个世界有那么多美好值得期待和向往。 决定开一个算法专栏&#xff0c;希望能帮助大家很好的了解算法。主要深入解析每个算法&#xff0c;从概念到示例。 我们一起努力&#xff0c;成为更好的自己&#xff01; 今天第11讲&#xff0c;讲…

计算机毕业论文内容参考|基于区块链技术的电子健康记录系统的设计与实现

文章目录 摘要前言绪论课题背景国内外相关研究课题内容区块链技术介绍系统分析用户需求分析系统设计系统实现系统测试总结与展望摘要 本文介绍了基于区块链技术的电子健康记录系统的设计与实现。该系统旨在解决传统电子健康记录系统存在的数据安全性、数据隐私性和数据互操作性…