这个系列文章用来记录一个完整的JavaWeb项目后台的搭建,完整代码也包含前端部分,适合新手,一共两篇。

作者自己也是新手,刚开始写自己的技术文章,其中不合规范之处,还希望各位一定要积极指正。

第一篇:环境配置以及后台设计

1.环境配置

操作系统: Win10

Java环境:

jdk11 这个地方的一个坑点是只有tomcat和jdk有一个相互的版本掣肘的问题,假如是小白的话建议先按照我这个版本下载,即使要换也建议jdk8.0,因为这两个版本在官网中有说明是长期版本,具有向下兼容(Backward Compatible)的特点。

Java SE Development Kit 11-​www.oracle.com​www.oracle.com

mysql-connector-java-5.1.39-bin.jar:Java 连接 MySQL 需要驱动包,最新版下载地址为:

Download Connector/J​dev.mysql.com​dev.mysql.com

解压后得到jar库文件,然后在对应的项目中导入该库文件,导入的过程作者不加赘述,成功之后会在项目的Referenced Libraries里面看到。

编译环境: Eclipse 这个地方没有太多的坑点,大家放心下载。

Eclipse Downloads | The Eclipse Foundation​www.eclipse.org​www.eclipse.org

服务器:Apache Tomcat 9.0 在Core部分勾选你需要的版本,Full Documentation是文档,大家不要看到Full就激动了。

Tomcat 9 Software Downloads​tomcat.apache.org​tomcat.apache.org

数据库:Mysql 5.7.23 这个下载大家也可以用自己的方法,在国内没挂vpn的话还是在一些镜像站下载速度更快一些。

https://www.mysql.com/downloads/​www.mysql.com​www.mysql.com

数据库图形化界面:Navicat Premium 15

Navicat Premium 15​www.navicat.com​www.navicat.com

设计模式:MVC设计模式 模型(model)-视图(view)-控制器(controller)

2.项目需求

首先明确需求,我们需要做一个图像可视化管理系统,需要实现以下功能:

· 用户登陆:登录(登陆面背景可以是动态的可视化效果)

· 前台图像展示和查询:不同类别图像(或视频)的信息展示(如图像国别;图像具体位置;分辨率;经纬度;采集时间;采集时长;比例尺);图像(视频)浏览(每个图像可以放大、缩小);查询(不同条件的查询或模糊查询)

· 后台图像管理:图像的管理:图像类别的增删改、查、上传、批量上传;某类别下的图像增删改查、上传、批量上传(每次的操作需要记录下操作的用户和时间);用户的管理

下面我们来理清一下一个后端的任务:

(1)用户登陆与注册

用户登陆有两种方法,一种是利用Cookie/Session方法(使用户在自己的浏览器里缓存一小段代码),另一种则是利用Servlet插入数据库存储记录的方法,这里作者学习了两种方法,虽然最后使用的是后一种方法,但也会对第一种方法做一个简单介绍。

关于session,推荐一篇写的特别好的tutorial,能静下心学这个对水平有非常大的提高。

Session Management in Java - HttpServlet, Cookies, URL Rewriting - JournalDev​www.journaldev.com​www.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图像可视化管理系统之后台搭建(一)环境配置与后台设计...相关推荐

  1. javaweb增删改查实例_JavaWeb图像可视化管理系统之后台搭建(二)用户管理与增删改查(内含代码)...

    上一篇文章中,我们介绍了环境配置与后台设计,对于不了解的同学,可以看这个链接 CharlesDDDD:JavaWeb图像可视化管理系统之后台搭建(一)环境配置与后台设计​zhuanlan.zhihu. ...

  2. 后台是怎么判断管理员用户还是普通用户_深入学习 Java Web(九) :用户管理系统...

    本文转自与博客园一杯凉茶的博客. 前面学习了一大堆,什么JSP,Servlet.jstl.el等等等,大多是一些死的东西,只要会其语法,知道怎么用就行了,所以做了一个小小的只有增删改查的小demo,为 ...

  3. 后台是怎么判断管理员用户还是普通用户_用户浏览器被阿里私自【托管】?仔细一查,这事并不简单...

    大家好,我是启人. 可能很多挨踢友之前都有过浏览器被人私自篡改的经历. 比如强制更改首页,替换默认搜索引擎. 不过这种情况在各种驱动级(也就是内核级)电脑管家的强力封杀下,现在基本不存在了. 但是,千 ...

  4. Vue + ElementUI 实现后台管理系统模板 -- 前端篇(一):搭建基本环境 配置环境

    项目介绍 使用 vue 以及 element-ui 搭建一个 后台管理系统的模板. 纯属练手(写的比较糙 望指点) 基本环境搭建 初始化项目 使用 vue 以及 element-ui 搭建一个 后台管 ...

  5. visual studio 按钮判断管理员和用户_用户管理的设计原则

    后台的使用者通常是企业的各类权限的管理员,通过对用户管理的合理设计,让管理员准确.高效地完成既定任务,来实现用户管理的价值. 后台产品的使命是为企业提升效率,降低成本,而用户管理是后台的核心部分,用户 ...

  6. Java学习日志Day41_过滤器Filter 接口_项目更新:后台管理/前台统一处理全局乱码and用户列表---删除以及分页功能

    一.过滤器Filter 接口 1.导包: <groupId>com.qf</groupId> <artifactId>FilterAndJquery</art ...

  7. 一步一步实现中后台管理平台模板-08-登录页和用户信息保存

    一,前言 上一篇,完善了Header组件,添加了用户信息的显示和退出功能 用户信息(昵称+头像)都是写死的,线上应用肯定是通过登录获取到用户信息这一篇,制作一个简单的登录页面,模拟接口异步调用(用户信 ...

  8. 【Swing 开发之图书管理系统】(五)管理员页面布局与用户信息页

    Swing 开发之图书管理系统(五)管理员页面布局与用户信息页 Swing 开发之图书管理系统(五)管理员页面布局与用户信息页 1.管理员页面布局 2.用户信息页 Swing 开发之图书管理系统(五) ...

  9. 要管理此计算机上的用户账户,win10用户账户控制 你要允许此应用 若要继续请输入管理员密码...

    今天小编安装魔方电脑大师的时候出现提示:若要继续,请键入管理员密码,然后单击"是" 想必大家在安装或运行程序的时候多多少少都遇到过这种情况,关闭用户账户控制也是同样问题 仔细分析了 ...

最新文章

  1. GitHub有望在中国开设子公司?
  2. 面试中经常出现的算法1(整理)
  3. Android CardView 开发过程中要注意的细节
  4. Django处理MySQL事物的用法
  5. 打开Morrowind版本,Vector 36在Linux上的本机版本以及Hyper Light Drifter
  6. C# 文本操作类 Trim() 和Replace()的用法小例子
  7. python sqlalchemy core
  8. 【Flink】Flink 实现 AT_LEAST_ONCE EXACTLY_ONCE 案例
  9. python 取模是什么意思_编程语言中,取余和取模的区别到底是什么?
  10. mac上的mongodb安装与使用的踩坑记
  11. java kdj_基于Java语言开发的个性化股票分析技术随机指数[KDJ].doc
  12. 【2021杭电多校赛】2021“MINIEYE杯”中国大学生算法设计超级联赛(6)签到题2题
  13. 华为鸿蒙os2.0系统beta,华为发布HarmonyOS 2系统:万物互联时代鸿蒙大一统
  14. 项目部署:服务器IIS发布后本地浏览没有问题,外网访问显示无法访问
  15. python源码深度剖析_Python 源码深度剖析
  16. IDA6.1下载符号表时卡死
  17. 阿里云企业邮箱域名注册流程
  18. linux ip添加secondary ip,linux 添加secondary ip
  19. vue+file-saver+xlsx 封装导出Excel表格方法
  20. python爱意满满_抖音ohbaby你就是我最想要的是什么歌 歌曲分享

热门文章

  1. 教务系统自动评教_教务系统一键评教教程
  2. fun_object
  3. nginx怎么控制socket链接转发到某台服务器_Nginx + FastCGI 程序(C/C++) 搭建高性能web service...
  4. 防火墙实验二——实现域间、域内双向NAT、双机热备实验
  5. android搜索iphone蓝牙,苹果手机的蓝牙,该如何配对儿?看完这篇文章你就知道了...
  6. Javawebservlet+Mysql实现的化妆品售卖系统(功能包含分角色,登录/注册、化妆品列表/商品详情/加入购物车/订单结算付款/地址管理/后台权限管理/商品管理/订单列表等)
  7. DA14580开发板与lis2ds12三轴传感器数据显示实现
  8. Go语言基础-数据类型-整型
  9. python对ug进行二次开发_UG二次开发之编程语言介绍
  10. java大数据面试总结