java Servlet 云平台教学系统myeclipse定制开发SQLServer数据库网页模式java编程jdbc

news2024/11/18 3:27:51

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

java Web云平台教学系统1

下载地址

https://download.csdn.net/download/qq_41221322/88810057
二、功能介绍

前台功能:
系统首页浏览
课程浏览、收藏
学习课程、笔记查看编写
在线测试、查看已经测试的成绩
提交答疑、查看答疑
用户注册、登录
后台管理:
(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)教师管理:对教师信息进行添加、删除、修改和查看
(3)学生管理:对学生信息进行添加、删除、修改和查看
(4)留言管理:对留言信息进行添加、删除、修改和查看
(5)课程管理:对课程信息进行添加、删除、修改和查看
(6)课程收藏管理:对课程收藏信息进行删除、修改和查看
(7)章节管理:对章节信息进行添加、删除、修改和查看
(8)学习进度管理:对学习进度信息进行添加、删除、修改和查看
(9)学习笔记管理:对学习笔记信息进行添加、删除、修改和查看
(10)试题管理:对试题信息进行添加、删除、修改和查看
(11)试卷管理:对试卷信息进行添加、删除、修改和查看
(12)卷管理:对卷信息进行添加、删除、修改和查看
(13)成绩管理:对成绩信息进行删除、修改和查看
(14)答题管理:对答题信息进行删除、修改和查看

数据库设计

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

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

[表jiaoshi] 教师列属性表格

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

[表xuesheng] 学生列属性表格

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

[表liuyan] 留言列属性表格

序号字段名称数据类型长度主键描述
1lyidINTEGER11留言编号
2lyVARCHAR40留言
3yhVARCHAR40用户
4sjVARCHAR40时间
5hfVARCHAR40回复

[表kecheng] 课程列属性表格

序号字段名称数据类型长度主键描述
1kcidINTEGER11课程编号
2kcmcVARCHAR40课程名称
3smVARCHAR40说明
4tpVARCHAR40图片
5jsVARCHAR40介绍
6fbsjVARCHAR40发布时间

[表kcsz] 课程收藏列属性表格

序号字段名称数据类型长度主键描述
1kcszidINTEGER11课程收藏编号
2kcVARCHAR40课程
3yhVARCHAR40用户
4sjVARCHAR40时间

代码设计

		shijuanDao dao=new shijuanDao();//声明DAO方法
		shijuan shijuan=new shijuan();//声明shijuan bean对象方法
		shijuan.setSjid((String)request.getParameter("keyid"));//试卷编号
String sj=(String)request.getParameter("sj");//变量:试卷
shijuan.setSj((String)request.getParameter("sj"));//赋值:试卷
String kc=(String)request.getParameter("kc");//变量:课程
shijuan.setKc((String)request.getParameter("kc"));//赋值:课程
String nr=(String)request.getParameter("nr");//变量:内容
shijuan.setNr((String)request.getParameter("nr"));//赋值:内容
String fbsj=(String)request.getParameter("fbsj");//变量:发布时间
shijuan.setFbsj((String)request.getParameter("fbsj"));//赋值:发布时间

	response.setCharacterEncoding("gb2312");//设定页面字符集 防止乱码
		try {
			dao.insert(shijuan);
			request.setAttribute("flag", "操作成功"); 
			
			
			
			request.getRequestDispatcher("shijuan/shijuanadd.jsp").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
				
	}
	private void ListM(HttpServletRequest request, HttpServletResponse response){//试卷信息列表
		ResultSet rs=null;
		shijuanDao dao = new shijuanDao();//声明DAO方法
	   
	    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 传值
		

		request.getRequestDispatcher("shijuan/shijuanlist.jsp?Page="+str).forward(request, response);
		}catch(Exception e){
			e.toString();
			e.printStackTrace();
		}		


		
	}
	private void PListM(HttpServletRequest request, HttpServletResponse response){//测试信息列表
		
		ResultSet rs=null;
		shijuanDao dao = new shijuanDao();//声明DAO方法
	    System.out.println("alist");

		String sql="";
		response.setCharacterEncoding("gb2312");//设定页面字符集 防止乱码
		try{
			rs=dao.qlist(sql);

			PrintWriter out = response.getWriter();
			request.setAttribute("rs", rs); 
		

			request.getRequestDispatcher("shijuan/shijuanplist.jsp").forward(request, response);
		}catch(Exception e){
			e.toString();
			e.printStackTrace();
		}
		
	}
	private void modifyIndex(HttpServletRequest request, HttpServletResponse response){//试卷修改首页
			ResultSet rs=null;
	response.setCharacterEncoding("gb2312");//设定页面字符集 防止乱码
		shijuanDao dao = new shijuanDao();//声明DAO方法
		
	
		String keyid=(String)request.getParameter("keyid");
		String sql="";
	
		
		if(keyid!=null&&!keyid.equals("")){
			
			sql+=" and sjid='"+keyid+"'";
			
		}
		try{
			rs=dao.qlist(sql);
			PrintWriter out = response.getWriter();
			request.setAttribute("rs", rs); 
			
			request.getRequestDispatcher("shijuan/shijuanmodify.jsp").forward(request, response);
			//response.sendRedirect("shijuan/shijuanmodify.jsp");
		}catch(Exception e){
			e.toString();
			e.printStackTrace();
		}
		
	}
	private void detailM(HttpServletRequest request, HttpServletResponse response){//试卷详细信息页面
		
		ResultSet rs=null;
	response.setCharacterEncoding("gb2312");//设定页面字符集 防止乱码
		shijuanDao dao = new shijuanDao();//声明DAO方法
		
	
		String keyid=(String)request.getParameter("keyid");
		String sql="";
	
		
		if(keyid!=null&&!keyid.equals("")){
			
			sql+=" and sjid='"+keyid+"'";
			
		}
		try{
			rs=dao.qlist(sql);
			
			request.setAttribute("rs", rs); 
		request.getRequestDispatcher("shijuan/shijuandetail.jsp").forward(request, response);
		}catch(Exception e){
			e.toString();
			e.printStackTrace();
		}
		
	}
	private void deleteM(HttpServletRequest request, HttpServletResponse response){//试卷删除
		ResultSet lst=null;
		shijuanDao dao = new shijuanDao();//声明DAO方法
	  response.setCharacterEncoding("gb2312");//设定页面字符集 防止乱码
		String keyid=(String)request.getParameter("keyid"); 
	
		try{
			dao.delete(keyid);//调用 dao 方法中的删除方法 删除数据
				request.setAttribute("flag", "删除成功"); 
		request.getRequestDispatcher("shijuanServlet?method=list").forward(request, response);
		
			//response.sendRedirect("shijuanServlet?method=list");
		}catch(Exception e){
			e.toString();
			e.printStackTrace();
		}
		


三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件DBO.java ,权限包括 用户,管理员
2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为SQLServer2008,使用java语言开发。
3、数据库文件名是jspzxyd.mdf 系统名称zxyd
4、地址:http://127.0.0.1:8080/zxyd/qt/index.jsp

四 系统实现

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1438127.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ref用法

目录 React中提供两种方法创建ref对象: 类组件获取 Ref 三种方式 ① Ref属性是一个字符串。 ② Ref 属性是一个函数。 ③ Ref属性是一个ref对象。 高级用法1:forwardRef 转发 Ref 高级用法2:ref实现组件通信 【ref作用】:最…

Vue3.4+element-plus2.5 + Vite 搭建教程整理

一、 Vue3Vite 项目搭建 说明: Vue3 最新版本已经基于Vite构建,关于Vite简介:Vite 下一代的前端工具链,前端开发与构建工具-CSDN博客 1.安装 并 创建Vue3 应用 npm create vuelatest 创建过程可以一路 NO 目前推荐使用 Vue R…

20240203在WIN10下使用GTX1080配置stable-diffusion-webui.git不支持float16精度出错的处理

20240203在WIN10下使用GTX1080配置stable-diffusion-webui.git不支持float16精度出错的处理 2024/2/3 21:23 缘起:最近学习stable-diffusion-webui.git,在Ubuntu20.04.6下配置SD成功。 不搞精简版本:Miniconda了。直接上Anacoda! …

如何在 emacs 上开始使用 Tree-Sitter(windows)

文章目录 如何在emacs上开始使用Tree-Sitter(windows) 如何在emacs上开始使用Tree-Sitter(windows) 参考:“How to Get Started with Tree-Sitter”。 首先要有一个可运行的emacs,并且它支持Tree-Sitter&…

最新AI系统ChatGPT网站H5系统源码,支持Midjourney绘画局部编辑重绘,GPT语音对话+ChatFile文档对话总结+DALL-E3文生图

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧。已支持GPT…

第3节、电机定速转动【51单片机+L298N步进电机系列教程】

↑↑↑点击上方【目录】,查看本系列全部文章 摘要:本节介绍用定时器定时的方式,精准控制脉冲时间,从而控制步进电机速度。 一、计算过程 电机每一步的角速度等于走这一步所花费的时间,走一步角度等于步距角&#xff…

获取旁站 / C 段:第三方网站(附链接)

一、介绍 1.1 旁段 在网络安全的上下文中,"旁段"(Pivot)是指攻击者通过入侵一个网络中的一台计算机,然后利用该计算机作为跳板(或者称之为“旁道”)来访问其他计算机或网络资源的行为。 攻击者…

二进制安全虚拟机Protostar靶场(8)heap3 Fastbins unlink exploit

前言 这是一个系列文章&#xff0c;之前已经介绍过一些二进制安全的基础知识&#xff0c;这里就不过多重复提及&#xff0c;不熟悉的同学可以去看看我之前写的文章 heap3 程序静态分析 https://exploit.education/protostar/heap-three/#include <stdlib.h> #include …

二进制安全虚拟机Protostar靶场(7)heap2 UAF(use-after-free)漏洞

前言 这是一个系列文章&#xff0c;之前已经介绍过一些二进制安全的基础知识&#xff0c;这里就不过多重复提及&#xff0c;不熟悉的同学可以去看看我之前写的文章 heap2 程序静态分析 https://exploit.education/protostar/heap-two/#include <stdlib.h> #include &…

亚信安慧AntDB领航分布式数据库的突破之路

随着互联网技术的迅猛发展&#xff0c;大数据时代的到来&#xff0c;数据库的需求不断增长。在这样的背景下&#xff0c;国产分布式数据库正逐渐崭露头角&#xff0c;AntDB作为其中的重要代表&#xff0c;也积极参与到了这场竞争中。作为国内的技术创新者&#xff0c;AntDB不仅…

UE4 C++ 动态加载类和资源

动态加载类和资源&#xff1a;指在运行时加载 .cpp void AMyActor::BeginPlay() {Super::BeginPlay();//动态加载资源UStaticMesh* MyTempStaticMesh LoadObject<UStaticMesh>(nullptr,TEXT("/Script/Engine.StaticMesh/Game/StarterContent/Shapes/Shape_NarrowC…

2024过年期间可以开通股票账户吗?找哪家证券公司开户佣金手续费最低?

炒股前的准备工作包括以下几个方面&#xff1a; 学习基础知识&#xff1a;了解股市的基本知识&#xff0c;包括股票的基本概念、交易方式、股市规则等&#xff0c;可以通过阅读相关书籍、参加培训班或利用在线教育资源进行学习。 制定投资策略&#xff1a;根据个人的风险承受能…

Ubuntu22.04切换系统cuda版本

由于最近项目要求的cuda版本有差异&#xff0c;而在Ubuntu中可以通过切换cuda来满足需求&#xff0c;现记录如下。 1、按照 Ubuntu22.04与深度学习配置 中的cuda安装章节&#xff0c;将需要的cuda版本下载到本地并进行安装。 2、cuda安装完成后修改bashrc文件内容 sudo gedit …

c#cad 创建-正方形(四)

运行环境 vs2022 c# cad2016 调试成功 一、程序说明 创建一个正方形&#xff0c;并将其添加到当前活动文档的模型空间中。 程序首先获取当前活动文档和数据库&#xff0c;并创建一个编辑器对象。 然后&#xff0c;使用事务开始创建正方形的操作。获取模型空间的块表记录&a…

webrtc native api的几个要点

文章目录 基本流程状态回调类sdp的中媒体行pc对象 基本流程 webrtc native的接口&#xff0c;主要就是围绕着PeerConnection对象&#xff0c;一个PeerConnection对象它代表了一次音视频会话。 那么通过PeerConnection对象建立音视频通话&#xff0c;包括如下步骤&#xff1a; …

eclipse使用google的Java代码格式

插件下载地址 1.下载eclipse的插件 2.下载的jar包放到eclipse安装目录的dropins文件夹 D:\install_package\STS\sts-4.10.0.RELEASE\dropins&#xff13;.重启后设置 eclipse - windows - preference - java - code style - formatter -

Unet 实战分割项目、多尺度训练、多类别分割

1. 介绍 之前写了篇二值图像分割的项目&#xff0c;支持多尺度训练&#xff0c;网络采用backbone为vgg的unet网络。缺点就是没法实现多类别的分割&#xff0c;具体可以参考&#xff1a;二值图像分割统一项目 本章只对增加的代码进行介绍&#xff0c;其余的参考上述链接博文 本…

云计算 - 弹性计算技术全解与实践

一、引言 在过去的十年里&#xff0c;云计算从一个前沿概念发展为企业和开发者的必备工具。传统的计算模型通常局限于单一的、物理的位置和有限的资源&#xff0c;而云计算则通过分布式的资源和服务&#xff0c;为计算能力带来了前所未有的"弹性"。 弹性&#xff1a;…

牛客网SQL:第二快/慢用时之差大于试卷时长一半的试卷

官网链接&#xff1a; 第二快慢用时之差大于试卷时长一半的试卷_牛客题霸_牛客网现有试卷信息表examination_info&#xff08;exam_id试卷ID, tag试卷类别,。题目来自【牛客题霸】https://www.nowcoder.com/practice/b1e2864271c14b63b0df9fc08b559166?tpId240 0 问题描述 试…

vector类的模拟实现

实现基本的vector框架 参考的是STL的一些源码&#xff0c;实现的vector也是看起来像是一个简略版的&#xff0c;但是看完能对vector这个类一些接口函数更好的认识。 我们写写成员变量&#xff0c;先来看看STL的成元变量是那些 namespace tjl {template<class T>class …