基于javaweb的CT图像管理系统(servlet+jsp)

系统简介


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

三个角色:管理员,普通用户,医生


模块简介


管理员:

1、登录

2、用户管理

3、医生管理

4、病例信息管理

5、医生分配管理

6、ct图像管理

7、公告管理

8、个人信息管理

9、数据统计管理

用户:

1、登录,注册

2、个人信息管理

3、病例管理

4、查看ct图像

5、查看公告

医生:

1、登录

2、个人信息管理

3、病例查看

4、更新ct图像



项目简介
难度等级:✩✩✩
用户类型: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环境:否
是否采用框架:是
数据库表数量:6张表
JSP页面数量:20多张
是否有分页:有分页

视频展示

javawebCT图像管理系统_哔哩哔哩_bilibili本项目采用eclipse工具开发(idea也可运行),jsp+servlet+jquery技术编写,数据库采用的是mysql,navicat开发工具。系统一共分为3个角色分别是:用户,管理员,医生有需要加 微信 hhh1148720753 或者 QQ1148720753(非开源,非开源,非开源,重要事情说三遍), 视频播放量 1、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 0、转发人数 0, 视频作者 码盗666, 作者简介 java码农一枚,相关视频:Ideogram正式发布 永久免费,可生成完美字体和创意图像,【2023年8月份最强chatGPT4.0】免费使用教程,javaweb网上图书销售管理系统,无偿分享最强ai工具包,解压既用,无需注册,数字人合成,ai绘画,语音合成,三合一软件包分享,免费使用ChatGPT-4,免费体验GPT-4,甚至可用千款插件,javaweb家庭财务管理系统,【MySQL教程】只要面试就会问的mysql夺命连环22问,1天吃透别人半个月刷的mysql面试内容,比自学强十倍|练完直接面试上岗!!,MySQL面试28问 | 一口气看完面试必问的mysql面试题详解,ChatGPT4.0国内免费网站,没有限制,打开直接使用icon-default.png?t=N7T8https://www.bilibili.com/video/BV1Xk4y1A7dp/

获取地址

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 name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>登录</title><link rel="icon" href="<%=path%>/resource/static/favicon.ico"><link rel="stylesheet" href="<%=path%>/resource/static/bootstrap/css/bootstrap.min.css"><link rel="stylesheet" href="<%=path%>/resource/static/admin/css/login.css"><script src="<%=path%>/resource/static/js/vue.min.js"></script><script src="<%=path%>/resource/static/js/jquery-3.3.1.min.js"></script><script src="<%=path%>/resource/static/bootstrap/js/bootstrap.bundle.js"></script>
</head>
<body style="background-color:#007BFF">
<div class="login" style="height:430px;"><form id="saveForm"><h2>CT图像管理系统</h2><div class="form-group"><label>用户名</label><input type="text" v-model="username" name="username" id="username" class="form-control form-control-lg"></div><div class="form-group"><label>密码</label><input type="password" v-model="password" name ="password" id="password" class="form-control form-control-lg" id="pwd"></div><div class="form-group form-check"><input type="radio" class="form-check-input" name="type" value="1" id="exampleCheck2" checked><label class="form-check-label" for="exampleCheck2">管理员</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" class="form-check-input" name="type" value="2" id="exampleCheck1" ><label class="form-check-label" for="exampleCheck1">用户</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" class="form-check-input" name="type" value="3" id="exampleCheck1" ><label class="form-check-label" for="exampleCheck1">医生</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </div> <button type="button" :disabled="loading" @click="login" id="login" class="btn btn-primary btn-lg  btn-block"><span v-show="loading" class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>立即登录</button><a type="button" href="LoginServlet?action=toRegister" class="btn btn-info  btn-lg  btn-block"><span v-show="loading" class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>去注册</a></form>
</div><script>$("#login").click(function(){var username = $("#username").val();var password = $("#password").val();if(username == null || username == ""){alert("请填写用户名");return false;}if(password == null || password == ""){alert("请填写密码");return false;}//执行添加的操作ajax$.ajax({cache:true,type:"post",url:"LoginServlet?action=login",data:$("#saveForm").serialize(),async:false,success:function(e){//takeoutif(e == 'ok'){alert("登录成功");window.parent.location.href="LoginServlet?action=toMain";}else{alert("登录失败,账号或密码错误");}}})});</script></body>
</html>

 

/*** 登录* * @param request* @param response* @throws ServletException* @throws IOException*/public void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 处理登录// 清空登录记录request.getSession().invalidate();// 进行登录操作String username = request.getParameter("username");String password = request.getParameter("password");String type = request.getParameter("type");if (type != null && type.equals("1")) {Admin admin1 = UserService.selectAdmin(username, password);if (admin1 != null) {response.getWriter().print("ok");request.getSession().setAttribute("admin", admin1);request.getSession().setAttribute("flag", 1);} else {response.getWriter().print("error");}} else if (type != null && type.equals("2")) {User User1 = UserService.selectUser(username, password);if (User1 != null) {response.getWriter().print("ok");request.getSession().setAttribute("user", User1);request.getSession().setAttribute("flag", 2);} else {response.getWriter().print("error");}}else if (type != null && type.equals("3")) {Doctor data = DoctorService.selectDoctor(username, password);if (data != null) {response.getWriter().print("ok");request.getSession().setAttribute("doctor", data);request.getSession().setAttribute("flag", 3);} else {response.getWriter().print("error");}} else {response.getWriter().print("error");}}

注册

<%@ 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 name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>登录</title><link rel="icon" href="<%=path%>/resource/static/favicon.ico"><link rel="stylesheet" href="<%=path%>/resource/static/bootstrap/css/bootstrap.min.css"><link rel="stylesheet" href="<%=path%>/resource/static/admin/css/login.css"><script src="<%=path%>/resource/static/js/vue.min.js"></script><script src="<%=path%>/resource/static/js/jquery-3.3.1.min.js"></script><script src="<%=path%>/resource/static/bootstrap/js/bootstrap.bundle.js"></script>
</head>
<body>
<div class="login" style="height:660px;margin-top:-300px"><form id="saveForm" enctype="multipart/form-data"><h2>注册</h2><div class="form-group"><label>姓名</label><input type="text" name="realname" id="realname" class="form-control form-control-lg"></div><div class="form-group"><label>密码</label><input type="password"  name ="pwd" id="pwd" class="form-control form-control-lg" id="pwd"></div><div class="form-group"><label>手机号</label><input type="text" name="phone" id="phone" class="form-control form-control-lg"></div><div class="form-group"><label>性别</label> <select name="sex" class="form-control"><option value="男">男</option><option value="女">女</option></select> </div><div class="form-group"><label>头像</label><input type="file" name="img" id="img" ></div><button type="button" :disabled="loading" @click="login" id="login" class="btn btn-primary btn-lg  btn-block"><span v-show="loading" class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>立即注册</button><a  href="LoginServlet?action=toLogin" class="btn btn-info btn-lg  btn-block"><span v-show="loading" class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>返回登录</a></form>
</div><script>$("#login").click(function(){var realname = $("#realname").val();var pwd = $("#pwd").val();var phone = $("#phone").val();if(realname == null || realname == ""){alert("请填写姓名");return false;}if(pwd == null || pwd == ""){alert("请填写密码");return false;}if(phone == null || phone == ""){alert("请填写手机号");return false;}//执行添加的操作ajax$.ajax({cache:true,type:"post",url : "UserServlet?action=addUser",data : new FormData($('#saveForm')[0]),processData: false,contentType: false,async:false,success:function(e){//takeoutif (e == "yes") {alert("注册成功!");window.location.href = "LoginServlet?action=toLogin";} else if (e == "isExist") {alert("注册失败,手机号重复");}else{alert("注册失败");}}})});</script></body>
</html>

系统总结


系统使用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/75077.shtml

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

相关文章

ARM DIY(十)LRADC 按键

前言 ARM SOC 有别于单片机 MCU 的一点就是&#xff0c;ARM SOC 的 GPIO 比较少&#xff0c;基本上引脚都有专用的功能&#xff0c;因为它很少去接矩阵键盘、众多继电器、众多 LED。 但有时 ARM SOC 又需要三五个按键&#xff0c;这时候 LRADC 就是一个不错的选择&#xff0c;…

C# OpenVino Yolov8 Detect 目标检测

效果 项目 代码 using OpenCvSharp; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using static System.Net.Mime.MediaT…

python趣味编程-数独游戏

数独游戏是一个用Python编程语言编写的应用程序。该项目包含可以显示实际应用程序的基本功能。该项目可以让修读 IT 相关课程并希望开发简单应用程序的学生受益。这个Python 数独游戏是一个简单的项目,可用于学习tkinter库的实践。这个数独游戏可以提供Python编程的基本编码技…

黑马JVM总结(三)

&#xff08;1&#xff09;栈内存溢出 方法的递归调用&#xff0c;没有设置正确的结束条件&#xff0c;栈会有用完的一天&#xff0c;导致栈内存溢出 可以修改栈的大小&#xff1a; 再次运行&#xff1a;减少了次数 案例二&#xff1a; 两个类的循环应用问题&#xff0c;导致Js…

linux-进程-execl族函数

exec函数的作用&#xff1a; 我们用fork函数创建新进程后&#xff0c;经常会在新进程中调用exec函数去执行另外一个程序。当进程调用exec函数时&#xff0c;该进程被完全替换为新程序。因为调用exec函数并不创建新进程&#xff0c;所以前后进程的ID并没有改变。 简单来说就是&…

如何使用聊天GPT自定义说明

推荐&#xff1a;使用 NSDT场景编辑器 快速搭建3D应用场景 OpenAI ChatGPT正在席卷全球。一周又一周&#xff0c;更新不断提高您可以使用这种最先进的语言模型做什么的标准。 在这里&#xff0c;我们深入研究了OpenAI最近在ChatGPT自定义指令上发布的公告。此功能最初以测试版…

第11篇:ESP32vscode_platformio_idf框架helloworld点亮LED

第1篇:Arduino与ESP32开发板的安装方法 第2篇:ESP32 helloword第一个程序示范点亮板载LED 第3篇:vscode搭建esp32 arduino开发环境 第4篇:vscodeplatformio搭建esp32 arduino开发环境 ​​​​​​第5篇:doit_esp32_devkit_v1使用pmw呼吸灯实验 第6篇:ESP32连接无源喇叭播…

智慧公厕是对智慧城市“神经末梢”的有效激活,公共厕所实现可感知、可视化、可管理、可控制

在当今科技迅速发展的时代&#xff0c;智慧城市已经成为人们关注的热点话题。作为城市基础设施的重要组成部分&#xff0c;公共厕所也逐渐融入到智慧城市的建设中&#xff0c;成为城市管理的焦点之一。智慧公厕作为智慧城市的“神经末梢”&#xff0c;通过可感知、可视化、可管…

【文末送书】Matlab科学计算

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。关…

遥感图像应用:在低分辨率图像上实现洪水损害检测(迁移学习)

本文是上一篇关于“在低分辨率图像上实现洪水损害检测”的博客的延申。 代码来源&#xff1a;https://github.com/weining20000/Flooding-Damage-Detection-from-Post-Hurricane-Satellite-Imagery-Based-on-CNN/tree/master 数据储存地址&#xff1a;https://github.com/Jef…

CSS宽度问题

一、魔法 为 DOM 设置宽度有哪些方式呢&#xff1f;最常用的是配置width属性&#xff0c;width属性在配置时&#xff0c;也有多种方式&#xff1a; widthmin-widthmax-width 通常当配置了 width 时&#xff0c;不会再配置min-width max-width&#xff0c;如果将这三者混合使…

MySql 变量

1.系统变量 1.1 系统变量分类 变量由系统定义&#xff0c;不是用户定义&#xff0c;属于 服务器 层面。系统变量分为全局系统变量&#xff08;需要添加 global 关键字&#xff09;以及会话系统变量&#xff08;需要添加 session 关键字&#xff09;&#xff0c;有时也把全局系…

Web安全——Web安全漏洞与利用上篇(仅供学习)

SQL注入 一、SQL 注入漏洞1、与 mysql 注入的相关知识2、SQL 注入原理3、判断是否存在注入回显是指页面有数据信息返回id 1 and 114、三种 sql 注释符5、注入流程6、SQL 注入分类7、接受请求类型区分8、注入数据类型的区分9、SQL 注入常规利用思路&#xff1a;10、手工注入常规…

MySQL的权限管理与远程访问

MySQL的权限管理 1、授予权限 授权命令&#xff1a; grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名用户地址 identified by ‘连接口令’; 该权限如果发现没有该用户&#xff0c;则会直接新建一个用户。 比如 grant select,insert,delete,drop on atguigudb.…

驱动开发,stm32mp157a开发板的led灯控制实验

1.实验目的 编写LED灯的驱动&#xff0c;在应用程序中编写控制LED灯亮灭的代码逻辑实现LED灯功能的控制&#xff1b; 2.LED灯相关寄存器分析 LED1->PE10 LED1亮灭&#xff1a; RCC寄存器[4]->1 0X50000A28 GPIOE_MODER[21:20]->01 (输出) 0X50006000 GPIOE_ODR[10]-&g…

文件操作(个人学习笔记黑马学习)

C中对文件操作需要包含头文件<fstream > 文件类型分为两种: 1.文本文件&#xff1a;文件以文本的ASCII码形式存储在计算机中 2.二进制文件&#xff1a;文件以文本的二进制形式存储在计算机中&#xff0c;用户一般不能直接读懂它们 操作文件的三大类: 1.ofstream: 写操作 …

SpringBoot项目启动时预加载

SpringBoot项目启动时预加载 Spring Boot是一种流行的Java开发框架&#xff0c;它提供了许多方便的功能来简化应用程序的开发和部署。其中一个常见的需求是在Spring Boot应用程序启动时预加载一些数据或执行一些初始化操作。 1. CommandLineRunner 和 ApplicationRunner Spri…

Nginx 配置错误导致漏洞

文章目录 Nginx 配置错误导致漏洞1. 环境启动2. CRLF注入漏洞2.1 漏洞描述2.2 漏洞原理2.3 漏洞利用2.4 修复建议 3. 目录穿越漏洞3.1 漏洞描述3.2 漏洞原理3.3 漏洞利用3.4 修复建议 4. add_header被覆盖4.1 漏洞描述4.2 漏洞原理4.3 漏洞利用4.4 修复建议 Nginx 配置错误导致…

YOLO的基本原理详解

YOLO介绍 YOLO是一种新的目标检测方法。以前的目标检测方法通过重新利用分类器来执行检测。与先前的方案不同&#xff0c;将目标检测看作回归问题从空间上定位边界框&#xff08;bounding box&#xff09;并预测该框的类别概率。使用单个神经网络&#xff0c;在一次评估中直接…

C#winform导出DataGridView数据到Excel表

前提&#xff1a;NuGet安装EPPlus&#xff0c;选择合适的能兼容当前.net framwork的版本 主要代码&#xff1a; private void btn_export_Click(object sender, EventArgs e) {SaveFileDialog saveFileDialog new SaveFileDialog();saveFileDialog.Filter "Excel Files…