J2EE
wu6660563
IT软件开发从事者,PHP、Java语言,项目管理PMP
展开
-
Nacos入门学习
Nacos为什么是Nacos?既然有了Eureka、Consule,为什么还有Nacos?Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台,提供注册中心、配置中心和动态 DNS 服务三大功能。能够无缝对接Springcloud、Spring、Dubbo等流行框架之前看直播中小马哥一直在推进这个项目SpringCloudAlibaba,其中最重要的就是Nacos。...原创 2019-10-26 12:07:17 · 5971 阅读 · 4 评论 -
Tomcat配置JNDI-使用阿里巴巴连接池DruidDataSource
项目中使用如果原来使用了DBCP数据源,现在想直接使用Tomcat的JNDI的方式驱动将相关的驱动拷贝到%Tomcat_HOME%/lib目录下面数据库驱动到:%TOMCAT%\lib下,这里是(ojdbc6.jar或者mysql的驱动)拷贝Druid jar包到:%TOMCAT%\lib下,这里是(druid-1.0.23.jar)配置context.xml%TOMCAT%\conf\con原创 2017-11-01 14:20:16 · 2171 阅读 · 0 评论 -
Spring接口
InitializingBean当一个类被Spring加载的时候,首先调用init方法,如果实现了InitializingBean的时候,会调用afterPropertiesSet方法,可以在方法里面执行代码public class ExampleBean implements InitializingBean { public void afterPropertiesSet() {原创 2017-09-28 22:09:29 · 767 阅读 · 0 评论 -
JAVA-Aspose将WORD和Excel转成PDF
JAVA将Word转成PDF有通过dll扩展库,Jacob的方式,这种方式必须本地安装了Word,不能跨平台通过Aspose的方式,该功能是付费版,需要破解,我本地测试Excel有水印,无法去掉,应该是序列号不对,Excel跟Word算法不一致,无法共用JAR下载JAR包 Word http://note.youdao.com/noteshare?id=1e73ab1c91abad3382原创 2017-08-18 10:45:23 · 7011 阅读 · 11 评论 -
WEB安全之XSS和CRSF攻击
XSS定义XSS攻击类似于SQL注入攻击,攻击之前,我们先找到一个存在XSS漏洞的网站,XSS漏洞分为两种,一种是DOM Based XSS漏洞,另一种是Stored XSS漏洞。理论上,所有可输入的地方没有对输入数据进行处理的话,都会存在XSS漏洞,漏洞的危害取决于攻击代码的威力,攻击代码也不局限于script。类似的攻击还有XSRF,XSRF是在本地生成cookie,模仿或者伪造跨域请求者信息,原创 2017-07-23 11:22:00 · 1128 阅读 · 0 评论 -
设计模式之装饰者模式
概述装饰者模式,不改变原有类的情况下,给一个类动态的增加方法 比如:A是超类,这个时候有个情况跟超类不一样,可以新建一个B类,继承B,C有些方法不一样,C继承B,甚至有D继承C,出现如下情况 D -> C -> B -> A 使用子类:通常可以使用继承来实现功能的拓展,如果这些需要拓展的功能的种类很繁多,那么势必生成很多子类,增加系统的复杂性,同时,使用继承实现功能拓展,我们必须可预见这些拓展原创 2017-07-21 22:38:13 · 354 阅读 · 0 评论 -
设计模式之适配器模式
前言适配器模式(Adapter Pattern),当你存在一个类,但是这个类不能拿来直接使用,必须要用适配方式。把一个类的接口变换成客户端所期待的另一种接口实例代码比如:你去香港旅游,跑去买了个iphone,结果发现是三角插座,国内不能使用,解决办法有两种: 1)重新买一个插头 2)买一个转换器即可代码如下:英标插头-三脚/** * @Description 英标插头 3脚 * @Date 2原创 2017-07-21 21:43:07 · 281 阅读 · 0 评论 -
数据库中间件-mycat快速入门
准备工作从官网http://www.mycat.org.cn/下载mycat包 下载以后的文件目录结构如下: 快速入门配置mycat/conf的server.xml <user name="root"> <property name="password">root</property> <property name="schemas">TESTDB</pro原创 2017-04-21 12:04:38 · 8821 阅读 · 3 评论 -
Maven-Jetty的插件集成快速启动
除了像常规的jetty类似tomcat的使用方式外,jetty和tomcat都可以集成maven插件Jetty的Maven-plugin集成通过Main函数启动jetty这种方式很明显适合快速开发的开发人员的开发环境 在项目的POM文件的dependencies中加入<!-- 自制Jetty插件用 --><dependency> <groupId>org.eclipse.jetty.ag原创 2017-04-08 12:30:31 · 22074 阅读 · 0 评论 -
百度地图
百度地图Demo详情请看 http://lbsyun.baidu.com/index.php?title=jspopular/guide/introduction<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>地理位置测试</title> <script type="text/ja原创 2017-01-06 14:16:54 · 438 阅读 · 0 评论 -
Netty通信
Netty简介Netty是用来开发高性能、高可靠性的网络服务器和客户端程序,主要是用作通信接口 特点:吞吐大数据量I/O超时和idle状态检测对比网络传输方式:传统的RPC框架或者基于RMI等方式的远程服务(过程)调用采用了同步阻塞IO,当客户端的并发压力或者网络时延增大之后,同步阻塞IO会由于频繁的wait导致IO线程经常性的阻塞,由于线程无法高效的工作,IO处理能力自然下降。对比序列化方原创 2016-10-17 16:35:00 · 509 阅读 · 0 评论 -
Spring Cloud之Eureka Server高可用集群学习
SpringCloud使用Eureka Server作为注册中心,为了实现高可用,必须集群 此帖子参考http://blog.didispace.com/springcloud6/感谢翟永超大神给我们提供的博客代码配置application.properties# 每次启动一个备用注册中心只需要修改active即可spring.profiles.active=peer1# 不向注册中心注册自己原创 2017-11-21 17:44:30 · 6161 阅读 · 4 评论 -
Twitter分布式唯一ID算法
唯一ID值可以用UUID,但是UUID是无序的,而且是字符串,在数据库中效率低,插入时间慢,一般是自己写算法是生成一个唯一的ID,大家可能说使用数据库自增,但是如果数据到了分表分库的时候,那么数据库唯一ID将不再满足需求Twitter之分布式ID SnowflakeSnowFlake的结构如下(每部分用-分开):0 - 0000000000 0000000000 0000000000 00000原创 2017-12-09 21:30:32 · 2875 阅读 · 0 评论 -
Servlet3与Servlet4
Servlet3Servlet 3.0 新特性异步处理支持:有了该特性,Servlet 线程不再需要一直阻塞,直到业务处理完毕才能再输出响应,最后才结束该 Servlet 线程。在接收到请求之后,Servlet 线程可以将耗时的操作委派给另一个线程来完成,自己在不生成响应的情况下返回至容器。针对业务处理较耗时的情况,这将大大减少服务器资源的占用,并且提高并发处理速度。新增的注解支持:...原创 2019-03-11 09:38:28 · 4569 阅读 · 0 评论 -
Springboot启动与默认加载整理
spring-boot# PropertySource Loadersorg.springframework.boot.env.PropertySourceLoader=\org.springframework.boot.env.PropertiesPropertySourceLoader,\org.springframework.boot.env.YamlPropertySourceLo...原创 2018-12-19 11:46:42 · 764 阅读 · 0 评论 -
HTTP协议与攻击
以下内容为阅读《图解HTTP》后整理文章目录Web基础TCP/IPHTTP协议概念HTTP协议是个无状态协议HTTP方法持久连接节省通信量Cookie状态管理HTTP报文内的HTTP信息Web基础首先总所周知,HTTP是建立在TCP/IP之上的,也就是说,HTTP是TCP/IP的一个子集。TCP/IPTCP/IP分四层:应用层、传输层、网络层、数据链路层。而网络是分七层协议:7 应用层...原创 2018-12-28 09:51:28 · 7977 阅读 · 0 评论 -
SpringCloud学习-SpringCloudNetfix
Netfix组件是涵盖了构建大型分布式系统的一整套方案。提供的模式包括服务发现(Eureka),断路器(Hystrix),智能路由(Zuul)和客户端负载均衡(Ribbon)服务发现:Eureka客户端Netfix服务发现服务器和客户端都是Eureka,可以将服务器配置和部署为高可用性,每个服务器将注册服务的状态复制到其他服务器通过使用org.springframework.cloud和s...原创 2018-12-07 15:43:51 · 946 阅读 · 0 评论 -
SpringCloud学习-SpringCloudConfig
SpringCloudConfig主要是管理分布式配置中心,当各个应用都有一大堆application.yml的时候,显得很乱,好的方式就是统一管理,对此的封装有携程的开源Apollo定位资源的默认策略是克隆一个git仓库(在spring.cloud.config.server.git.uri)HTTP需要以下的资源:/{application}/{profile}[/{label}]...原创 2018-12-07 09:16:02 · 295 阅读 · 0 评论 -
SpringCloud学习-SpringCloudCommons
@EnableDiscoveryClientCommons提供EnableDiscoveryClient注释,通过META-INF/spring.factories查找DiscoveryClient接口的实现。Discovery Client的实现将在org.springframework.cloud.client.discovery.EnableDiscoveryClient下面的spring...原创 2018-12-05 19:35:15 · 1974 阅读 · 0 评论 -
SpringCloud学习-SpringCloud上下文
引导应用程序上下文SpringCloud是创建一个Bootstrap引导来进行操作,开箱即用,负责从外部加载配置属性,包括解密本地外部配置文件中的属性,application.yml(或.properties)及bootstrap.yml共享一个Enviroment,Bootstrap的优先级高,不会被本地配置覆盖bootstrap.ymlspring: application: ...原创 2018-12-05 15:53:05 · 1084 阅读 · 0 评论 -
SpringBoot-Spring-security之JWT授权认证
JWT是现在前后端分离用的比较多的验证授权方式Maven引入<!--安全框架--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId>&...原创 2018-09-22 18:50:30 · 1795 阅读 · 5 评论 -
Junit5学习(一)
Junit5JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit VintageJUnit Jupiter支持配置测试和扩展框架的以下注解。所有核心注解都位于 模块的org.junit.jupiter.api包中junit-jupiter-api。 注解 描述 @Test 表示一种方法是一种测试方法。与JUnit...原创 2018-04-20 22:24:33 · 1638 阅读 · 0 评论 -
SpringBoot(八)SpringBoot整合springsession实现分布式session共享
Maven配置 <!-- springboot - Redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dep原创 2017-12-02 22:39:39 · 11524 阅读 · 6 评论 -
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)解决
此问题有两种情况:为Mabatis绑定错误IDEA打包问题(如果在eclipse下面没有该问题,在IDEA存在,需要在pom.xml下面加上*Mapper.xml配置一起打包)Mybatis绑定错误解决方案一般的原因是Mapper interface和xml文件的定义对应不上,需要检查包名,namespace,函数名称等能否对应上,需要比较细致的对比,我经常就是写错了一两个字母搞的很长时间找不转载 2016-09-07 15:04:57 · 6781 阅读 · 2 评论 -
Memcached
Memcached安装Linux安装sudo apt-get install libevent libevent-deve 自动下载安装(Ubuntu/Debian) yum install libevent libevent-deve 自动下载安装(Redhat/Fedora/Centos)源代码安装:wget http://memca原创 2016-08-11 23:00:48 · 386 阅读 · 0 评论 -
eclipse中maven web工程打包成war缺少lib目录
最近弄的几个项目发布到eclipse中的tomcat都启动不起来,打成WAR包也是缺少lib目录和下面的JAR包。害的我还从Tomcat切换成了Jetty,终于找到原因:http://blog.csdn.net/qiuhan/article/details/44099047可能有两个原因: maven中某些jar包下载不下来 从其他地方下载jar文件放到相应maven本地库的.m2里.cla转载 2016-09-02 11:44:22 · 2034 阅读 · 0 评论 -
Niginx+Tomcat
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。这是百度百科上反向代理的定义,如果你对该定义有些模糊的话,继续向下看。 实际上,我们配置了Nginx反向代理后,系统的物理结构可能是下面这样子的,当我们访问一原创 2016-06-24 10:31:09 · 1091 阅读 · 1 评论 -
Javascript的Map对象
前言最近工作写js,需要传json到后台,虽然本身js的Array也可以是一个HashMap一样,但是还是感觉很麻烦,方法很少,写起来不够爽。就用了十几分钟百度了一下javascript的Map对象。自己再对照Java里面JDK的Map对象拓展了下。 不多说,代码如下:/** * @description JS的Map对象,仿造JDK的Map对象编写 * @autor Nick * @ve原创 2016-06-24 09:19:27 · 879 阅读 · 0 评论 -
MongoDB查询数据
MongoDB 查询数据的语法格式如下:>db.COLLECTION_NAME.find()find() 方法以非结构化的方式来显示所有文档。 如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:>db.col.find().pretty()pretty() 方法以格式化的方式来显示所有文档。 实例以下实例我们删除了数据库 runoob。> db.col.find(翻译 2016-05-25 16:12:01 · 518 阅读 · 0 评论 -
架构师进阶之路
选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。一、Java编程入门类对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java转载 2016-05-25 15:59:12 · 2347 阅读 · 1 评论 -
OSCache缓存过滤器
OSCache-缓存过滤器CacheFilter用CashFilter实现页面级缓存。 在OSCache组件中提供了一个CacheFilter用于实现页面级的缓存,主要用于对web应用中的某些动态页面进行缓存,尤其是那些需要生成pdf格式文件/报表、图片文件等的页面,不仅减少了数据库的交互、减少数据库服务器的压力,而且对于减少web服务器的性能消耗有很显著的效果。 这种功能的实现是通过在web.原创 2016-05-25 15:56:40 · 337 阅读 · 0 评论 -
RestEasy测试Http-API
RestEasy的开发背景相对于SOAP来说,Restful服务更加轻量级,目前由于轻应用的流行,Resetful服务也开始大行其道,但是开发一个Restful服务以后,同样需要对其进行严格的测试,今天给大家推荐一款可以测试Restful服务的谷歌浏览器插件。RestEasy的简介RestEasy是一款可以方便地测试Restful服务的谷歌浏览器插件,在chrome中安装了RestEasy插件以后,原创 2016-05-25 15:51:52 · 1521 阅读 · 0 评论 -
谷歌插件DHC测试HTTP接口
DHC的开发背景在web开发中,服务器端和客户端的开发和测试必不可少,但是测试的工作往往需要服务器端完成之后,客户端才能进行测试,这无疑延后了测试流程,导致服务器端开发完成后,无法进行充分的数据测试,很容易造成服务器端和客户端开发完成后出现不协调的情况,而今天给大家推荐的这款HTTP工具,可以提前对服务器端代码进行测试。DHC的简介DHC是一款可以帮助用户使用chrome插件模拟HTTP客户端发送测原创 2016-05-25 15:44:45 · 7205 阅读 · 0 评论 -
使用apache的ab工具做压力测试
Ab 命令简介 你是否在苦恼于想对一些系统做压力测试,但是又没有找到简单方便的工具?其实在 apache 里 面就自带了一些这样的测试工具—ab(apache benchmark)。此工具在安装在apache 的 bin 目录下面。Ab 可以直接在 web 服务器本地发起测试,也可以在远程发起测试。 Ab 测试的本质是模http请求,所以可以将它看做是对于Web 服务器软件的黑盒性能测原创 2016-05-25 13:58:18 · 618 阅读 · 0 评论 -
改进编程习惯
命名方法的改进命名的基本原则1、全部采用易懂的英文来命名,可以辅以下划线和数字 2、名称的长度尽量不要超过16个字符,超过16个字符读起来就比较费力。可以缩短到两个字符,但是意思一定要清晰明确。 3、不要采取无意义的命名,比如a,b,c,循环变量除外 4、每个单词之间应该有合适的分割,可以采用大小写间隔,也可以采用下划线,比如:fireWall或者CREATED_PERSON 5、除了常量以原创 2016-05-25 10:38:04 · 438 阅读 · 0 评论 -
Redis常用命令及配置
命令redis的常用命令主要分为两个方面、一个是键值相关命令、一个是服务器相关命令1、键值相关命令 keys * 取出当前所有的key exists name 查看n是否有name这个key del name 删除key name expire confirm 100 设置confirm这个key100秒过期 ttl c...原创 2016-03-08 21:09:50 · 393 阅读 · 0 评论 -
template.js前端模板引擎使用
下载地址https://github.com/yanhaijing/template.js作者编写的文档:https://github.com/yanhaijing/template.js/blob/master/README.md源码学习默认的开始标签和结束标签分别是:sTag: '<%',//开始标签,可以重写,我项目中使用的是<:eTag: '%>',//结束标签,我项目中使用的是:>快速上原创 2016-06-29 08:55:06 · 62854 阅读 · 5 评论 -
前端模版引擎
前端模板引擎template.js在用的一个JS模板引擎,目前再用,性能一般,有时候会出现渲染不了页面的现象 https://github.com/yanhaijing/template.js百度BaiduTemplatehttp://baidufe.github.io/BaiduTemplate/腾讯artTemplatehttps://github.com/aui/artTemplatejui原创 2016-06-29 09:27:59 · 1323 阅读 · 1 评论 -
uploadify多个文件上传,提示超过最多限制
问题1,假如默认有2个,你设置了5个,那么还可以添加五个,解决方案,在渲染图片的完成的时候添加如下代码for(var i = 0; i < imgList.length; i++) { //渲染图片,显示 ... var swfu = $('#fileUp2').data('uploadify'); //fileUp2表示uploadify的Dom的ID var原创 2016-08-08 20:31:59 · 2344 阅读 · 0 评论 -
Portal研究
PortalPortal说明一个portal应用可通过复杂的个性化配置用户提供定制的内容,而portal页面就是含有不同的portlet为不同的用户生成内容portlet容器portlet容器运行portlet,并为portlet提供必要的运行环境开源portal对比Jetspeed (2.1.3) Jetspeed/Tomcat/MySQL 好像性能不错,不过文档不太好,接口粗糙不友好原创 2016-08-06 08:54:42 · 3774 阅读 · 0 评论