当前位置: 首页 > 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

四 系统实现

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

相关文章:

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项目&#xff0c;自定义用阿里云的starter即可&#xff1a;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&#xff0c;简洁非交互式零知识证明&#xff0c;简洁性使得运行该协议时&#xff0c;即便 statement 非常大&#xff0c;它的 proof 大小也仅有几百个bytes&#xff0c;并且验证一个 proof 的时间可以达…...

Spring java和go并发的实现策略

Spring Java框架和Go框架在处理并发请求时采用了不同的策略。 1. Spring Java框架&#xff1a; Spring框架基于Java语言&#xff0c;通常使用线程池来处理并发请求。具体来说&#xff0c;Spring框架中的Servlet容器&#xff08;如Tomcat、Jetty等&#xff09;会使用线程池来管…...

第二十五章 JDBC 和数据库连接池

一、JDBC 概述&#xff08;P821&#xff09; 1. 基本介绍 &#xff08;1&#xff09;JDBC 为访问不同的数据库提供了统一的接口&#xff0c;为使用者屏蔽了细节问题。 &#xff08;2&#xff09;Java 程序员使用 JDBC&#xff0c;可以连接任何提供了 JDBC 驱动程序的数据库系统…...

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机的固定帧率(C++)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机的固定帧率&#xff08;C&#xff09; Baumer工业相机Baumer工业相机的固定帧率功能的技术背景CameraExplorer如何查看相机固定帧率功能在NEOAPI SDK里通过函数设置相机固定帧率 Baumer工业相机通过NEOAPI SDK设置相机固定…...

基于Java课堂签到系统

基于Java课堂签到系统 功能需求 1、用户登录&#xff1a;学生需要使用学号或手机号等唯一标识登录系统。 2、签到功能&#xff1a;在课堂开始时&#xff0c;学生可以通过系统进行签到&#xff0c;以证明出席。 3、签出功能&#xff1a;在课堂结束时&#xff0c;学生可以通过…...

springboot整合webservice使用总结

因为做的项目中用到了webservice,所以在此总结一下。 一、webservice简介 Web Service也叫XML Web Service, WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求&#xff0c;轻量级的独立的通讯技术。是通过SOAP在Web上提供的软件服务&#xff0c;使…...

MySQL中的索引之分类,原理,作用,优缺点和执行计划

索引 索引的作用&#xff1a;加速查找 例如: 300w条数据的表中查询&#xff0c;无索引需要700s, 利用索引可能只需要1s用索引的时机是&#xff0c;数据量巨大&#xff0c;并且搜索快速 索引为什么能实现加速查找 基于索引的内部存储结构索引底层基于 BTree 的数据结构存储的在…...

如何做好档案数字化前的鉴定工作

要做好档案数字化前的鉴定工作&#xff0c;可以按照以下步骤进行&#xff1a; 1. 确定鉴定目标&#xff1a;明确要鉴定的档案的内容、数量和性质&#xff0c;确定鉴定的范围和目标。 2. 进行档案清点&#xff1a;对档案进行全面清点和登记&#xff0c;包括数量、种类、状况等信…...

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让用户输入一个数累加和

需求&#xff1a;用户输入一个数&#xff0c; 计算 1 到这个数的和。 比如 用户输入的是 5&#xff0c; 则计算 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报错&#xff1a;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电脑&#xff1a;/etc/hostswin电…...

大数据学习(31)-Spark非常用及重要特性

&&大数据学习&& &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 承认自己的无知&#xff0c;乃是开启智慧的大门 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一下博主哦&#x1f91…...

【教学类-43-14】 20240103 (4宫格数独:正确版:576套) 不重复的基础模板数量:576套

作品展示&#xff1a;&#xff1a;——4宫格 576套不重复模板&#xff08;48页*12套题&#xff09; 背景需求&#xff1a; 生成4宫格基础模板768套&#xff0c;观看64页内容时&#xff0c;明显看到有错误 【教学类-43-13】 20240103 &#xff08;4宫格数独&#xff1a;错误版…...

AIGC开发:调用openai的API接口实现简单机器人

简介 开始进行最简单的使用&#xff1a;通过API调用openai的模型能力 OpenAI的能力如下图&#xff1a; 文本生成模型 OpenAI 的文本生成模型&#xff08;通常称为生成式预训练 Transformer 或大型语言模型&#xff09;经过训练可以理解自然语言、代码和图像。这些模型提供文…...

c基础(二)

指针&#xff1a; 含义&#xff1a;是一个值&#xff0c;一个值代表着一个内存地址&#xff0c;类似于存放路径 * 运算符 &#xff1a; 1 字符*表示指针 作用&#xff1a;通常跟在类型关键字的后面&#xff0c;表示指针指向的是什么类型的值 int * foo, * bar;声明指针后会…...

人工智能趋势报告解读:ai野蛮式生长的背后是机遇还是危机?

近期&#xff0c;Enterprise WordPress发布了生成式人工智能在营销中的应用程度的报告&#xff0c;这是一个人工智能迅猛发展的时代&#xff0c;目前人工智能已经广泛运用到内容创作等领域&#xff0c;可以预见的是人工智能及其扩展应用还将延伸到我们工作与生活中的方方面面。…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

MySQL JOIN 表过多的优化思路

当 MySQL 查询涉及大量表 JOIN 时&#xff0c;性能会显著下降。以下是优化思路和简易实现方法&#xff1a; 一、核心优化思路 减少 JOIN 数量 数据冗余&#xff1a;添加必要的冗余字段&#xff08;如订单表直接存储用户名&#xff09;合并表&#xff1a;将频繁关联的小表合并成…...

LangChain 中的文档加载器(Loader)与文本切分器(Splitter)详解《二》

&#x1f9e0; LangChain 中 TextSplitter 的使用详解&#xff1a;从基础到进阶&#xff08;附代码&#xff09; 一、前言 在处理大规模文本数据时&#xff0c;特别是在构建知识库或进行大模型训练与推理时&#xff0c;文本切分&#xff08;Text Splitting&#xff09; 是一个…...

Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程

鸿蒙电脑版操作系统来了&#xff0c;很多小伙伴想体验鸿蒙电脑版操作系统&#xff0c;可惜&#xff0c;鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机&#xff0c;来体验大家心心念念的鸿蒙系统啦&#xff01;注意&#xff1a;虚拟…...

高抗扰度汽车光耦合器的特性

晶台光电推出的125℃光耦合器系列产品&#xff08;包括KL357NU、KL3H7U和KL817U&#xff09;&#xff0c;专为高温环境下的汽车应用设计&#xff0c;具备以下核心优势和技术特点&#xff1a; 一、技术特性分析 高温稳定性 采用先进的LED技术和优化的IC设计&#xff0c;确保在…...

「Java基本语法」变量的使用

变量定义 变量是程序中存储数据的容器&#xff0c;用于保存可变的数据值。在Java中&#xff0c;变量必须先声明后使用&#xff0c;声明时需指定变量的数据类型和变量名。 语法 数据类型 变量名 [ 初始值]; 示例&#xff1a;声明与初始化 public class VariableDemo {publi…...