后台是怎么判断管理员用户还是普通用户_JavaWeb图像可视化管理系统之后台搭建(一)环境配置与后台设计...
这个系列文章用来记录一个完整的JavaWeb项目后台的搭建,完整代码也包含前端部分,适合新手,一共两篇。
作者自己也是新手,刚开始写自己的技术文章,其中不合规范之处,还希望各位一定要积极指正。
第一篇:环境配置以及后台设计
1.环境配置
操作系统: Win10
Java环境:
jdk11 这个地方的一个坑点是只有tomcat和jdk有一个相互的版本掣肘的问题,假如是小白的话建议先按照我这个版本下载,即使要换也建议jdk8.0,因为这两个版本在官网中有说明是长期版本,具有向下兼容(Backward Compatible)的特点。
Java SE Development Kit 11-www.oracle.comwww.oracle.com
mysql-connector-java-5.1.39-bin.jar:Java 连接 MySQL 需要驱动包,最新版下载地址为:
Download Connector/Jdev.mysql.comdev.mysql.com
解压后得到jar库文件,然后在对应的项目中导入该库文件,导入的过程作者不加赘述,成功之后会在项目的Referenced Libraries里面看到。
编译环境: Eclipse 这个地方没有太多的坑点,大家放心下载。
Eclipse Downloads | The Eclipse Foundationwww.eclipse.orgwww.eclipse.org
服务器:Apache Tomcat 9.0 在Core部分勾选你需要的版本,Full Documentation是文档,大家不要看到Full就激动了。
Tomcat 9 Software Downloadstomcat.apache.orgtomcat.apache.org
数据库:Mysql 5.7.23 这个下载大家也可以用自己的方法,在国内没挂vpn的话还是在一些镜像站下载速度更快一些。
https://www.mysql.com/downloads/www.mysql.comwww.mysql.com
数据库图形化界面:Navicat Premium 15
Navicat Premium 15www.navicat.comwww.navicat.com
设计模式:MVC设计模式 模型(model)-视图(view)-控制器(controller)
2.项目需求
首先明确需求,我们需要做一个图像可视化管理系统,需要实现以下功能:
· 用户登陆:登录(登陆面背景可以是动态的可视化效果)
· 前台图像展示和查询:不同类别图像(或视频)的信息展示(如图像国别;图像具体位置;分辨率;经纬度;采集时间;采集时长;比例尺);图像(视频)浏览(每个图像可以放大、缩小);查询(不同条件的查询或模糊查询)
· 后台图像管理:图像的管理:图像类别的增删改、查、上传、批量上传;某类别下的图像增删改查、上传、批量上传(每次的操作需要记录下操作的用户和时间);用户的管理
下面我们来理清一下一个后端的任务:
(1)用户登陆与注册
用户登陆有两种方法,一种是利用Cookie/Session方法(使用户在自己的浏览器里缓存一小段代码),另一种则是利用Servlet插入数据库存储记录的方法,这里作者学习了两种方法,虽然最后使用的是后一种方法,但也会对第一种方法做一个简单介绍。
关于session,推荐一篇写的特别好的tutorial,能静下心学这个对水平有非常大的提高。
Session Management in Java - HttpServlet, Cookies, URL Rewriting - JournalDevwww.journaldev.comwww.journaldev.com
package
上图是Login部分Cookie的核心代码
回到主题,设计后台,还没到展示代码的时候。我们想象一下大致的逻辑,一个用户在登陆界面(Login.jsp),可以进入注册界面(Register.jsp)进行注册,注册调用相应Servlet返回登陆界面进行登录,登陆时调用对应的Servlet进行判断,如果密码错误则返回登陆界面(Login.jsp),登陆成功则判断是否是管理员,如果是管理员则进入管理员界面(Usermanagement.jsp/SatellitePic.jsp),如果是普通用户则进入普通用户界面(SatellitePic.jsp),并携带相应的Session信息。
(2)后台图像管理:增删改查四大基础功能的实现
图片类型:卫星图片/风景图片/人物图片。
图片参数:均为五个且不同,但都由图片名来确定。
每一个类别的图片对应增删改查四个Servlet,我们的想法是,对于每一个图片我们用独一无二的图片名来定义图片,就是存在数据库里面的name字段,对于每一种类型的图片库(SatellitePic.jsp/Landscape.jsp/FigurePic.jsp),我们允许在其jsp内进行删图片的操作,而增加/修改/查找需要提交完整表单,我们另外写了一个jsp来负责这个功能。
对于不懂什么是Servlet/Jsp的同学,也请自己学习了,一言以蔽之:
Jsp是html中嵌套java代码 Servlet是java方法,其中可能嵌套html代码
(3)用户管理与日志管理
这个部分我们准备使用两个界面(UserLog/UserManagement)来解决,分别是用户管理和日志展示界面,管理员可以看到所有用户的信息,并对非法的用户进行删除,此外,管理员可以看到所有的日志,知道是哪些用户在什么时候对哪种图片类型进行处理。
做了一个简单的分析之后,我们可以画几个需求图,这可以大大提高后面的工作效率。
最后一个图是作者用Notability直接画的,不是很规范,麻烦大家看看了。
这就是我们做这个项目的第一个部分了,纸上得来总觉浅,下一篇文章将直面代码,带大家看看这个问题到底是怎么实现的,会遇到哪些bug,又有哪些巧妙地方法来找到他们。
作者还没发现怎么传全部代码,在下一篇文章中也一定会上传。
作者的联系方式是QQ:296830921,如果对这个项目有什么疑问与技术问题,欢迎探讨。
后台是怎么判断管理员用户还是普通用户_JavaWeb图像可视化管理系统之后台搭建(一)环境配置与后台设计...相关推荐
- javaweb增删改查实例_JavaWeb图像可视化管理系统之后台搭建(二)用户管理与增删改查(内含代码)...
上一篇文章中,我们介绍了环境配置与后台设计,对于不了解的同学,可以看这个链接 CharlesDDDD:JavaWeb图像可视化管理系统之后台搭建(一)环境配置与后台设计zhuanlan.zhihu. ...
- 后台是怎么判断管理员用户还是普通用户_深入学习 Java Web(九) :用户管理系统...
本文转自与博客园一杯凉茶的博客. 前面学习了一大堆,什么JSP,Servlet.jstl.el等等等,大多是一些死的东西,只要会其语法,知道怎么用就行了,所以做了一个小小的只有增删改查的小demo,为 ...
- 后台是怎么判断管理员用户还是普通用户_用户浏览器被阿里私自【托管】?仔细一查,这事并不简单...
大家好,我是启人. 可能很多挨踢友之前都有过浏览器被人私自篡改的经历. 比如强制更改首页,替换默认搜索引擎. 不过这种情况在各种驱动级(也就是内核级)电脑管家的强力封杀下,现在基本不存在了. 但是,千 ...
- Vue + ElementUI 实现后台管理系统模板 -- 前端篇(一):搭建基本环境 配置环境
项目介绍 使用 vue 以及 element-ui 搭建一个 后台管理系统的模板. 纯属练手(写的比较糙 望指点) 基本环境搭建 初始化项目 使用 vue 以及 element-ui 搭建一个 后台管 ...
- visual studio 按钮判断管理员和用户_用户管理的设计原则
后台的使用者通常是企业的各类权限的管理员,通过对用户管理的合理设计,让管理员准确.高效地完成既定任务,来实现用户管理的价值. 后台产品的使命是为企业提升效率,降低成本,而用户管理是后台的核心部分,用户 ...
- Java学习日志Day41_过滤器Filter 接口_项目更新:后台管理/前台统一处理全局乱码and用户列表---删除以及分页功能
一.过滤器Filter 接口 1.导包: <groupId>com.qf</groupId> <artifactId>FilterAndJquery</art ...
- 一步一步实现中后台管理平台模板-08-登录页和用户信息保存
一,前言 上一篇,完善了Header组件,添加了用户信息的显示和退出功能 用户信息(昵称+头像)都是写死的,线上应用肯定是通过登录获取到用户信息这一篇,制作一个简单的登录页面,模拟接口异步调用(用户信 ...
- 【Swing 开发之图书管理系统】(五)管理员页面布局与用户信息页
Swing 开发之图书管理系统(五)管理员页面布局与用户信息页 Swing 开发之图书管理系统(五)管理员页面布局与用户信息页 1.管理员页面布局 2.用户信息页 Swing 开发之图书管理系统(五) ...
- 要管理此计算机上的用户账户,win10用户账户控制 你要允许此应用 若要继续请输入管理员密码...
今天小编安装魔方电脑大师的时候出现提示:若要继续,请键入管理员密码,然后单击"是" 想必大家在安装或运行程序的时候多多少少都遇到过这种情况,关闭用户账户控制也是同样问题 仔细分析了 ...
最新文章
- GitHub有望在中国开设子公司?
- 面试中经常出现的算法1(整理)
- Android CardView 开发过程中要注意的细节
- Django处理MySQL事物的用法
- 打开Morrowind版本,Vector 36在Linux上的本机版本以及Hyper Light Drifter
- C# 文本操作类 Trim() 和Replace()的用法小例子
- python sqlalchemy core
- 【Flink】Flink 实现 AT_LEAST_ONCE EXACTLY_ONCE 案例
- python 取模是什么意思_编程语言中,取余和取模的区别到底是什么?
- mac上的mongodb安装与使用的踩坑记
- java kdj_基于Java语言开发的个性化股票分析技术随机指数[KDJ].doc
- 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(6)签到题2题
- 华为鸿蒙os2.0系统beta,华为发布HarmonyOS 2系统:万物互联时代鸿蒙大一统
- 项目部署:服务器IIS发布后本地浏览没有问题,外网访问显示无法访问
- python源码深度剖析_Python 源码深度剖析
- IDA6.1下载符号表时卡死
- 阿里云企业邮箱域名注册流程
- linux ip添加secondary ip,linux 添加secondary ip
- vue+file-saver+xlsx 封装导出Excel表格方法
- python爱意满满_抖音ohbaby你就是我最想要的是什么歌 歌曲分享
热门文章
- 教务系统自动评教_教务系统一键评教教程
- fun_object
- nginx怎么控制socket链接转发到某台服务器_Nginx + FastCGI 程序(C/C++) 搭建高性能web service...
- 防火墙实验二——实现域间、域内双向NAT、双机热备实验
- android搜索iphone蓝牙,苹果手机的蓝牙,该如何配对儿?看完这篇文章你就知道了...
- Javawebservlet+Mysql实现的化妆品售卖系统(功能包含分角色,登录/注册、化妆品列表/商品详情/加入购物车/订单结算付款/地址管理/后台权限管理/商品管理/订单列表等)
- DA14580开发板与lis2ds12三轴传感器数据显示实现
- Go语言基础-数据类型-整型
- python对ug进行二次开发_UG二次开发之编程语言介绍
- java大数据面试总结