一.问题: 常常在用java访问https的请求时,总是出现SSL禁止的异常.这里给大家教下怎么创建与添加证书. 二.工具 : 1.创建一个目录 2.去Github上搜索InstallCert,然后随便下载一下来.比如:https://github.com/escline/InstallCert 把java文件下载到刚创建的这个目录中. 三.代码: 比如我要添加访问azure的几个管理的域名的https.. 就这样: 1.新建一个cert.bat文件. 2.bat中的内容如下: javac -d…
在web应用交互过程中,有很多场景需要保证通信数据的安全:在前面也有好多篇文章介绍了在Web Service调用过程中用WS-Security来保证接口交互过程的安全性,值得注意的是,该种方式基于的传输协议仍然是Http,采用这种方式可扩展性和数据交互效率比较高:另外一种实现方式就是用Https,他是在协议层对Http的再次封装,加入了SSL/TLS,采用该协议进行通信的数据全部都会被加密,由于目前Web开发编程中对此都有了一定程度的封装,所以采用Https对外提供服务,除了证书以外,对编程能力…
目录 简介 Collector介绍 自定义Collector 总结 怎么在java中创建一个自定义的collector 简介 在之前的java collectors文章里面,我们讲到了stream的collect方法可以调用Collectors里面的toList()或者toMap()方法,将结果转换为特定的集合类. 今天我们介绍一下怎么自定义一个Collector. Collector介绍 我们先看一下Collector的定义: Collector接口需要实现supplier(),accumul…
JAVA中创建线程的方式有三种,各有优缺点,具体如下: 一.继承Thread类来创建线程 1.创建一个任务类,继承Thread线程类,因为Thread类已经实现了Runnable接口,然后重写run()方法,run()方法中的内容就是需要线程完成的任务. 2.创建一个任务类的对象,即创建了线程对象. 3.调用任务类对象的start()方法,来启动一个线程. 代码实例: public class TestThread extends Thread { public void run() { for…
在java中如果要创建线程的话,一般有3种方法: 继承Thread类: 实现Runnable接口: 使用Callable和Future创建线程. 1. 继承Thread类 继承Thread类的话,必须重写run方法,在run方法中定义需要执行的任务. class MyThread extends Thread{ private static int num = 0; public MyThread(){ num++; } @Override public void run() { System.…
java程序在访问https资源时,出现报错 sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 这本质上,是java在访问https资源时的证书信任问题.如何解决这个问题…
Java中创建数组的几种方法 public static void main(String[] args) { //创建数组的第一种方法 int[] arr=new int[6]; int intValue=arr[5]; //System.out.println(intValue); //创建数组的第二种方法 int[] x={1,2,3,4}; //System.out.println(x[1]); //创建数组的第三种方法. int[] y= new int[]{1,2,3,4,5}; i…
Java中创建线程主要有三种方式: 一.继承Thread类创建线程类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务.因此把run()方法称为执行体. (2)创建Thread子类的实例,即创建了线程对象. (3)调用线程对象的start()方法来启动该线程. package com.nf147.Constroller; public class FirstThreadTest extends Thread { int i = 0; //重写r…
浅析Java中的访问权限控制 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下为何需要访问权限控制.考虑两个场景: 场景1:工程师A编写了一个类ClassA,但是工程师A并不希望ClassA被该应用中其他所用的类都访问到,那么该如何处理? 场景2:如果工程师A编写了一个类ClassA,其中有两个方法fun1.fun2,工程师只想让fun1对外可见,也就是说,如果别的工程师来调用ClassA,只可以调用方法fun1,那么该怎么处理? 此时,访问权限控制便可以…
Java中创建操作文件和文件夹的工具类 FileUtils.java import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOE…
c# 中HttpClient访问Https网站,加入如下代码: handler = new HttpClientHandler() ;handler.AllowAutoRedirect = true;handler.UseCookies = true;handler.CookieContainer = cookies; System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityPr…
Java中创建实例化对象有哪些方式? ①最常见的创建对象方法,使用new语句创建一个对象.②通过工厂方法返回对象,例:String s =String.valueOf().(工厂方法涉及到框架)③动用反射机制创建实例化对象,Class类的三种方法或者通过类类型的newInstance()实例方法.④调用对象的clone()方法.(俗称克隆方法)⑤通过I/O流的反序列化手段,调用ObjectInputStream对象的readObject()方法.…
首先来一张图: 对于一个类而言访问控制符只有一个public和默认无修饰符.其他的几个访问修饰符对于变量和方法都可以使用. 下面介绍具体的使用. 1. 公有访问控制符(public) Java的类是通过包的概念来组织的,包是类的一个松散的集合.处于同一个包中的类可以不需要任何说明二方便地相互访问和引用,而对于不同包中的类,则不行. 但如果一个类被声明为public时,它就具有了被其他包中的类访问的可能性,只要这些其他包中的类在程序中使用了import语句引入了public类,就可以访问和引用这个…
Java中创建(实例化)对象的五种方式1.用new语句创建对象,这是最常见的创建对象的方法. 2.通过工厂方法返回对象,如:String str = String.valueOf(23); 3.运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法.如:Object obj = Class.forName("java.lang.Object").newInstance(); 4.调用对象的cl…
1):Java中的访问修饰符: Java面向对象的基本思想之一是封装细节并且公开接口.Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限,从而向使用者暴露接口,但隐藏实现细节. 访问控制分为四种级别: 1):public: 用public修饰的类.类属变量及方法,包内及包外的任何类(包括子类和普通类)均可以访问: 2):protected: 用protected修饰的类.类属变量及方法,包内的任何类及包外那些继承了该类的子类才能访问(此处稍后解释),protected重点突出继承:…
1, Java中创建的对象多了,必然影响内存和性能,所以对象的创建越少越好,最后还要记得销毁.…
Java中创建泛型数组 使用泛型时,我想很多人肯定尝试过如下的代码,去创建一个泛型数组 T[] array = new T[]; 当我们写出这样的代码时编译器会报Cannot create a generic array of T,初学泛型时,看到这个错就以为Java中不能创建泛型数组,随着不断的深入,当看到Tinking in Java中的泛型时,Java中是可以创建泛型的,真的是无知限制了自己的想象. Java中创建泛型的例子: 例子1: 创建泛型数组的关键类 import java.lan…
在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. Files.newBufferedWriter(Java 8) Files.write(Java 7 推荐) PrintWriter File.createNewFile FileOutputStream.write(byte[] b) 管道流 实际上不只这5种,通过管道流的排列组合,其实有更多种,但是笔者总结的这五种可以说是最常用及最佳实践, 前提小知识 以前我在写技术文…
之前写过JAVA中创建线程的三种方法及比较.这次来说说线程池. JAVA中创建线程池主要有两类方法,一类是通过Executors工厂类提供的方法,该类提供了4种不同的线程池可供使用.另一类是通过ThreadPoolExecutor类进行自定义创建. 一.通过Executors类提供的方法. 1.newCachedThreadPool 创建一个可缓存的线程池,若线程数超过处理所需,缓存一段时间后会回收,若线程数不够,则新建线程. 代码例子: 1 private static void create…
博客搬家: https搭建(自签名证书) 上一篇博客探究了https(ssl)的原理,为了贯彻理论落实于实践的宗旨,本文将记录我搭建https的实操流程,使用Apache2+ubuntu+opensssl 1.使用自签证书配置https 一般来讲,正式的上线项目都需要购买域名,并且向权威机构申请证书.但本次工作属于测试环境,所以一切从简,我们使用openssl工具生自签名的CA证书以及服务器证书,来搭建https.具体步骤如下: (1)安装apache2.openssl(ubuntu16.04)…
Let's Encrypt 免费通配 https 签名证书 安装方法 按照上文 配置完毕后你会发现 在pc浏览器中正常访问,在手机浏览器中无法认证 你只需要安装一个或多个中级证书 1.查看Nginx 配置文件 ssl on; ssl_certificate /usr/local/nginx/conf/cert/hjrxxkj.com.cer; ssl_certificate_key /usr/local/nginx/conf/cert/hjrxxkj.com.key; 你需要把 ssl_cert…
java程序在访问https资源时,出现报错 sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 这本质上,是java在访问https资源时的证书信任问题.如何解决这个问题…
如何在java中跳出当前多重嵌套循环?有几种方法? - 两种方法   - 1.在外层循环定义标记          ok:          for(int i=0;i<100;i++){            for(int j=0;j<100;j++){               System.out.println("i="+i);               if(i==2){                 break ok;               }  …
在python中,据我所知,至少有3到4种方法来创建和初始化给定大小的列表: 简单循环append: my_list = [] for i in range(50): my_list.append(0) 简单循环+=: my_list = [] for i in range(50): my_list += [0] 列表理解: my_list = [0 for i in range(50)] 列表和整数乘法: my_list = [0] * 50 在这些例子中,我认为只有列表只有50个元素会有任何…
在java中,特别是java web中,我们经常需要碰到的一个场景是我们需要从服务端去发送http请求,获取到数据,而不是直接从浏览器输入请求网址获得相应.比如我们想访问微信接口,获取其返回信息. 在这里需要用到java的HttpURLConnection类,此类可以模拟http请求,获取到的响应以输入流的形式被程序所取到.现将相关方法整理为工具类. package com.m_gecko.util; import java.io.BufferedReader; import java.io.I…
1.背景 本文适用于基于https(http+ssl)的网站通信.本地调试等,上线是请寻找免费 ssl证书申请. 本地调试过程中,一些特殊的场景需要我使用http+ssl通信,比如在Chrome中使用客户端麦克风. 笔者起初使用以下一些命令,在linux.windows进行自签名,但是没能得到Chrome的信任,本地Chrome版本76.0 1. 使用openssl生成密钥privkey.pem: openssl genrsa -out D:\develop\nginx-1.14.2\conf\…
1,新建网站,选中类型为 https,然后更改SSL证书为你配置的SSL证书, 对于SSL证书的配置是这样的 点开第二步,然后点击 创建自签名证书 确定以后点开网站看到有个SSL, 双击进去,再选中 要求SSL 选中此步就是为了防止浏览器认为你的网站不安全阻止网站的访问,到此,证书配置完成 然后发现IIS无法绑定域名,因为IIS7默认不支持HTTPS绑定域名,此时需要自己手动去设置 首先打开 C:\Windows\system32\inetsrv\config\applicationHost.c…
MySQL_(Java)[事物操作]使用JDBC模拟银行转账向数据库发起修改请求 传送门 MySQL_(Java)[连接池]使用DBCP简单模拟银行转账事物 传送门 Java应用程序访问数据库的过程: 一.装载数据库驱动程序 二.通过jdbc建立数据库连接 三.访问数据库,执行sql语句 四.断开数据库连接 数据库连接池作用:负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个:释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起…
原文地址: http://www.cnblogs.com/dolphin0520/p/3734915.html 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下为何需要访问权限控制.考虑两个场景: 场景1:工程师A编写了一个类ClassA,但是工程师A并不希望ClassA被该应用中其他所用的类都访问到,那么该如何处理? 场景2:如果工程师A编写了一个类ClassA,其中有两个方法fun1.fun2,工程师只想让fun1对外可见,也就是说,如果别的工程师来调…
Java有四种访问权限,其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符.其中package代表缺省的访问权限,具体到代码中就是不写任何修饰符的默认情况.为了好表示为暂且命名为package.   public  protected private   package           顶层代码资源的访问控制 对于文件级别(top-level) 的  class,interface,enum来说,有2种访问修饰符:public 和 默认的…