hwg001-JWeb 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
hwg001-JWeb 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
hwg001-JWeb 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
hwg001-JWeb 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
hwg001-JWeb 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

JWeb 后台管理系统,基于Springboot、springCloud(Gateway)、Consul(注册中心)、Mybatis开发的后台管理系统,采用分模块的方式便于开发和维护,支持前后台模块分别部署,目前支持的功能有:用户管理、功能菜单管理、角色管理、权限管理、部门管理、字典管理、参数配置、日志和在线用户等,界面简洁美观大方,使用舒适,适合新项目的快速搭建开发。

软件架构

输入图片说明

在线演示

在线演示地址: http://139.227.254.194:18081/ 用户名:admin 密码:123456 (注意:请使用较新版本浏览器(支持localstorage,css3等),推荐使用google浏览器。)

部分页面截图

1、登录页面

输入图片说明

2、首页

 输入图片说明

3、统一用户管理模块

 输入图片说明

4、访问日志

 输入图片说明

5、在线文档(Swagger3) 输入图片说明

项目模块介绍

  1. module-root。此模块配置基础公共依赖,以及spring等相关Maven仓库信息,此模块本身不包含代码。
  2. module-common。此模块依赖module-root模块,主要提供一些通用的工具类。
  3. module-api-gateway。网关模块,此模块依赖module-root模块,基于springCloud中的Gateway实现,主要完成路由、统一鉴权和日志记录。
  4. module-uums。统一用户管理模块,此模块依赖module-root模块,实现用户、角色、部门、权限、参数配置、字典等功能。
  • 另外注册中心使用Consul实现,module-uums模块注册到注册中心,module-api-gateway模块从注册中心发现服务。

开发环境搭建

本项目使用Eclipse作为开发工具基于springboot、Maven构建的微服务项目,具体环境和下载如下:

  1. JDK。 安装JDK8及以上版本,JDK8下载路径:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html。
  2. Mysql。Mysql下载路径:https://dev.mysql.com/downloads/mysql/,建议安装Mysql5.5以上。
  3. IDE。本项目使用Eclipse作为开发工具,下载路径:https://www.eclipse.org/downloads/,比较新版本的Eclipse一般都自带了SVN,GIT、Maven等插件,如果没有可以自己安装。
  4. Consul。Consul下载地址:https://www.consul.io/downloads,本项目使用的是1.9.4版本,下载最新版本安装即可。
  5. Navicat。数据库管理工具,根据自己的喜好,可以使用其他数控管理工具,下载地址:http://www.navicat.com.cn/products
  6. 创建数据库和表结构,初始化数据。创建一个数据库,本项目中数据库名为:module-uums,创建好数据库后,下载sql.sql脚本,执行脚本创建表结构和初始化数据。(注意:查看定时策略是否开启:show variables like '%event_sche%',若未开启执行set global event_scheduler=1开启)

Eclipse安装好后,要把JDK环境配置好,相关文章网上都很多的,基本上不会有问题。都安装好后,启动Mysql和Consul服务,使用默认端口即可。 克隆项目源代码到本地解压,使用Eclipse导入module-root、module-common、module-api-gateway和module-uums四个模块到工程中,这4个模块中,module-root是基础的Maven相关依赖仓库配置模块,module-common是公共的工具类模块,只要运行module-api-gateway和module-uums模块即可。module-api-gateway模块启动类:com.hm.gateway.ApiGatewayApplication,点击运行即可;module-uums模块启动类:com.hm.uums.UUMSApplication,点击运行即可。运行后访问:http://127.0.0.1:8080/如果能正常访问,恭喜你环境搭建OK了!

关于部署

Mysql和Consul和开发环境类似安装,而module-common和module-api-gateway模块需要使用Maven编译部署到本地仓库,然后把jar拿到需要部署的服务器上运行即可。当然如果你要使用tomcat,也可以把module-common和module-api-gateway模块打包为相应的war包,部署到tomcat中即可。

关于一些设计想法

本项目总体上是比较简单的,看软件架构基本上能总体掌握,这里想聊一聊token。本来一开始想用JWT TOKEN这样的框架来处理token的,但觉得不太符合自己的需要,而且用不上很多功能,故没用。以下是此项目中token的处理:

  • token的生成和保存:用户登录成功后,后台会生成一个MD5的token,token会被保存到Mysql数据库表中;
  • token超时处理:用户每次调用微服务API都会刷新token的访问时间,在参数配置中有一个参数是设置token超时时间的,默认为30分钟,mysql中设置了一个都是任务,每隔1分钟对token进行检查,如果用户最后访问的时间到目前已经超过了设置的超时时间,则删除token,用户再次访问需要重新登录认证。

本项目实现的是基础功能,实际开发中,可能需要根据具体需求搭配不同组件,如缓存数据库(如Redis)、负载均衡、消息队列、熔断处理等,项目本身就比较简单,很方便扩展改造。本人能力有限,大家若发现项目中存在的缺陷或者错误,恳请大家批评指正,谢谢

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (3)

加载中
好耶
03/29 16:23
回复
举报
hwg01软件作者
多谢夸奖!
04/07 22:31
回复
举报
更多评论
暂无内容
2015/05/22 18:25

jweb——修改自jfinaluib的java管理系统开发基础框架

项目地址: https://git.oschina.net/xjtweb/jweb.git 几点说明: 一、本工程修改自jfinaluib项目。 二、运行 a、设置jvm参数jweb.home指向工程的工作目录(目录内容参照本文件的同级目录的home目录)。工作目录里的init.properties文件用来设置数据库连接和其它参数设置。log4j.properties为日志配置文件,logs目录存放日志文件。data目录存放工程产生的各种数据,建议要此规则放存数据,方便工程迁移。 b、初始数据库sql,doc/d...

0
11
发表了博客
2019/06/20 14:23

maven项目使用自己创建的jar包--maven without test code

eclipse版本为2018-12(4.10.0) 1、创建一个jar包   首先自己建立了一个maven project,名为jweb。GAV坐标: <groupId>amberai</groupId> <artifactId>jweb</artifactId> <version>0.0.1-SNAPSHOT</version>   然后,使用maven install将jweb打包加载到本地的maven仓库 2、使用自己创建的jar包   现在项目jweb-apiweb要引用jweb-0.0.1-SNAPSHOT.jar,在项目jweb-apiweb的pom文件中添加: <dependencies> <dependenc...

0
0
发表了博客
2019/06/20 15:38

解决eclipse部署maven项目无法导入lib的问题

eclipse版本为2018-12(4.10.0) 1、默认tomcat的server配置   改成: 2、项目部署 按上面的配置,项目会部署到你配置的本地tomcat的webapps目录下。 部署了项目jweb-jweb和jweb-jwebapi,发现其中一个项目确实lib目录,即第三方jar包没有进来,显然这样会导致启动失败,Class找不到。 3、比较两个项目的.classpath文件的不同,发现jweb-apiweb中多了这个配置: <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLAS...

0
0
发表了博客
2013/09/24 19:20

applet打包的MANIFEST.MF配置

Permissions: all-permissions Codebase: * Manifest-Version: 1.0 Trusted-Library: true Created-By: Fat Jar Eclipse Plug-In 主要两个配置: Trusted-Library: true,加了会避免出现同时签名和未签名代码,一般是用到了第三方代码才会出现这个的警告 Permissions: all-permissions,给予最高的权限。 之前遇到了弹出警告和权限不足的错误,加上这两个后解决问题 参考 http://docs.oracle.com/javase/7/docs/technotes/g...

0
2
发表了博客
2020/02/04 23:00

tomcat 配置https 外部链接显示证书不安全 原因找到为其他地方的链接用的ip地址,证书是发给域名的所以报错

启动两个端口为了80跳转 443 <Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="443"/> <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" keystoreFile="../cert/2811635_newpowerchain.com.pfx" keystoreType="PKCS12" keystorePass="0L8NI6np" clientAuth="false" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,T...

0
0
发表了博客
2019/07/08 17:48

curl POST如何查看响应的Header(转)

curl -I 这样其实发送是HEAD请求。 下面这样发送POST请求(-X POST),同时指定Basic认证用户名密码(-u ‘andy:andy’),同时指定数据类型(-H ‘Content-Type: application/json’),以及发送的数据(–data ‘xxxx’)。同时将response的Header打印到控制台(-D -)。 curl 'http://127.0.0.1/test' -X POST -u 'andy:andy' -H 'Content-Type: application/json' --data '{"username":"test", "password": "test"}' -D ...

0
0
发表了博客
2020/11/09 10:08

非eclispe ee版本如何建立web项目?

当我第一建立web工程时,才发现需要eclispe ee版本。因为在经典版的eclipse中并没用安装web and javaEE插件,所以不能创建jweb项目了 。安装web and javaEE插件步骤如下: 在Eclipse菜单help选项中选择install new software(安装新软件) 选项 在Work with栏中输入:2020-06 - http://download.eclipse.org/releases/2020-06,然后选择web,xml,javaee...这个选项,一直点击Next,就行了 等待配置完毕,重新启动Eclipse软件就大功告...

0
0
发表了博客
2019/04/10 17:24

JNLP文件具体说明编辑

JNLP(Java Network Launching Protocol )是java提供的一种可以通过浏览器直接执行java应用程序的途径,它使你可以直接通过一个网页上的url连接打开一个java应用程序。 Java桌面应用程序以JNLP 的方式发布,如果版本升级后,不需要再向所有用户发布版本,只需要更新服务器的版本,这就相当于让java应用程序有了web应用的优点。 JNLP文件具体说明编辑 <?xml version="1.0" encoding="UTF-8"?> <!--codebase 属性指出搜索应用程序...

0
0
2019/06/27 07:30

10年来积累的人工智能、机器视觉网站,速速收藏!

关注涛涛CV,并设为星标,更新不错过 ------------------------------------------- 涛涛CV这篇文章,分享10年来积累的人工智能、机器视觉相关网站,收藏起来,传播给同行。我也不藏着掖着了,自认为还是有一定分享贡献精神的,这篇文章的网址对从事这行的人来说,肯定是有很大帮助的。原来是我自己建立一个静态网址,供自己浏览使用,现在分享给大学,同行互相学习,共同进步。 分享相关常用网站,论文检索,代码托管 ,资讯网...

0
0
发表了博客
2015/08/30 21:43

检查单 2015-08-30-01

上文 : http://my.oschina.net/typhoon/blog/415294 下文 : http://typhoon.gotoip4.com/html/tfw/checklist/note.2016-02-21_13-15.html 本地下文: http://my.oschina.net/typhoon/blog/689679 分类: 技能相关项: 基础项: TFW-BASE 、TFW-WEB-BASE 和 TFW-WEB-LPM 相关项: [完成] TFW-WEB-LPM 、TFW-WEB-LPM “基类集中化”改造、W3C 化及敏感字符替换方式优化。 [完成] 基本数据管理恢复 AJAX 。 [完成] TFW-WEB-LPM 增...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
3 评论
13 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部