Java
文章平均质量分 54
phubing
纵使秋风起,人生不言弃。
展开
-
Java对称与非对称加密解密(AES与RSA)
当A想要发送消息给B的时候,只需要用B的公钥对消息进行加密就可以了,由于B的私钥只有B才拥有,所以A用B的公钥加密的消息只有B才能解开。由于对称技术只有一把秘钥,所以秘钥的管理是一个很麻烦的问题,而非对称技术的诞生就解决了这个问题,非对称加密与解密使用的是不同的秘钥,并且秘钥对是一一对应的,即用A的私钥加密的密文只有用A的公钥才能解密。他先收到B发来的对称秘钥,这个秘钥是用B的私钥加密过的,所以A需要用B的公钥来解密这个秘钥,(Aes秘钥发给B)而非对称技术的加密与解密用的是不同的秘钥,常用的。...转载 2022-08-03 19:40:10 · 2543 阅读 · 0 评论 -
Java 自定义切割方法(改进原生切割方法)
package com.phubing;import java.util.StringTokenizer;/** * @Description * @Author phubing * @Date 2022年4月1日 09:24:04 **/public class StringSplitTest { /** * 拼接出来一个用逗号分隔的超长字符串,把从 0 开始一直到 9999 的每个数字都用逗号分隔,拼接成一个超长的字符串 * @return .原创 2022-04-01 09:25:21 · 535 阅读 · 0 评论 -
ssm框架 实现批量下载图片并打包压缩为zip文件
jsp<a class="btn btn-primary radius" href="worker/zipfileDownload_workerCard"><i class="Hui-iconfont"></i> 证件下载</a></span>Controller.java/** *文件压缩下载...转载 2020-04-15 17:27:01 · 632 阅读 · 0 评论 -
JAVA8十大新特性详解
一、接口的默认方法Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下:interface Formula { double calculate(int a); default double sqrt(int a) { return Math.sqrt(a); }}Fo...转载 2020-04-13 22:51:46 · 247 阅读 · 0 评论 -
人民币(RMB)小写/数字转换大写工具类,精确到分,修复‘圆零零’为‘圆整’,修复科学计数法处理异常。
/** * 转换为中国人民币大写字符串,精确到分 * @param money 传入小写数字字符串 * @return String * @throws Exception */ public static String toRMBUpper(String money) throws Exception { boo...转载 2020-01-15 12:07:39 · 529 阅读 · 0 评论 -
Java中Filter、Servlet、Listener的学习
1、Filter的功能filter功能,它使用户可以改变一个 request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在离开 servlet时处理response.换种说法,filter其实是一个”servlet chaining”(servlet 链).转载 2017-02-23 09:27:08 · 240 阅读 · 0 评论 -
Filter及FilterChain的使用详解
一、Filter的介绍及使用什么是过滤器?与Servlet相似,过滤器是一些web应用程序组件,可以绑定到一个web应用程序中。但是与其他web应用程序组件不同的是,过滤器是"链"在容器的处理过程中的。这就意味着它们会在servlet处理器之前访问一个进入的请求,并且在外发响应信息返回到客户前访问这些响应信息。这种访问使得过滤器可以检查并修改请求和响应的内容。过滤器适用于那些地方?转载 2017-03-18 10:59:37 · 274 阅读 · 0 评论 -
servlet中请求转发(forword)与重定向(sendredirect)的区别
servlet请求转发与重定向的区别:request.setAttribute("test","hello");request.getRequestDispacther("/test.jsp").forword(request,response); response.sendRedirect("test.jsp");一、显示结果:1、当用requ转载 2017-03-19 22:19:39 · 268 阅读 · 0 评论 -
java获取超链接 href 的内容(target的存放位置不太确定,超链接的引号是单引号也可能是双引号)
String str = "(?s)url= <a href='http://www.csdn.net' target='_blank'>栗子 </a>"; ; Matcher matcher = Pattern.compile("href=['\"]([^'\"]*)['\"]").matcher(str); while(matcher....原创 2018-09-15 10:14:12 · 1010 阅读 · 0 评论 -
java实现的一个分页算法
一个好用的java分页算法,代码如下,只需要分页参数继承Pageable类就可以很方便分页了package cn.com.base.common.pagination;/** * 分页基类 * * @author cary * @since 2013-1-23 下午3:03:32 */public class Pageable implements java.io.S转载 2017-02-21 15:47:18 · 937 阅读 · 0 评论 -
Task com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@38ad0a (in deadlocked PoolThread) fai
WARN ThreadPoolAsynchronousRunner:281 - Task com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@38ad0a (in deadlocked PoolThread) failed to complete in maximum time 60000ms. Trying interrupt().原创 2017-02-20 22:22:39 · 11150 阅读 · 0 评论 -
SSM框架基础所需要的依赖
1.需要抽取的版本号<properties>spring核心版本 <spring.version>5.0.3.RELEASE</spring.version>mybatis集合版本 <mybatis.version>3.4.5</mybatis.version> <myba...原创 2017-02-11 09:30:36 · 864 阅读 · 0 评论 -
HTTP 协议中 URI 和 URL 有什么区别?
HTTP = Hyper Text Transfer ProtocolURI = Universal Resource IdentifierURL = Universal Resource Locator作者:郭无心链接:https://www.zhihu.com/question/21950864/answer/66779836来源:知乎著作权归作者所有,转载请联系作转载 2017-01-14 22:42:26 · 9391 阅读 · 0 评论 -
ResultSet参数设置和更新(翻译总结)
ResultSet参数设置和更新ResultSet中保存了 query查询语句执行的结果,因此被用来扫描(检索,定位)数据。不过,也可以用来导航数据和进行个别的更新。接下来我们来看下细节:一、导航 ResultSet数据只要数据库允许这些操作,JDBC提供了下面几个方法都可以用来导航ResultSet中数据。ResultSet’s Methods for Navig转载 2017-01-13 21:20:11 · 1376 阅读 · 0 评论 -
一般JDBC的常见写法(附懒汉式 && 饿汉式)
首先在建个DbUtil文件,里面返回Connection、关闭方法等,如下所示:[java] view plain copy import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; i转载 2017-01-13 21:14:59 · 3503 阅读 · 0 评论 -
Java项目中读取properties文件
下面1-4的内容是网上收集的相关知识,总结来说,就是如下几个知识点:最常用读取properties文件的方法InputStream in = getClass().getResourceAsStream("资源Name");这种方式要求properties文件和当前类在同一文件夹下面。如果在不同的包中,必须使用:InputStream ins = this.getClass().getRe转载 2017-01-13 20:43:28 · 660 阅读 · 0 评论 -
为什么子类不能访问基类的private成员?为什么要这样设计?
看到很多朋友提问“为什么子类不能访问基类的private成员”?随后看到很多朋友回答“这是规范”“这是封装的特性”类似这样的回答。我觉得大家都是对的。但是有时候您需要关注提问的重点在于why?为什么Java要这样设计private?或者是Object Oriented为啥要这样设计这样的机制? 封装性:首先,private成员具有良好的封装性(encapsulation)。这个性质转载 2017-03-17 10:58:44 · 890 阅读 · 0 评论 -
面向对象三大基本特性,五大基本原则
透切理解面向对象三大基本特性是理解面向对象五大基本原则的基础.三大特性是:封装,继承,多态 所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。 简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通转载 2017-04-25 17:12:38 · 230 阅读 · 0 评论 -
cookie、session、TOKEN
发展史1、很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。这段时间很嗨皮2、但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理会话,必须记...转载 2019-08-08 11:38:14 · 131 阅读 · 0 评论 -
Java一串由数字组成的字符串,求各个数字出现的次数,并按出现次数的大小从小到大
最近在逛论坛,发现了一道很有趣的问题,有兴趣的可以往后看看Java一串由数字组成的字符串,求各个数字出现的次数,并按出现次数的大小从小到大。若出现的次数相同,那就比较最后出现的位置。例如我给出的那个字符串,8和5都是出现2次,但8最后出现的位置比5最后出现的位置靠后,那么8就排在5的后面。例如:String s = "10771034948754277771578";最后...转载 2019-07-17 18:01:26 · 647 阅读 · 0 评论 -
invalid bound statement (not found) - 接手一个老项目时报的几个错误处理方案
1、invalid bound statement (not found)在pom.xml的<build>中配置了resource<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 --> <resources> <resource> <directory>src/main/j...原创 2019-04-19 17:11:33 · 499 阅读 · 0 评论 -
如何将Jar包安装到本地仓库(针对云上Maven仓库没有的老Jar)
mvn install:install-file -Dmaven.repo.local=D:\repository -DgroupId=MD5 -DartifactId=Java-MD5 -Dversion=1.0.0 -Dpackaging=jar -Dfile=D:\JavaMD5.jar-Dmaven.repo.local=D:\repository(你本机本地仓库的位置)-Dg...原创 2019-04-18 18:32:50 · 612 阅读 · 0 评论 -
Java实现word导出与pdf导出
实现PDF 导出大部分都是用itext来实现,这次word导出我是用freemarker来实现,麻烦点,需要将其文档改成xml然后在改成ftl文件。如果不懂ftl文件语法请去看freemarker语法。这里就不再说了。程序用的是maven ,导入freemarkerjar包<dependency> <groupId>org.freemarker<...转载 2019-03-04 08:58:06 · 1829 阅读 · 0 评论 -
Java 8中字符串拼接新姿势:StringJoiner
在为什么阿里巴巴不建议在for循环中使用”+”进行字符串拼接一文中,我们介绍了几种Java中字符串拼接的方式,以及优缺点。其中还有一个重要的拼接方式我没有介绍,那就是Java 8中提供的StringJoiner ,本文就来介绍一下这个字符串拼接的新兵。如果你想知道一共有多少种方法可以进行字符串拼接,教你一个简单的办法,在Intellij IDEA中,定义一个Java Bean,然后尝试使用快捷...转载 2019-03-03 10:17:21 · 558 阅读 · 0 评论 -
Java中Vector和ArrayList的区别
首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。3个具体实现类的相关区别如下:1、ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就...转载 2018-10-10 22:19:18 · 274 阅读 · 0 评论 -
Java基本编码规范
Java基本编码规范原创 2018-03-10 22:01:10 · 413 阅读 · 0 评论 -
两种方法解决tomcat的 Failed to initialize end point associated with ProtocolHandler ["http-apr-8081"]
错误原因:主要是8081端口被占用了。解决1:打开任务管理器看看里面有没有javaw的线程,把它关了再重新启动tomcat看看。解决2:修改tomcat /conf /server.xml 文件 connectionTimeout="20000" redirectPort="8443" />原创 2018-01-13 15:10:46 · 3540 阅读 · 0 评论 -
用CXF中wsdl2java工具时抛出SAXParseException
用CXF中的wsdl2java工具时抛出SAXParseException,提示accessExternalSchema属性设置的限制而不允许file访问具体的信息如下, 求教web-service大神, 我改如何解决, 百度了一圈都没能找到答案G:\myeclipseworkspace\WS-client\src>wsdl2java http://192.168.1.4/转载 2017-10-01 17:45:06 · 1221 阅读 · 0 评论 -
JDBC为什么要使用PreparedStatement而不是Statement
本文由 ImportNew - 刘志军 翻译自 Javarevisited。欢迎加入翻译小组。转载请见文末要求。PreparedStatement是用来执行SQL查询语句的API之一,Java提供了 Statement、PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedStat转载 2017-01-13 15:03:14 · 320 阅读 · 0 评论 -
如何防止单例模式被 JAVA 反射攻击
单例模式相信大家都知道,用过的人不在少数。之前写过一篇博文《singleton模式四种线程安全的实现》(参见:http://blog.csdn.NET/u013256816/article/details/50427061),讲诉了单例模式的四种写法,并指出占位符模式的写法比较ok,详见如下:package com.effective.singleton; public转载 2016-12-29 22:33:26 · 409 阅读 · 0 评论 -
Servlet
一、Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术。 Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤: 1、编写一个Java类,实现servlet接口。 2、把开发好的Java类部署到web服务器中。 按照一种约定俗成的称呼习惯,通转载 2016-10-31 15:34:55 · 240 阅读 · 0 评论 -
ServletConfig与ServletContext对象详解
ServletConfig与ServletContext对象详解一、ServletConfig对象 在Servlet的配置文件中,可以使用一个或多个标签为servlet配置一些初始化参数。(配置在某个servlet标签或者整个web-app下) 当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对转载 2016-10-19 21:57:25 · 229 阅读 · 0 评论 -
[J2EE从入门到精通第1讲]搭建Eclipse+MyEclipse+tomcat开发环境
一、安装JDK 首先下载JDK 5.0(JDK 5.0的下载页面为:http://java.sun.com/j2se/1.5.0/download.jsp); 然后运行JDK 5.0安装程序jdk-1_5_0_06-windows-i586-p.exe,安装过程中所有选项保持默认;最后配置JDK的环境变量:在“我的电脑”上点右键—>“属性”—>“高级”—> “环境变量(N)”。转载 2016-10-15 23:49:49 · 631 阅读 · 0 评论 -
四个流行的java连接池之DBCP篇
DBCP (DatabaseConnection Pool)是一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据源使用的就是DBCP。目前 DBCP 有两个版本分别是 1.3 和 1.4。1.3 版本对应的是JDK 1.4-1.5 和 JDBC 3,而1.4 版本对应 JDK 1.6 和 JDBC 4。因此在选择版本的时候要看看你用的是什么 JDK 版本了转载 2016-11-06 13:35:55 · 955 阅读 · 0 评论 -
Java对MySQL数据库进行连接、查询和修改
0. 一般过程: (1) 调用Class.forName()方法加载驱动程序。 (2) 调用DriverManager对象的getConnection()方法,获得一个Connection对象。 (3) 创建一个Statement对象,准备一个SQL语句,这个SQL语句可以是Statement对象(立即执行的的语句)、PreparedStatement语句(预编译转载 2016-11-05 14:01:51 · 549 阅读 · 0 评论 -
Java 通过JDBC连接Mysql数据库的方法和实例
之前有两篇文章讲了安装MySQL(ubuntu和windows)和可视化工具workbench的使用,这篇文章就讲一下Java程序是如何连接MySQL数据库的。 Java是通过JDBC连接Mysql数据库的。JDBC(JavaData Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言转载 2016-11-05 13:26:18 · 468 阅读 · 0 评论 -
response.encodeURL的用法
Java Servlet API 中引用 Session 机制来追踪客户的状态。Servlet API 中定义了 javax.servlet.http.HttpSession 接口,Servlet 容器必须实现这个接口。当一个 Session 开始时,Servlet 容器将创建一个 HttpSession 对象,Servlet 容器为 HttpSession 分配一个唯一标识符,称为 Sessio转载 2016-10-22 21:49:33 · 1239 阅读 · 0 评论 -
Java初学者必学的JSTL
所谓JSTL就是标签库 JSP Standard Tag Library,如果做为java初学者你看不懂那些$符号的话,就有必要来了解一下JSTL,如果你看到满眼的(Scriptlet)觉得很糟心的话,那就更应该学学JSTL。 代码分离一直是程序员所追求,框架的开发者每天都费尽心思想怎么实现页面和代码分离,分离的好处比如:代码清晰,美工和程序员不干扰,各做各的等。如果满眼的就是满眼的Ja转载 2016-10-22 11:27:19 · 300 阅读 · 0 评论 -
Filter及FilterChain的使用详解
一、Filter的介绍及使用什么是过滤器?与Servlet相似,过滤器是一些web应用程序组件,可以绑定到一个web应用程序中。但是与其他web应用程序组件不同的是,过滤器是"链"在容器的处理过程中的。这就意味着它们会在servlet处理器之前访问一个进入的请求,并且在外发响应信息返回到客户前访问这些响应信息。这种访问使得过滤器可以检查并修改请求和响应的内容。过滤器适用于那些地方?转载 2016-10-22 11:18:44 · 349 阅读 · 0 评论 -
使用Ant打包java程序
Ant是一个构建工具,它可以帮助我们将项目开发过程中需要完成的各种步骤组织起来,通过一个简易的方式来构建整个项目。一些典型的任务是:编译java源代码、运行java程序、拷贝文件或目录、将编译完成的类打包等等。一、 安装与配置下载Ant,当前版本是1.9.4。http://ant.apache.org/bindownload.cgi解压文件到目录D:\Software\deve转载 2016-09-05 21:37:58 · 400 阅读 · 0 评论