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] 学生列属性表格 | |||||
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | xsid | INTEGER | 11 | 是 | 学生编号 |
| 2 | yhm | VARCHAR | 40 | 否 | 用户名 |
| 3 | mm | VARCHAR | 40 | 否 | 密码 |
| 4 | xm | VARCHAR | 40 | 否 | 姓名 |
| 5 | bj | VARCHAR | 40 | 否 | 班级 |
| 6 | zy | VARCHAR | 40 | 否 | 专业 |
| 7 | xb | VARCHAR | 40 | 否 | 性别 |
| 8 | nl | VARCHAR | 40 | 否 | 年龄 |
| 9 | lxdh | VARCHAR | 40 | 否 | 联系电话 |
| 10 | lxdz | VARCHAR | 40 | 否 | 联系地址 |
| 11 | xf | VARCHAR | 40 | 否 | 学分 |
[表jiaoshi] 教师列属性表格 | |||||
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | jsid | INTEGER | 11 | 是 | 教师编号 |
| 2 | yhm | VARCHAR | 40 | 否 | 用户名 |
| 3 | mm | VARCHAR | 40 | 否 | 密码 |
| 4 | xm | VARCHAR | 40 | 否 | 姓名 |
| 5 | lxdh | VARCHAR | 40 | 否 | 联系电话 |
| 6 | lxdz | VARCHAR | 40 | 否 | 联系地址 |
[表gly] 管理员列属性表格 | |||||
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | glyid | INTEGER | 11 | 是 | 管理员编号 |
| 2 | yhm | VARCHAR | 40 | 否 | 用户名 |
| 3 | mm | VARCHAR | 40 | 否 | 密码 |
| 4 | xm | VARCHAR | 40 | 否 | 姓名 |
[表kecheng] 课程列属性表格 | |||||
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | kcid | INTEGER | 11 | 是 | 课程编号 |
| 2 | kcmc | VARCHAR | 40 | 否 | 课程名称 |
| 3 | js | VARCHAR | 40 | 否 | 介绍 |
| 4 | rkjs | VARCHAR | 40 | 否 | 任课教师 |
| 5 | xf | VARCHAR | 40 | 否 | 学分 |
| 6 | sksj | VARCHAR | 40 | 否 | 上课时间 |
| 7 | skdd | VARCHAR | 40 | 否 | 上课地点 |
[表xuanke] 选课列属性表格 | |||||
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | xkid | INTEGER | 11 | 是 | 选课编号 |
| 2 | xs | VARCHAR | 40 | 否 | 学生 |
| 3 | kc | VARCHAR | 40 | 否 | 课程 |
| 4 | xksj | VARCHAR | 40 | 否 | 选课时间 |
| 5 | xkzt | VARCHAR | 40 | 否 | 选课状态 |
[表chengji] 成绩列属性表格 | |||||
| 序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
| 1 | cjid | INTEGER | 11 | 是 | 成绩编号 |
| 2 | xs | VARCHAR | 40 | 否 | 学生 |
| 3 | kc | VARCHAR | 40 | 否 | 课程 |
| 4 | djsj | VARCHAR | 40 | 否 | 登记时间 |
| 5 | cj | VARCHAR | 40 | 否 | 成绩 |
| 6 | hdxf | VARCHAR | 40 | 否 | 获得学分 |
| 7 | jg | VARCHAR | 40 | 否 | 及格 |
代码设计
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
四 系统实现



源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
相关文章:
java servlet 学生管理系统myeclipse开发oracle数据库BS模式java编程网
一、源码特点 java servlet 学生管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助servletbeandao (mvc模式开发),系统具有完整的源代码和数据库,开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Oracle 10g…...
使用buildx构建多架构镜像
使用buildx构建多架构镜像 1. 前置条件 docker 19.03以上版本 ubuntu 22.04 2. 安装相关组件 2.1 安装docker sudo apt-get updatesudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg-agent \software-properties-commoncurl -fsSL https://mirrors.…...
Crow:run的流程4 准备接收http请求
完成tcp的accept后,下一步需要接收tcp的数据,同时完成http的分析 class Connection { public:void start(){adaptor_.start([this](const asio::error_code& ec) {if (!ec){start_deadline();parser_.clear();do_read();}else{CROW_LOG_ERROR << "Could not …...
Springboot集成RabbitMq一
0、知识点 1、创建项目-生产者 默认官方start.spring.io已不支持自动生成低版本jkd的Spring项目,自定义用阿里云的starter即可:https://start.aliyun.com 2、创建配置类 package com.wym.rabbitmqprovider.utils;import org.springframework.amqp.core.…...
零知识证明(zk-SNARK)- groth16(一)
全称为 Zero-Knowledge Succinct Non-Interactive Argument of Knowledge,简洁非交互式零知识证明,简洁性使得运行该协议时,即便 statement 非常大,它的 proof 大小也仅有几百个bytes,并且验证一个 proof 的时间可以达…...
Spring java和go并发的实现策略
Spring Java框架和Go框架在处理并发请求时采用了不同的策略。 1. Spring Java框架: Spring框架基于Java语言,通常使用线程池来处理并发请求。具体来说,Spring框架中的Servlet容器(如Tomcat、Jetty等)会使用线程池来管…...
第二十五章 JDBC 和数据库连接池
一、JDBC 概述(P821) 1. 基本介绍 (1)JDBC 为访问不同的数据库提供了统一的接口,为使用者屏蔽了细节问题。 (2)Java 程序员使用 JDBC,可以连接任何提供了 JDBC 驱动程序的数据库系统…...
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机的固定帧率(C++)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机的固定帧率(C) Baumer工业相机Baumer工业相机的固定帧率功能的技术背景CameraExplorer如何查看相机固定帧率功能在NEOAPI SDK里通过函数设置相机固定帧率 Baumer工业相机通过NEOAPI SDK设置相机固定…...
基于Java课堂签到系统
基于Java课堂签到系统 功能需求 1、用户登录:学生需要使用学号或手机号等唯一标识登录系统。 2、签到功能:在课堂开始时,学生可以通过系统进行签到,以证明出席。 3、签出功能:在课堂结束时,学生可以通过…...
springboot整合webservice使用总结
因为做的项目中用到了webservice,所以在此总结一下。 一、webservice简介 Web Service也叫XML Web Service, WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是通过SOAP在Web上提供的软件服务,使…...
MySQL中的索引之分类,原理,作用,优缺点和执行计划
索引 索引的作用:加速查找 例如: 300w条数据的表中查询,无索引需要700s, 利用索引可能只需要1s用索引的时机是,数据量巨大,并且搜索快速 索引为什么能实现加速查找 基于索引的内部存储结构索引底层基于 BTree 的数据结构存储的在…...
如何做好档案数字化前的鉴定工作
要做好档案数字化前的鉴定工作,可以按照以下步骤进行: 1. 确定鉴定目标:明确要鉴定的档案的内容、数量和性质,确定鉴定的范围和目标。 2. 进行档案清点:对档案进行全面清点和登记,包括数量、种类、状况等信…...
pytorch04:网络模型创建
目录 一、模型创建过程1.1 以LeNet网络为例1.2 LeNet结构1.3 nn.Module 二、网络层容器(Containers)2.1 nn.Sequential2.1.1 常规方法实现2.1.2 OrderedDict方法实现 2.2 nn.ModuleList2.3 nn.ModuleDict2.4 三种容器构建总结 三、AlexNet网络构建 一、模型创建过程 1.1 以LeNe…...
用js让用户输入一个数累加和
需求:用户输入一个数, 计算 1 到这个数的和。 比如 用户输入的是 5, 则计算 1~5 之间的累加和 并且输出到控制台 <body><script>let numprompt(请输入一个数)let sum0for(let i1;i<num;i){sumi}console.log(sum)</script…...
踩坑记录-安装nuxt3报错:Error: Failed to download template from registry: fetch failed;
报错复现 安装nuxt3报错:Error: Failed to download template from registry: fetch failednpx nuxi init nuxt-demo 初始化nuxt 项目 报错 Error: Failed to download template from registry: fetch faile 解决方法 配置hosts Mac电脑:/etc/hostswin电…...
大数据学习(31)-Spark非常用及重要特性
&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博主哦ᾑ…...
【教学类-43-14】 20240103 (4宫格数独:正确版:576套) 不重复的基础模板数量:576套
作品展示::——4宫格 576套不重复模板(48页*12套题) 背景需求: 生成4宫格基础模板768套,观看64页内容时,明显看到有错误 【教学类-43-13】 20240103 (4宫格数独:错误版…...
AIGC开发:调用openai的API接口实现简单机器人
简介 开始进行最简单的使用:通过API调用openai的模型能力 OpenAI的能力如下图: 文本生成模型 OpenAI 的文本生成模型(通常称为生成式预训练 Transformer 或大型语言模型)经过训练可以理解自然语言、代码和图像。这些模型提供文…...
c基础(二)
指针: 含义:是一个值,一个值代表着一个内存地址,类似于存放路径 * 运算符 : 1 字符*表示指针 作用:通常跟在类型关键字的后面,表示指针指向的是什么类型的值 int * foo, * bar;声明指针后会…...
人工智能趋势报告解读:ai野蛮式生长的背后是机遇还是危机?
近期,Enterprise WordPress发布了生成式人工智能在营销中的应用程度的报告,这是一个人工智能迅猛发展的时代,目前人工智能已经广泛运用到内容创作等领域,可以预见的是人工智能及其扩展应用还将延伸到我们工作与生活中的方方面面。…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...
mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...
土建施工员考试:建筑施工技术重点知识有哪些?
《管理实务》是土建施工员考试中侧重实操应用与管理能力的科目,核心考查施工组织、质量安全、进度成本等现场管理要点。以下是结合考试大纲与高频考点整理的重点内容,附学习方向和应试技巧: 一、施工组织与进度管理 核心目标: 规…...
多元隐函数 偏导公式
我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式,给定一个隐函数关系: F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 🧠 目标: 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z、 …...
跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践
在电商行业蓬勃发展的当下,多平台运营已成为众多商家的必然选择。然而,不同电商平台在商品数据接口方面存在差异,导致商家在跨平台运营时面临诸多挑战,如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...
路由基础-路由表
本篇将会向读者介绍路由的基本概念。 前言 在一个典型的数据通信网络中,往往存在多个不同的IP网段,数据在不同的IP网段之间交互是需要借助三层设备的,这些设备具备路由能力,能够实现数据的跨网段转发。 路由是数据通信网络中最基…...
