• 基于javaweb的电力设备监测管理系统(servlet+jsp)


    系统简介


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

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


    模块简介


    管理员:

    1、登录

    2、用户管理

    3、公告管理

    4、设备分类管理

    5、设备属性管理

    6、设备管理

    7、设备监控管理

    8、设备维修管理

    9、登录日志管理

    用户:

    1、登录,注册

    2、个人信息管理

    3、设备信息管理

    4、设备监控管理

    5、设备维修管理


    项目简介
    难度等级:✩✩✩
    用户类型:2角色(管理员,用户)
    设计模式: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环境:否
    是否采用框架:是
    数据库表数量:10张表
    JSP页面数量:30多张
    是否有分页:有分页

    视频展示

    javaweb电力设备监测管理系统_哔哩哔哩_bilibili本项目采用eclipse工具开发(idea也可运行),jsp+servlet+jquery技术编写,数据库采用的是mysql,navicat开发工具。系统一共分为2个角色分别是:用户,管理员有需要加 微信 hhh1148720753 或者 QQ1148720753(非开源,非开源,非开源,重要事情说三遍), 视频播放量 89、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 0、转发人数 0, 视频作者 码盗666, 作者简介 java码农一枚,相关视频:javaweb网上图书销售管理系统,javawebCT图像管理系统,智慧生产-工厂数字化SaaS产品解决方案,健身房俱乐部管理系统,javaweb家庭财务管理系统,客户管理系统,【2023最新】详解idea安装、配置、汉化,一键激活与破解,(附安装包)亲测有效,永久使用_Java零基础入门必学知识点_Java教程_Java入门_Java,搞定毕设(1):双重差分DID及STATA实操,带你做一个最经典的MFC信息管理系统,拯救期末!(开发全过程录制),基于javaweb宿舍管理系统(eclipse_mysql_jsp_servlet)icon-default.png?t=N7T8https://www.bilibili.com/video/BV1Uh4y1P7kY/

    获取地址

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

    图片展示

    部分代码展示

    登录

    1. <%@ page language="java" contentType="text/html; charset=utf-8"
    2. pageEncoding="utf-8"%>
    3. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    4. <%
    5. String path = request.getContextPath();
    6. String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
    7. + path + "/";
    8. %>
    9. html>
    10. <html lang="en">
    11. <head>
    12. <meta charset="utf-8">
    13. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    14. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    15. <meta name="description" content="Neon Admin Panel">
    16. <meta name="author" content="">
    17. <title>登录title>
    18. <link rel="stylesheet" href="resource/main/static/css/jquery-ui-1.10.3.custom.min.css">
    19. <link rel="stylesheet" href="resource/main/static/css/entypo.css">
    20. <link rel="stylesheet" href="resource/main/static/css/css.css">
    21. <link rel="stylesheet" href="resource/main/static/css/bootstrap.css">
    22. <link rel="stylesheet" href="resource/main/static/css/neon-core.css">
    23. <link rel="stylesheet" href="resource/main/static/css/neon-theme.css">
    24. <link rel="stylesheet" href="resource/main/static/css/neon-forms.css">
    25. <link rel="stylesheet" href="resource/main/static/css/custom.css">
    26. <link href="resource/layui/css/layui.css" rel="stylesheet">
    27. <script src="resource/main/static/js/jquery-1.11.0.min.js">script>
    28. head>
    29. <body class="page-body login-page login-form-fall" data-url="http://neon.dev">
    30. <script type="text/javascript">
    31. var baseurl = '';
    32. script>
    33. <div class="login-container">
    34. <div class="login-header login-caret">
    35. <div class="login-content">
    36. <span style="font-size:30px;">电力设备监测管理系统登录span>
    37. <div class="login-progressbar-indicator">
    38. <h3>43%h3>
    39. <span>logging in...span>
    40. div>
    41. div>
    42. div>
    43. <div class="login-progressbar">
    44. <div>div>
    45. div>
    46. <div class="login-form">
    47. <div class="login-content">
    48. <form role="form" id="loginForm">
    49. <div class="form-group">
    50. <div class="input-group">
    51. <div class="input-group-addon">
    52. <i class="entypo-user">i>
    53. div>
    54. <input type="text" class="form-control" name="userName" id="userName" placeholder="请输入用户名" autocomplete="off">
    55. div>
    56. div>
    57. <div class="form-group">
    58. <div class="input-group">
    59. <div class="input-group-addon">
    60. <i class="entypo-key">i>
    61. div>
    62. <input type="password" class="form-control" name="password" id="password" placeholder="请输入密码" autocomplete="off">
    63. div>
    64. div>
    65. <div class="form-group">
    66. <select name="type" id="type" class="form-control">
    67. <option value="" selected>请选择角色option>
    68. <option value="1">管理员option>
    69. <option value="2">用户option>
    70. select>
    71. div>
    72. <div class="form-group">
    73. <button type="button" id="login" class="btn btn-primary btn-block btn-login">
    74. <i class="entypo-login">i>
    75. 登录
    76. button>
    77. div>
    78. form>
    79. <div class="login-bottom-links">
    80. <a class="link">没有账号?a>
    81. <br>
    82. <a type="button" onclick="reg()" >注册a>
    83. div>
    84. div>
    85. div>
    86. div>
    87. <script src="resource/main/static/js/main-gsap.js">script>
    88. <script src="resource/main/static/js/jquery-ui-1.10.3.minimal.min.js">script>
    89. <script src="resource/main/static/js/bootstrap.js">script>
    90. <script src="resource/main/static/js/joinable.js">script>
    91. <script src="resource/main/static/js/resizeable.js">script>
    92. <script src="resource/main/static/js/neon-api.js">script>
    93. <script src="resource/main/static/js/jquery.validate.min.js">script>
    94. <script src="resource/main/static/js/neon-login.js">script>
    95. <script src="resource/main/static/js/neon-custom.js">script>
    96. <script src="resource/main/static/js/neon-demo.js">script>
    97. <script src="resource/layui/layui.js">script>
    98. <script>
    99. $("#login").on("click", function() {
    100. var userName = $("#userName").val().trim(); // trim()去除空格
    101. var password = $("#password").val().trim();
    102. var type = $("#type").val();
    103. if(userName == ""){
    104. alert('账号不能为空!');
    105. return false;
    106. }
    107. if(password == ""){
    108. alert('密码不能为空!');
    109. return false;
    110. }
    111. if(type == ""){
    112. alert('请选择角色!');
    113. return false;
    114. }
    115. $.ajax({
    116. cache : true,
    117. type : "post",
    118. url : "LoginServlet?action=login",
    119. data : $("#loginForm").serialize(),
    120. async : false,
    121. success : function(e) {
    122. if (e == 'yes') {
    123. alert("登录成功!");
    124. window.parent.location.href = "UtilServlet?action=toMain";
    125. }else {
    126. alert("登录失败,账号或者密码错误!");
    127. }
    128. }
    129. })
    130. });
    131. script>
    132. <script>
    133. layui.use([ 'form','jquery','layer','upload' ], function() {
    134. var form = layui.form,
    135. layer = layui.layer,
    136. $ = layui.jquery,
    137. upload = layui.upload;
    138. form.render();//这句一定要加,占坑
    139. window.reg = function(e){
    140. layer.open({
    141. //调整弹框的大小
    142. area:['500px','800px'],
    143. shadeClose:true,//点击旁边地方自动关闭
    144. //动画
    145. anim:2,
    146. //弹出层的基本类型
    147. type: 2,
    148. title: '用户注册',
    149. //刚才定义的弹窗页面
    150. content: 'LoginServlet?action=toRegister', //这里content是一个URL,如果你不想让iframe出现滚动条,你还可以content: ['http://sentsin.com', 'no']
    151. });
    152. }
    153. })
    154. script>
    155. body>
    156. html>
    1. protected void login(HttpServletRequest request, HttpServletResponse response) throws Exception {// 跳转到添加用户界�?
    2. String userName = request.getParameter("userName");
    3. String password = request.getParameter("password");
    4. String type = request.getParameter("type");
    5. String message = "no";
    6. UserLog UserLog = new UserLog();
    7. UserLog.setUsername(userName);
    8. UserLog.setIpAddress(InetAddress.getLocalHost().getHostAddress());
    9. UserLog.setType(type.equals("1")?"管理员":"用户");
    10. UserLog.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()));
    11. UserLog.setContent("登录失败");
    12. if (type != null && type.equals("1")) {// admin
    13. Admin admin = service.selectAdmin(userName, password);
    14. if (admin != null) {
    15. message = "yes";
    16. request.getSession().setAttribute("flag", 1);
    17. request.getSession().setAttribute("admin", admin);
    18. UserLog.setContent("登录成功");
    19. }
    20. } else if (type != null && type.equals("2")) {
    21. User user = service.seletUser(userName, password);
    22. if (user != null) {
    23. message = "yes";
    24. request.getSession().setAttribute("flag", 2);
    25. request.getSession().setAttribute("user", user);
    26. UserLog.setContent("登录成功");
    27. }
    28. }
    29. service.addUserLog(UserLog);
    30. response.getWriter().print(message);
    31. }

    注册

    1. <%@ page language="java" contentType="text/html; charset=utf-8"
    2. pageEncoding="utf-8"%>
    3. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    4. <%
    5. String path = request.getContextPath();
    6. String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
    7. + path + "/";
    8. %>
    9. <jsp:include page="/WEB-INF/common/header.jsp"/>
    10. <body class="animsition">
    11. <div class="main-content">
    12. <div class="section__content section__content--p30">
    13. <div class="container-fluid">
    14. <div class="row">
    15. <div class="col-lg-12">
    16. <div class="card">
    17. <div class="card-header">
    18. <strong>用户注册strong>
    19. div>
    20. <div class="card-body card-block">
    21. <form id="saveForm" class="form-horizontal">
    22. <input name="id" value="${data.id }" type = "hidden" />
    23. <div class="row form-group">
    24. <div class="col col-md-3">
    25. <label for="realname" class=" form-control-label">姓名label>
    26. div>
    27. <div class="col-12 col-md-9">
    28. <input type="text" id="realname" name="realname" class="form-control">
    29. div>
    30. div>
    31. <div class="row form-group">
    32. <div class="col col-md-3">
    33. <label for="pwd" class=" form-control-label">登陆密码label>
    34. div>
    35. <div class="col-12 col-md-9">
    36. <input type="password" id="pwd" name="pwd" class="form-control">
    37. div>
    38. div>
    39. <div class="row form-group">
    40. <div class="col col-md-3">
    41. <label for="age" class=" form-control-label">年龄label>
    42. div>
    43. <div class="col-12 col-md-9">
    44. <input type="number" id="age" name="age" class="form-control">
    45. div>
    46. div>
    47. <div class="row form-group">
    48. <div class="col col-md-3">
    49. <label for="phone" class=" form-control-label">手机号label>
    50. div>
    51. <div class="col-12 col-md-9">
    52. <input type="text" id="phone" name="phone" class="form-control">
    53. div>
    54. div>
    55. <div class="row form-group">
    56. <div class="col col-md-3">
    57. <label for="select" class=" form-control-label">性别label>
    58. div>
    59. <div class="col-12 col-md-9">
    60. <select name="sex" id="sex" class="form-control">
    61. <option value="男" >option>
    62. <option value="女" >option>
    63. select>
    64. div>
    65. div>
    66. <div class="row form-group">
    67. <div class="col col-md-3">
    68. <label for="address" class=" form-control-label">地址label>
    69. div>
    70. <div class="col-12 col-md-9">
    71. <textarea name="address" id="address" rows="2" class="form-control">textarea>
    72. div>
    73. div>
    74. <div class="row form-group">
    75. <div class="col col-md-3">
    76. <label for="img" class=" form-control-label">上传图片label>
    77. div>
    78. <div class="col-6 col-md-6">
    79. <input type="file" id="img" name="img" class="form-control-file">
    80. div>
    81. <div class="col-6 col-md-3">
    82. <img id="preview_img" width="100px" height="100px" alt="">
    83. div>
    84. div>
    85. form>
    86. div>
    87. <div class="card-footer">
    88. <button type="button" class="btn btn-primary btn-sm" id="save">
    89. <i class="fa fa-dot-circle-o">i>立即注册
    90. button>
    91. div>
    92. div>
    93. div>
    94. div>
    95. div>
    96. div>
    97. div>
    98. <script src="resource/main/vendor/jquery-3.2.1.min.js">script>
    99. <script src="resource/main/vendor/bootstrap-4.1/popper.min.js">script>
    100. <script src="resource/main/vendor/bootstrap-4.1/bootstrap.min.js">script>
    101. <script src="resource/main/vendor/slick/slick.min.js">
    102. script>
    103. <script src="resource/main/vendor/wow/wow.min.js">script>
    104. <script src="resource/main/vendor/animsition/animsition.min.js">script>
    105. <script src="resource/main/vendor/bootstrap-progressbar/bootstrap-progressbar.min.js">
    106. script>
    107. <script src="resource/main/vendor/counter-up/jquery.waypoints.min.js">script>
    108. <script src="resource/main/vendor/counter-up/jquery.counterup.min.js">
    109. script>
    110. <script src="resource/main/vendor/circle-progress/circle-progress.min.js">script>
    111. <script src="resource/main/vendor/perfect-scrollbar/perfect-scrollbar.js">script>
    112. <script src="resource/main/vendor/chartjs/Chart.bundle.min.js">script>
    113. <script src="resource/main/vendor/select2/select2.min.js">
    114. script>
    115. <script src="resource/main/js/main.js">script>
    116. <script>
    117. $("#img").change(function () {
    118. var img_src = URL.createObjectURL($(this)[0].files[0]);
    119. document.getElementById("preview_img").src=img_src;
    120. });
    121. $("#save").click(function() {
    122. $.ajax({
    123. cache:true,
    124. type : "post",
    125. url : "LoginServlet?action=registerUser",
    126. data : new FormData($('#saveForm')[0]),
    127. processData: false,
    128. contentType: false,
    129. //data : $("#saveForm").serialize(),
    130. async:false,
    131. success : function(e) {
    132. if (e == "yes") {
    133. alert("注册成功!");
    134. window.parent.location.reload();
    135. } else if (e == "is") {
    136. alert("注册失败,手机号重复");
    137. }else{
    138. alert("注册失败");
    139. }
    140. }
    141. })
    142. });
    143. $("#imgUrl").change(function () {
    144. var img_src = URL.createObjectURL($(this)[0].files[0]);
    145. document.getElementById("preview_img").src=img_src;
    146. });
    147. script>
    148. body>
    149. html>

    系统总结


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

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

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

  • 相关阅读:
    第三篇:实践篇 《使用Assembler 实现图片任意切割功能》
    STM32 ST-LINK
    简单的人脸识别实战
    java面试强基(10)
    浏览器缓存机制
    定个小目标之刷LeetCode热题(20)
    使用动态sql对对象进行操作
    PyQt5快速开发与实战 6.1 好软件的三个维度 && 6.2 PyQt5中的布局管理 && 6.3 PyQt5的绝对位置布局
    阿里云 E-MapReduce 全面开启 Serverless 时代
    图片链接打不开检测工具-免费链接失败检测软件
  • 原文地址:https://blog.csdn.net/qq_43485489/article/details/132853613