Java 后端
文章平均质量分 75
Java_Mike
Hello World
展开
-
基于JDK8的ArrayList源码剖析
前言ArrayList是我们开发过程中经常用到的集合类,一般涉及到集合操作的业务都会想到它,在java的集合家族中,知名度最高的集合类非他莫属。但是人无完人,ArrayList也存在利与弊,在开发过程中如何权衡呢?让我们通过源码对ArrayList进行一个深入的了解,了解底层实现,这样就能在使用过程中根据需求来决定是否使用该集合类。走近ArrayListArrayList基于数组实现,在普通数组基础上增加了自动扩容等功能。实现了List, RandomAccess, Cloneable, java.i原创 2021-07-21 17:35:43 · 237 阅读 · 1 评论 -
大话设计模式之建造者模式(Java总结)
设计模式之建造者模式前言场景建造者模式代码示例前言 如果需要将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示的意图时,我们需要应用一个设计模式,建造者模式,又叫生成器模式。场景 复杂产品的构建过程建造者模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。代码示例产品类public class Product { ...原创 2020-04-12 19:31:03 · 298 阅读 · 0 评论 -
Springboot集成RabbitMQ
Springboot集成RabbitMQ概述项目搭建概述Springboot作为一个流行的轻量级框架,对RabbitMQ提供了很好的支持。本篇我们就介绍如何在Spring Boot中集成RabbitMQ。项目搭建1、pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apa...原创 2020-02-09 08:28:05 · 167 阅读 · 0 评论 -
java中使用反射获取对象的属性和属性值
在控制器转发的过程中,我们经常要将一些数据存到request中来进行参数传递,而我们通常将一些数据存到一个实体对象里面,这时就可以通过反射获取对象里面的属性和属性值,并用循环语句将该对象的属性值存到request对应的key里面。例如://获得paymentInfo中属性的集合Field[] field = paymentInfo.getClass().getDeclaredFields();//原创 2016-11-16 11:11:54 · 6411 阅读 · 0 评论 -
Spring boot中结合Specification自定义Repository实现
Spring Data JPA中封装了很多条件查询的方法,我们可以使用封装的方法和@Query注解进行条件查询。这些都是比较简单的,直接调用接口就行。但是要想实现动态查询,就比较复杂了。下面我将结合Specification和自定义Repository实现来定制一个动态条件查询,实现当对应的条件参数为空时,不加入查询的条件中。1.定义Specification:package e原创 2017-07-27 21:23:52 · 7270 阅读 · 4 评论 -
The resource identified by this request is only capable of generating responses with characteristics
Spring中使用@ResponseBody时报The resource identified by this request is only capable of generating responses with characteristics错误,如果添加了Jackson包,并且返回的对象有get和set方法,这时就可能是spring与Jackson包的版本问题。spring4.0以上的原创 2016-11-28 18:53:05 · 887 阅读 · 0 评论 -
启动tomcat出现了Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]等错误
我的项目之前都是好好的,但是今天更新后项目有红色感叹号,并且启动tomcat时出现 Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]错误我查看Problems发现原来是有个jar包读取失败,于是将这个路径下的jar包删掉然后重新导入,再重启项目就OK了原创 2017-07-29 17:34:02 · 18510 阅读 · 0 评论 -
spring boot中使用关键字搜索的问题
最近在用spring boot框架做一个项目。做到使用关键字搜索的时候出现以下报错:org.springframework.dao.InvalidDataAccessApiUsageException: Parameter with that position [1] did not exist; nested exception is java.lang.IllegalArgumentExc原创 2017-06-11 15:55:31 · 4206 阅读 · 0 评论 -
MyEclipse使用Maven创建web项目+搭建SSM框架
本文转自http://blog.csdn.net/v123411739/article/details/50742885使用maven已经有一段时间了,但项目是别人搭建好的,因此一直想着自己要学习搭建一下。网上找了些资料后,结合自己实验,花了点时间就搞好,老样子,写在博客上,免得日后忘记。博文中的代码:链接:http://pan.baidu.com/s/1o转载 2017-06-21 17:19:12 · 1617 阅读 · 0 评论 -
直接双击启动tomcat中的startup.bat闪退
本文转自:http://blog.csdn.net/iamzhangyouzhi/article/details/11133609免安装的tomcat双击startup.bat后,启动窗口一闪而过,而且tomcat服务未启动。原因是:在启动tomcat是,需要读取环境变量和配置信息,缺少了这些信息,就不能登记环境变量,导致了tomcat的闪退。解决办法:转载 2017-06-05 18:11:18 · 430 阅读 · 0 评论 -
request的setCharacterEncoding问题
request中的setCharacterEncoding方法作用是用指定的编码集去覆盖request对象中的默认的"ISO-8859-1"编码集,这样request.getParameter("")方法就会用新的编码集去解码,但是这个方法有一个条件,就是必须在第一次使用request时就要调用这个方法来设置编码集,否则该方法就会无效。错误示例:<% if(request.get原创 2017-01-04 09:15:27 · 19700 阅读 · 2 评论 -
The servlets named [X] and [Y] are both mapped to the url-pattern [/Z] which is not permitted
当我用myeclipse新建了一个servlet之后,重新运行tomcat,出现了如下错误org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/task02_2]]at org.a原创 2017-01-04 17:24:34 · 1419 阅读 · 0 评论 -
无法远程连接keycloak的解决办法
keycloak是基于OAuth2.0的第三方验证和授权系统,提高了我们系统安全开发方面的效率。关于keycloak保护spring boot程序的例子可以看一下这篇译文https://www.oschina.net/translate/easily-secure-your-spring-boot-applications-with-k.keycloak使用JBoss服务器作为容器,而JBos原创 2017-08-24 10:33:01 · 5007 阅读 · 1 评论 -
mysql数据库插入中文乱码
如果安装mysql时选择默认编码的话,我们插入数据库时中文就可能会乱码,这时可以用以下两种方法解决:1.重新安装mysql,编码选择utf-82.如果建立好了数据库,则在插入数据库前加上alter database 表名 character set utf8,并在连接数据库的url中设置编码jdbc:mysql://3306数据库名?characterEncoding=utf8原创 2017-01-22 16:54:27 · 712 阅读 · 0 评论 -
linux运行jar包
要运行java的项目需要先将项目打包成war包或者jar包,打包成war包需要将war包部署到tomcat服务器上才能运行。而打包成jar包可以直接使用java命令执行。在linux系统中运行jar包主要有以下四种方式。一、java -jar XXX.jar这是最基本的jar包执行方式,但是当我们用ctrl+c中断或者关闭窗口时,程序也会中断执行。二、java -jar XXX.jar &...原创 2018-05-20 16:43:39 · 41555 阅读 · 2 评论 -
判断list集合中是否包含某个元素
前言 在开发的过程中,会涉及到很多判断一个数组集合是否包含某个元素的需求。强大的list集合框架通过contains这样一个方法实现了我们的需求。list元素类型是基本类型则可以直接调用contains方法来实现。但是如果元素类型是一个类则需要对这个类做一些处理才能实现我们预想的需求。分析 通过分析contains方法的源码可知,该方法是通过遍历集合中的每一个元素并用equals方法比...原创 2018-07-15 09:50:34 · 197612 阅读 · 13 评论 -
Java实现文本文档的读和写
文件文档的操作在开发过程中很经常要用到。Java中封装了许多非常有用的文件操作API,非常方便。下面我就展示Java简单读写文本文档(txt文件)的示例代码。环境JDK1.8示例代码import java.io.*;import java.util.ArrayList;import java.util.List;/** * @author huangh...原创 2018-08-19 09:21:19 · 1527 阅读 · 0 评论 -
基于java类库的3DES加密算法实现
本文转自https://blog.csdn.net/super_cui/article/details/70821138别看3DES的代码很复杂,其实和DES代码一样,核心代码就那么几行加密部分的核心Cipher cipher = Cipher.getInstance("DESede/ECB/PKCS5Padding");cipher.init(Cipher.ENCRYPT_MODE,...转载 2018-08-19 16:46:42 · 912 阅读 · 0 评论 -
Java8使用Stream操作集合运算
前言Srteam是Java 8提供的一个强有力的工具,可以让你以一种声明的方式处理数据。从而写出高效率,干净,简洁的代码。本文记录了使用Stream代替java集合的一些常用繁琐操作。准备工作集合初始化List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");List<I...原创 2019-10-01 15:34:12 · 2224 阅读 · 0 评论 -
Spring中使用kindeditor上传图片时遇到的问题
KindEditor是一套开源的HTML可视化编辑器。集成了许多强大的功能,但是也有一些不足的地方。比如:上传图片时,是先上传图片到服务器,再插入到编辑框内。这样就会产生一个问题。如果用户先将图片插入到编辑器(这时已经将图片上传到服务器),用户又将图片从编辑框里删掉。这样最终用户上传的内容中就没有包含图片的路径,但是图片已经上传到服务器中,并没有因此而删除。这样就会造成资源的浪费,所以我们要自己对原创 2017-06-05 16:53:08 · 1484 阅读 · 0 评论 -
运行tomcat:报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
这种情况经常在eclipse导入别的工程项目时会出现,一般可以采用以下两种方法解决:一、 1. 先设置Apache服务器。设置方法为:window -> Preferences -> Server -> Runtime Environment -> add -> 选择Apache的版本后点Next,再填入你的Apache服务器安装地址。2. 右击web工程 -> Build Pat原创 2017-05-23 21:37:32 · 767 阅读 · 0 评论 -
MyEclipse启动Tomcat报错“A configuration error occurred during startup”
有可能是myeclipse自带的tomcat服务器配置jdk错误,将jdk改成适合该服务器运行的版本就行了原创 2016-10-15 11:44:07 · 4196 阅读 · 0 评论 -
使用request对象获取表单的信息
使用request对象获取表单的信息原创 2016-09-05 22:41:25 · 11470 阅读 · 0 评论 -
Play框架2.5.6教程——Play应用的剖析
Play应用的布局Play应用的布局是以尽可能简单为标准的。第一次成功编译之后,Play应用如下所示:app → Application sources └ assets → Compiled asset sources └ stylesheets → Typically LESS CSS翻译 2016-09-12 18:43:08 · 1407 阅读 · 0 评论 -
play框架2.5.6教程——设置你喜欢的IDE
用Play操作很简单,你甚至不需要一个复杂的IDE,因为Play会自动地编译和更新你对你的资源所做的修改。所以你可以使用一个简单的文本编辑器进行操作。 然而使用一个现代的Java或者Scala IDE 可以提供很酷,具有创造力的功能,比如自动实现,运行编译,辅助重构和调试。 Eclipse设置sbteclipseEclipse的集成需要sbteclipse4.0.0版本或者...翻译 2016-09-11 15:47:07 · 6487 阅读 · 2 评论 -
play框架2.5.6教程——使用play控制台
启动控制台play控制台是基于sbt开发的控制台,它允许你管理一个play应用的整个发展周期。为了启动Play控制台,先改变你的项目路径,然后运行Activator:$ cd my-first-app$ activator获得帮助使用help命令来获得有效命令的基本帮助。你也可以用特殊的命令来来使用这些帮助来得到那些命令的有关信息:[my-first-a翻译 2016-09-11 14:25:41 · 4853 阅读 · 0 评论 -
play框架2.5.6教程——安装play框架
准备工具:你需要安装JDK1.8(或者更高版本)快速启动:1.下载最新的 Typesafe Activator2.将文件存放在你指定的位置3.用命令行cd activator*或者文件管理器来选择目录4.用命令行activator ui或者文件管理器来启动5.在浏览器输入http://localhost:8888你会发现一些文件和一系列的应用样本来引导你翻译 2016-09-08 20:46:05 · 5129 阅读 · 0 评论 -
play框架2.5.6教程——创建一个新的应用
用activator命令行创建一个新的应用activator命令行可以用来创建一个新的play应用,Activator允许你选择一个模板,你应该基于这个模板创建一个新的应用。对于vanilla的play项目,对于Scala,基于Play应用模板的名称是play-scala。对于Java,则是play-java. 选择Scala或Java模板不是意味着你之后不能改变。比如说,你可以使用默...翻译 2016-09-09 15:09:40 · 2172 阅读 · 1 评论 -
将别处的web project 导入 eclipse 以后,为什么run as里 没有 run on server 选项
本文转载自http://blog.csdn.net/jyw935478490/article/details/50459678在项目->右击->Properties->Project Facets->Modify Project,选择Java和DynamicWeb Module转载 2016-11-06 15:59:50 · 691 阅读 · 0 评论 -
eclipse导入其他项目运行时报404错误
有时eclipse导入别的地方的项目,运行时可能会报404错误,有可能是项目的默认根目录与你本身的根目录不匹配造成的。解决方法如下:1.右击项目,选择properties2,.选择Project Facets,选中右边的Dynamic Web Module,并点击下面的Further configuration available3.将Content directory改成你希望的根目原创 2016-11-07 18:38:53 · 7078 阅读 · 1 评论 -
struts2多图片上传实例
本文转载自:http://blog.csdn.net/java_cxrs/article/details/6004144描述: 通过struts2实现多图片上传。 我使用的版本是2.2.1,使用的包有如下几个: 具体转载 2017-05-23 21:09:56 · 772 阅读 · 0 评论 -
springboot项目修改启动端口
本文转载自:http://blog.csdn.net/ljj821061514/article/details/56284303测试使用了一下springboot,挺好用的,可以不用配置那些所谓的xml繁琐的配置文件,方便快速搭建项目。但是,当我们有多个springboot项目时,可能就会出现80端口别占用,导致其他项目无法使用,这时候就得要修改项目中的启动端口转载 2017-05-23 10:42:33 · 2976 阅读 · 0 评论 -
spring中对浏览器缓存的控制
我们平常在页面发送一个url请求的时候,会通过网络去服务器获取这个资源,网速好的时候倒是没什么,但是网络差一点的话,资源获取的延时就会很长,用户体验就会大大降低。但是我们可以使用缓存来解决这个问题。当我们请求一个资源的时候,会返回一个响应头,这时只要在响应头里加上一个过期时间,只要过期时间没有到期,浏览器就会直接读缓存,而不是重新通过网络读取这个资源。在spring中的控制器可以做到这一点。原创 2017-03-13 23:35:29 · 3681 阅读 · 0 评论 -
java中使用全局过滤器防止过滤css和js
我们使用过滤器验证用户是否登录时一般是不会过滤登录和注册界面的,所以要在过滤器中加一些判断条件来防止过滤这两个界面。但是使用全局过滤器的话会将这两个界面的css和js样式一起过滤掉,所以要在判断条件里加多几个条件。总之只要你不需要过滤掉的界面或控制器都可以在判断条件里加,示例如下web.xml中的全局过滤器配置: SecurityFilter hua.sms.原创 2017-02-17 10:28:23 · 8101 阅读 · 0 评论 -
spring中RedirectAttribute的flash属性一个应用
Spring提供了通过RedirectAttributes属性设置flash属性的方法,这是Spring3.1引入的Model的一个子接口。在我们开发注册功能的时候,经常会有这样一个需求。当用户将填写好的信息提交到服务器后,控制器应判断用户填写信息的合理性,若有错误应该将提示错误的信息和用户填好的信息返回注册界面。这个功能可以用session实现,但是flash属性可以更好地实现这个功能。因为原创 2017-01-03 17:12:01 · 961 阅读 · 0 评论 -
spring测试控制器时出现404错误
在spring中用Mock测试控制器时,有时会报404错误,这是因为找不到所要测试的控制器,排除了路径问题后,还可能是RequestMapping注解的问题,要在控制器中的每一个方法都带上RequestMapping注解,这个测试还能访问到所需要的控制器原创 2016-10-28 18:02:48 · 1656 阅读 · 0 评论 -
导入myeclipse项目时min.js文件出现Multiple markers at this line错误
在myeclipse中,导入包含min.js文件的项目有时会报Multiple markers at this line-Multiple markers at this line错误,这是由于myeclipse对js的语法进行检测引起的。解决方法如下:右击min.js文件,选择myeclipse->Exclude from Validation然后就不再报错了原创 2016-10-20 22:21:03 · 2383 阅读 · 0 评论 -
<jsp:setProperty property="*">的快捷访问方式
这是一种设置JavaBean对象实例中成员属性值的快捷操作方式。使用该方式,在JavaBean对象实例中的成员属性名称、数据类型等都必须和请求request对象中的参数名称和数据类型保持匹配。因此,采用property=“*”方式操作访问Java组件对象实例中的成员属性适用于JavaBean对象实例中的成员属性名与request对象中的参数名称一致的情况。例如:提交的表单:原创 2016-10-17 20:37:35 · 1611 阅读 · 0 评论 -
eclipse运行play框架时出现Could not bind on port 80的解决方法
Could not bind on port 80的解决方法原创 2016-08-29 16:52:09 · 2084 阅读 · 2 评论