JAVA基础知识
zhengx辉
java --> vue --> Android
展开
-
cas单点登录-springboot集成
1.根据前端传来的ticket向cas服务端发起请求验证(由于url是https,发起请求要过滤ssl验证)2.得到cas服务端返回数据并yongxml工具类解析用户信息(下面方法不完整)3.根据得到的用户去系统数据库查询是否存在该用户。二.业务层解析ticket。原创 2023-06-06 11:56:18 · 371 阅读 · 0 评论 -
cas单点登录-服务端部署
6.在项目对应的盘根目录创建对应子目录(etc/cas/service),把证书和json文件放进对应的位置。公司开发系统越来越多,每个系统都有自己的登录认证流程,给用户很繁琐的体验,统一认证单点登录迫在眉睫。3.在build.gradle文件加入mysql、jdbc依赖配置,并下载依赖。1.拉取cas服务端代码,切换到对应分支(我使用的是6.4.x)由于cas对密码经过md5加密的,所以密码需要处理后再插入。7.mysql创建数据库和对应的表,并插入数据。3.编写cas.properties。原创 2023-06-06 11:38:33 · 1283 阅读 · 0 评论 -
静态方法引用非静态变量
@PostConstruct该注解被用来修饰一个非静态的void()方法原创 2022-08-17 14:38:43 · 942 阅读 · 0 评论 -
easypoi按模板多sheet导出
一.pom依赖导入 <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-spring-boot-starter</artifactId> <version>4.0.0</version> </dependency>二.模板设置1.在项目创建excel目录2.配置模板(da...原创 2022-05-07 10:52:01 · 1077 阅读 · 0 评论 -
后端文件流在浏览器pdf预览
一.后端controller层: @ResponseBody @AutoLog(value = "跳转文档") @ApiOperation(value = "跳转文档", notes = "跳转文档") @PostMapping("/getEnergyDoc") public void result(HttpServletRequest request, HttpServletResponse response) throws IOException { // 你的文件所存放的地原创 2022-03-17 12:19:35 · 1791 阅读 · 2 评论 -
easypoi---Excel文件导出
一.pom文件引入jar <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>3.2.0</version> </dependency> <dependency> <groupId>cn.afterturn&原创 2021-12-07 15:27:14 · 794 阅读 · 0 评论 -
降低圈复杂度
降低圈复杂度需求:代码优化:最近公司要求对代码做整改,其中就涉及到圈复杂度。以前也就接触过时间复杂度,所以不得不去搜一波资料。简述:1. 概念: 圈复杂度(Cyclomatic complexity,CC)也称为条件复杂度,是一种衡量代码复杂度的标准,其符号为V(G)。简而言之,也就是统计代码中条件判断的数量。2. 影响因素:if 语句while 语句for 语句case 语句catch 语句and 和 or 布尔操作? : 三元运算符3. 计算方式:**V原创 2021-06-26 14:13:04 · 1997 阅读 · 0 评论 -
JSONArray遍历
一.需求描述:需要把json数组JSONArray对象进行遍历、转换为map对象二.需求分析:1.首先我想到的是直接遍历,通过JSONObject对象获取指定k的v值for (JSONObject a : jsonArray){ list.add(a.get("k"))}但是编译异常,显示遍历对象必须是Object对象,我当时就懵逼了,json数组不是放json。。2.查看源码:实现的是List<Object>方法,醉了.....3.尝试强制转原创 2020-06-19 10:52:20 · 14190 阅读 · 0 评论 -
ERROR: transport library not found: dt_socket
一.问题描述:在idea用debug进行代码调试时报错:FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_LOAD(196)ERROR: transport library not found: dt_socketERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_LOAD(509原创 2020-06-04 14:54:32 · 14481 阅读 · 4 评论 -
在一个字符串的集合中进行模糊查询
一.问题描述: 今天在做开发时遇到一个需求,要在一个集合list里面,查询一下是否含"mysql"的字符串,类似于sql语句中的like二.问题分析: 处理集合问题,我首先想到了java8的stream,但是list.stream().filter貌似处理不了复杂的逻辑,只得放弃,后面又在网上搜寻了一下,发现大佬们提供的方法不错,直接放到工具类留作后面用。三.问题...原创 2020-04-03 15:19:11 · 1143 阅读 · 0 评论 -
后端数据进行树结构封装
思想:获取数据库List返回集,遍历集合将数据封装到map集合,然后调用工具MenuTreeUtil类的menuList方法实现树结构工具MenuTreeUtil类: 获取父节点menuList方法:遍历数据库返回集,根据pid获取父节点数据,然后调用menuChild方法获取子节点,然后将map集合封装到list集合; 获取子节点menuChild方法:遍历数据库...原创 2019-09-02 14:16:07 · 836 阅读 · 0 评论 -
idea小技巧
参考:https://blog.csdn.net/fly_zhyu/article/details/73920298原创 2019-07-02 21:01:01 · 106 阅读 · 0 评论 -
XML
1 XML的认识: XML 指可扩展标记语言(eXtensibleMarkupLanguage)。 XML 被设计用来传输和存储数据2 XML的用途: XML 应用于 Web 开发的许多方面,常用于简化数据的存储和共享。3 XML的语法: 1.XML 必须包含根元素,它是所有其他元素的父元素 2.XML 声明文件的可选部分,如果...原创 2017-07-24 09:47:55 · 175 阅读 · 0 评论 -
maven 私人仓库配置
企业都有自己的mvn库,我们使用mvn打包时避免不了用死四库进入安装的maven目录maven->conf->setting.conf修改setting.conf文件原创 2019-07-12 12:01:38 · 1628 阅读 · 0 评论 -
操作字符串的各种方法
一.字符串查找 方法有俩种:indexOf( )和lastIndex( ) indexOf(Sting s)用于字符串s首次出现的索引位置,如果没有搜索到s,返回值为-1 lastIndex(Sting s)用于字符串s最后一次出现的索引位置,如果没有搜索到s,返回值为-1二.获取指定位置的字符 charAt(int i) public static void m...原创 2018-06-13 19:42:19 · 954 阅读 · 0 评论 -
数组操作
一.遍历数组public class Test { public static void main(String[] args) { int arr2[][] = { { 4, 3 }, { 5, 6 } }; // 定义二维数组 System.out.println("数组元素为:"); for (int x[] : arr2) { // 外层循环为一维数组 for (int e : ...原创 2018-06-13 20:10:22 · 136 阅读 · 0 评论 -
继承
正式概念: 基于某个父类的扩展,制定出一个新的子类,子类可以继承父类原有的属性和方法;也可以增加父类不具备的属性和方法,或者直接重写父类的某些方法。通俗理解: 师傅(父类)有一套绝世武功(属性)和五十年独特内力(方法),徒弟(子类)从师傅那直接得到了绝世武功(属性),同时,师傅给徒弟俩种选择,一是自己重新修习师傅一样的内力(重写),另一个是师傅把内力灌输给徒弟(调用师傅的方法...原创 2018-06-13 21:51:59 · 98 阅读 · 0 评论 -
集合
一.List集合 List集合包括List接口以及List接口的所有实现类 ArrayList类实现了可变的数组,允许保存所有的元素,包括null,并可以根据索引位置对集合进行快速的随机访问;缺点是向指定的索引位置插入对象或删除对象速度慢。 LinkedList类采用链表结构保存对象,这种结构优点是便于向集合插入或删除对象,效率高;都是对于随机访问集合对象时,效率低。 ...原创 2018-06-13 22:35:24 · 110 阅读 · 0 评论 -
枚举与泛型
枚举类型可以取代以往常量的定义方式,即将常量封装在类或接口中,此外,还提供了安全检查功能。泛型不仅可以减少代码的编写,还可以解决类型安全问题,不会因为将对象置于某容器中而失去其类型。一.枚举enum是定义枚举的关键字 public enum Constans{ Constans_A, Constans_B }枚举添加构造方法时,规定构造方法必须是private枚举类型的优势:1.类型安全2...原创 2018-06-14 19:55:55 · 975 阅读 · 0 评论 -
线程
概念:并发完成的每件事叫做线程实现线程有俩种方式:分别是继承java.lang.Thread类与实现java.lang.Runnable接口一.继承Thread类 run( ) 完成线程真正功能代码放在该方法中 start( ) 启动线程;如果是该方法调用 一个已经启动的线程,系统抛出异常 public class ThreadTest extends Thread { private int c...原创 2018-06-14 20:48:16 · 150 阅读 · 0 评论 -
eclipse全部背景颜色调节
一.整体颜色调节;二.写作空间背景调节三.eclipse边框修改:原创 2018-07-04 20:43:23 · 10667 阅读 · 1 评论 -
Http协议
协议:指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。HTTP协议概念:即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万...原创 2018-07-06 13:00:15 · 224 阅读 · 0 评论 -
关于request.getSession(true/false/null)的区别
转自http://blog.csdn.net/gaolinwu/article/details/7285783 一、需求原因现实中我们经常会遇到以下3中用法:HttpSession session = request.getSession();HttpSession session = request.getSession(true);HttpSession session...转载 2018-08-18 22:09:37 · 119 阅读 · 0 评论 -
静态方法和非静态方法相互调用
在同一个类中: 对于静态方法,其他的静态或非静态方法都可以直接调用它。 而对于非静态方法,其他的非静态方法是可以直接调用它的。但是其他静态方法只有通过对象才能调用它。静态方法不能被非静态方法覆盖。package web;import java.util.Scanner;public class test_1 { public static void main(...原创 2018-10-21 13:11:22 · 16590 阅读 · 1 评论 -
字符串replace()和replaceAll()方法运用
在项目中看到了如下代码,之前没用过,于是在网上查了一下String.prototype.replaceAll = function(s1, s2) { return this.replace(new RegExp(s1, "gm"), s2); }replace的参数是(char和CharSequence),既可以支持字符替换,也可以支持字符串替换。replaceall参数是(r...原创 2019-03-04 11:10:23 · 6028 阅读 · 0 评论 -
从前端jsp\html通过session获取后端数据
session对象 在web开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。 session和cookie的...原创 2018-06-11 21:59:21 · 6587 阅读 · 0 评论