Java EE

Springboot 整合spring Security和JWT 分布式版本

这一生的挚爱 提交于 2020-08-11 13:03:15
JWT介绍 JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。 JWT使用场景 授权 常见的web项目中,当一个用户在A系统登录以后,后续的所有请求都将会包含JWT信息,允许用户访问该令牌(token)允许的路由,资源,服务等。现在常见的多系统之间的单点登录就是JWT的特性。 信息交换 JWT可以被签名,可以使用密钥对确定服务器发送的消息的真实性等。 开发环境 openjdk11 springboot 2.3.1 spring security Jwt 项目下载地址 https://gitee.com/randomObject/springboot-security-jwt-project 项目结构 springboot-security-jwt-project为父工程 父工程pom.xml内容如下 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/

Servlet与JSP学习笔记(一) 搭建环境

半腔热情 提交于 2020-08-11 13:01:16
Servlet与JSP学习笔记(一) 搭建环境 1. Eclipse中建立Dynamic Web Project 项目中的各个目录解析: deployment descriptor:部署的描述。 Web App Libraries:自己加的包可以放在里面。 build:放入编译之后的文件。 WebContent:放进写入的页面。 2. 创建jsp文件 首先,你可以注意到Eclipse为你创建的jsp模板编码都是ISO-8859-1。需要到Preferences中改一下。 为jsp文件添加如下代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jsp搭建环境</title> </head> <body> <% out.println("Hello World"); %> </body> </html> 3. 安装Tomcat 下载Tomcat包 启动tomcat 重启tomcat windows浏览器访问 4. 创建servlet文件 写的修改servlet如下: package com.hbin.servlet.admin;

SpringMvc配置产生的问题

陌路散爱 提交于 2020-08-11 12:35:18
配置如下 package top.redheart.templet.company; import ch.qos.logback.core.spi.LogbackLock; import org.springframework.web.WebApplicationInitializer; import org.springframework.web.context.ContextLoaderListener; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; import org.springframework.web.filter.CharacterEncodingFilter; import org.springframework.web.servlet.DispatcherServlet; import top.redheart.templet.company.config.MvcConfig; import top.redheart.templet.company.config.TemplesConfig; import javax.servlet.*; /** * @author Administrator */ public class

我来教你 Cookie对象的创建。--乐字节

和自甴很熟 提交于 2020-08-11 11:12:07
Cookie对象 ​ Cookie是浏览器提供的一种技术,通过服务器的程序能将一些只须保存在客户端,或者在客户端进行处理的数据,放在本地的计算机上,不需要通过网络传输,因而提高网页处理的效率,并且能够减少服务器的负载,但是由于 Cookie 是服务器端保存在客户端的信息, 所以其安全性也是很差的。例如常见的记住密码则可以通过 Cookie 来实现。 ​ 有一个专门操作Cookie的类 javax.servlet.http.Cookie 。随着服务器端的响应发送给客户端,保存在浏览器。当下次再访问服务器时把Cookie再带回服务器。 ​ Cookie 的格式:键值对用“=”链接,多个键值对间通过“;”隔开。 Cookie的创建和发送 ​ 通过 new Cookie("key","value");来创建一个 Cookie 对象,要想将 Cookie 随响应发送到客户端,需要先添加到 response 对象中,response.addCookie(cookie);此时该 cookie 对象则随着响应发送至了客户端。在浏览器上可以看见。 // 创建Cookie对象 Cookie cookie = new Cookie("uname","zhangsan"); // 发送Cookie对象 response.addCookie(cookie); F12 查看 Cookie的获取 ​

写了这么多年代码,这样的登录方式还是头一回见!

╄→尐↘猪︶ㄣ 提交于 2020-08-11 11:03:21
Spring Security 系列还没搞完,最近还在研究。 有的时候我不禁想,如果从 Spring Security 诞生的第一天开始,我们就一直在追踪它,那么今天再去看它的源码一定很简单,因为我们了解到每一行代码的缘由。 然而事实上我们大部分人都是中途接触到它的,包括松哥自己。所以在阅读源码的时候,有时候会遇到一些不是那么容易理解的东西,并不是说这个有多难,只是我们不了解 N 年前的开发环境,因此也就不容易理解某一行代码出现的意义。 所以为了搞透彻这个框架,有时候我们还得去了解之前发生了什么。 这就跟学 Spring Boot 一样,很多小伙伴问要不要跳过 SSM ,我说不要,甚至还专门写了一篇文章( Spring Boot 要怎么学?要学哪些东西?要不要先学 SSM? ),跳过了 SSM ,Spring Boot 中的很多东西就无法真正理解。 扯远了。。。 Spring Security 中对 HttpServletRequest 请求进行了封装,重写了 HttpServletRequest 中的几个和安全管理相关的方法,想要理解 Spring Security 中的重写,就要先从 HttpServletRequest 开始看起。 有小伙伴可能会说,HttpServletRequest 能跟安全管理扯上什么关系?今天松哥就来和大家捋一捋,我们不讲 Spring

通用后台模版的实现

你说的曾经没有我的故事 提交于 2020-08-11 10:45:12
最近温故了部分JAVAWEB的知识,加之好久不写代码,就想利用本次机会,做过一个通用的后台管理: 系统简介: 前端,基于bootstrap的免费后台框架cloud Admin; 数据库:MYSQL 技术:JSP、Spring 、Hibernate; 说明:本系统本次,主要目的是实现功能,系统本身并没有进行优化,仅仅将静态的cloud Admin转换为通用的后台模版! 系统源码: 包含数据文件,根据文件创建数据库即可; 点击下载 所依赖的jar: 系统主要功能: 1、注册; 2、登录; 3、用户管理; 4、菜单管理; 5、权限管理; 6、系统公告; 7、附加内容: cloud Admin默认的首页和常见问题页面:fap.html,这两个页面仅作了微调,保留了但部分内容,为的是模版的通用性! 一、首先看下cloud Admin的原来的模样: 二、系统功能展示: 1、注册和登录: 2、菜单管理 2.1 菜单列表: 2.2 菜单添加: 2.3 菜单修改: 3、角色管理 3.1 角色添加: 3.2 修改角色: 4、用户管理 4.1 用户添加角色: 4.2 用户自己修改: 5、系统公告: 5.1 管理员发布:先填写公告内容,在选择接受公告的用户; 5.2 管理员查看发布的公告 5.3 用户登录查看: 注意黄色部分,角色不同,菜单不同,在又上脚查看消息; 5.4 用户查看公告:可以删除

阿里15年Java开发经验大佬推荐的跳槽涨薪秘籍

回眸只為那壹抹淺笑 提交于 2020-08-11 10:42:51
计算机基础知识 数据结构 1、什么是队列、栈、链表 2、什么是树(平衡树,排序树,B树,B+树,R树,红黑树)、堆(大根堆、小根堆)、图(有向图、无向图、拓扑) 3、栈和队列的相同和不同之处 4、栈通常采用的两种存储结构 5、两个栈实现队列,和两个队列实现栈 算法 1、排序都有哪几种方法? 2、会写常用的排序算法,如快排,归并等。 3、各种排序算法的时间复杂度和 稳定性 ,重点快排。 4、单链表的遍历和逆序 5、深度优先搜索和 广度优先搜索 6、最小生成树 7、常见Hash算法,哈希的原理和代价 8、全排列、贪心算法、KMP算法、hash算法 9、一致性Hash算法 操作系统 1、虚拟内存管理 2、换页算法 3、进程间通信 4、进程同步:生产者消费者问题、哲学家就餐问题、读者写者问题 5、死锁的四个必要条件,避免方法 6、Linux的一些基本命令,如ls、 tail、chmod等 计算机网络 1、tcp,udp区别 2、HTTP请求和响应的全过程 3、HTTP常见响应码:200、301、302、404、500 4、get和post的区别 5、forward和redirect的区别 6、osi七层模型 7、tcp/ip四层模型及原理 8、TCP和UDP区别 9、TCP的三次握手,四次关闭 10、丢包,粘包, 11、容量控制,拥塞控制 12、子网划分 13、IPV4和IPV6 14

SpringMVC+Mybatis初尝试

巧了我就是萌 提交于 2020-08-11 10:41:19
一个月前简单学完了SpringMVC框架和Mybatis框架,一直没有使用过,今天主要用它做了个简单的学生管理系统,不过第一次用框架,实现的功能简单,比较low. 注:这里使用的数据库是SQLServer,如果想用MySQL数据库的话,只需要改下数据库配置文件和导入连接MySQL的ja包即可。 项目结构图: 导入的jar包: 项目源文件代码: 控制层 package cn.itcast.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import cn.itcast.po.Student; import cn.itcast.service.StudentService; @Controller @RequestMapping( "/student" ) public class StudentController { @Autowired

Hibernate 与 Mybatis 如何共存?打破你的认知!

折月煮酒 提交于 2020-08-11 10:07:37
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 很长一段时间,网上有很多关于Hibernate与Mybatis孰优孰劣的争论,两个阵营的人谁也不能说服谁,每个人的理由都很有道理。 今天,我分享的主题是:在一个项目中同时使用Hibernate和Mybatis两个ORM框架。 作为一个开发者,没有必要花费过多的时间去证明技术无用论,当你开始指责某个框架垃圾,另外一个框架最好时,隐性的暴露出你对某个框架没有深入的研究,无知的指责对于技术的提升没有任何的帮助。 框架本身没有对错一说,只有适合和更适合项目的选择。任何框架都有自身的能力范围,就拿Hibernate和Mybatis这两个ORM框架来说。 Hibernate封装了很多有用的API给开发者,降低了操作数据库的难度和复杂度,同时也减少了模板代码的数量,但Hibernate留给开发者可操作的空间相对Mybatis少了很多。 Mybatis框架使用起来很灵活,开发者可以自定义查询语句,但增加了模板代码的数量,看起来没有Hibernate那么便捷。 两种框架在便捷与灵活两个指标上做出了取舍与妥协,这不能说是框架的错。对于一个框架而言,需要有自身专注的领域和设计愿景,不可能面面俱到。 使用任何一种技术框架,都需要贴合现实的业务需求以及自身的技术能力

CSDN慕舲的黑夜-必问 抨击@民意 [导读]1.必问的运营模式&店大欺客@CSDN 2.必问做的手脚&必问的发展限制 3.CSDN令人意见很大的地方 4.我对CSDN的看法

十年热恋 提交于 2020-08-11 08:16:35
这篇文章本来是面向 biwen .csdn.net(CSDN的必问gitchat)的,后来出了 "csdn慕舲的黑夜2,3...", 有" CSDN的15个bugs,必问做的手脚,gitchat前景 "等,由于博客被封等原因几经辗转,合并为一篇, 深刻分析CSDN及其产品,欢迎转发,转载,评论 [小福利#1] 如果没有cnblogs号,可以到 https://www.materialtools.com/?page=1 自取一个能用的,当然推荐注册一个,加入园子技术交流分享知识,具体可参考: https://www.cnblogs.com/dlight/p/get.html 创作不易,希望读完全文 //如果是要提问,推荐加作者QQ3461896724解决 本文 链接 https://www.cnblogs.com/dlight/p/biwen.html 注: 所有图片都可以在新标签页打开放大至原图 > 。。。。。。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。。。。。。。。 先简单介绍一下必问 //来自 https://baike.baidu.com/item/蒋涛/9905541 (蒋涛) 和 biwen.csdn.net 的截图 蒋涛 ,1997年作为" 金山词霸 "" 金山打字通 "等产品的领导开发者(你们都用过吧), 1999 年创办了号称"%1,%2