- 博客(238)
- 收藏
- 关注
原创 dubbo服务引用调用原理
所有的dubbo自定义标签都会由DubboNamespaceHandler处理registerBeanDefinitionParser("reference", new DubboBeanDefinitionParser(ReferenceBean.class, false));ReferenceBeanpublic class ReferenceBean<T> ext...
2018-08-31 10:18:19
2231
原创 dubbo服务暴露原理
dubbo的xsd文档在jar包中的META-INF/dubbo.xsd 对标签的处理类dubbo中的定义写在META-INF/spring.handlers dubbo标签的解析主要用到了DubboNamespaceHandler 这个类 public void init() { registerBeanDefinitionParser("application...
2018-08-30 16:07:43
958
原创 zuul RequestContext filter原理
zuul是可以认为是一种API-Gateway。zuul的核心是一系列的filters, 其作用可以类比Servlet框架的Filter,或者AOP。其原理就是在zuul把Request route到源web-service的时候,处理一些逻辑,比如Authentication,Load Shedding等 ==HttpRequest -&gt; ‘pre’ filter -&gt; ‘ro...
2018-08-02 09:49:05
6021
原创 netty服务端启动原理
【创建服务端channel】ChannelFuture f = b.bind(port).sync(); ChannelFuture regPromise = this.initAndRegister();//初始化并注册 Channel channel = this.channelFactory().newChannel();//创建服务端Channel ...
2018-07-24 16:31:50
468
原创 springboot 启动原理
SpringApplication.run(GunsApplication.class, args);分为两步1. 创建SpringApplication对象initialize(sources);private void initialize(Object[] sources) { //保存主配置类 if (sources != null && sour...
2018-07-05 18:51:00
372
原创 spring IOC容器启动原理
Spring容器的refresh()【创建刷新】;1、prepareRefresh()刷新前的预处理; 1)、initPropertySources()初始化一些属性设置;子类自定义个性化的属性设置方法; 2)、getEnvironment().validateRequiredProperties();检验属性的合法等 3)、earlyApplicationEvents=...
2018-06-10 22:37:35
670
原创 spring 事件监听发布原理
【事件派发器】 * 1)、容器启动:refresh(); * 2)、initApplicationEventMulticaster();初始化ApplicationEventMulticaster; * 1)、先去容器中找有没有id=“applicationEventMulticaster”的组件; * 2)、如果没有this.app...
2018-06-10 20:49:36
1104
原创 spring 事务 @EnableTransactionManagement原理
@EnableXXX原理:注解上有个XXXRegistrar,或通过XXXSelector引入XXXRegistrar,XXXRegistrar实现了 ImportBeanDefinitionRegistrar的registerBeanDefinitions方法,给容器注册XXXCreator。这个Creator实现了后置处理器, 后置处理器在对象创建以后,包装对象,返回一个代理对象,代理对象...
2018-06-10 16:41:42
14037
1
原创 身份证验证java工具类(纠正网上流行代码错误)
参考网上代码,不过网上代码全部是拷贝的,纠正下,身份证前2位代表地区,64是青海,65是新疆。。。以下代码已纠正并测试/** * 身份证验证的工具(支持5位或18位省份证) 身份证号码结构: 17位数字和1位校验码:6位地址码数字,8位生日数字,3位出生时间顺序号,1位校验码。 * 地址码(前6位):表示对象常住户口所在县(市、镇、区)的行政区划代码,按GB/T2260的规定执行。 * 出生日
2017-11-02 20:21:09
595
1
原创 angular2后台管理系统
angular2-4对angular1的改变是颠覆性的,增加了npm, typescript,@等目前前端开发流行的元素,但坑多github上开源项目:https://github.com/mrholek/CoreUI-Free-Bootstrap-Admin-Template/tree/master/Angular2_CLI_Full_Project 这是基于angular2的后台管理系统执行
2017-09-03 11:43:24
4384
1
原创 Druid连接池的testQuery/validationQuery
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 基本属性 url、user、password --> <property name="url" value="${jdb
2017-08-27 10:42:38
17514
原创 JMS与MDB实例
JMS和消息驱动Bean(MDB) 1.Java消息服务(JMS)编程: 应用程序A发送一条消息到消息服务器的某个目的地,然后消息服务器把消息转发给应用程序B,由于JMS允许消息发送方和接收方不同时在线,没有代码关联,从而实现应用程序的解耦,JMS的过程如下: 应用程序A——>消息——>JMS消息服务器——>消息——>应用程序B 2.JMS消息的传递模型: JMS支持两种消息传递模型:点对
2017-05-18 18:42:52
823
原创 Java RMI实例
RMI:远程方法调用(Remote Method Invocation)。能够让在某个Java虚拟机上的对象像调用本地对象一样调用另一个java 虚拟机中的对象上的方法。下面是实例: 首先为服务建立一个Model层,注意因为此对象需要现实进行远程传输,所以必须继承Serializablepackage rmi.model;import java.io.Serializable;//注意对象必须继承
2017-05-17 18:51:15
381
原创 jsf入门实例
百科上定义:引入了基于组件和事件驱动的开发模式,使开发人员可以使用类似于处理传统界面的方式来开发Web应用程序。提供了行为与表达的清晰分离。 不用特别的脚本语言或者标记语言来连接UI组件和Web层。JSF技术API被直接分层在Servlet API的顶端。 技术为管理组件状态提供一个丰富的体系机构、处理组件数据、确认用户输入和操作事件。如果之前使用过Struts或者SpringMVC那么就应该很清楚
2017-05-17 16:27:34
453
原创 CAS框架单点登录原理解析
单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS框架:CAS(Central Authentication Service)是实现SSO单点登录的框架。CSA中包括三个:A系统,B系统,CAS认证中心 用户首次登录时流程如下: 1)、用户浏览器访问系统A需登录受限资源,此时进行登录检查,发现未登录,然后进行
2017-05-16 19:35:33
9045
2
原创 servlet过滤器实现跨域Access-Control-Allow-Origin
1.定义过滤器接口Filter的实现类,实现类中修改respone的头信息,把 “Access-Control-Allow-Origin” 的域名修改问请求方的域名,如下:package filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; im
2017-05-16 16:25:50
12521
原创 javaWeb乱码解析
jsp从编写到浏览器显示经历四个阶段 1,编写完按下ctrl+s,jsp文件将保存到硬盘,在windows中文系统中将以GB2312保存。 2,jsp引擎以ISO8859-1解析为servlet 3,javac以utf-8编译 4,浏览器以GB2312展示。 因为ISO8859的存在,只要jsp有中文,必定乱码。JSP页面中加入pageEncoding和contentType两种属性:
2017-05-11 20:09:17
365
原创 angularjs请求头中x-requested-with XHR
XSS跨站脚本攻击见:http://blog.youkuaiyun.com/he90227/article/details/51491997 为增加安全性,服务器为cookie设置HttpOnly属性。对于Tomcat 7.0.x以上的版本,可以在应用的web.xml文件中增加如下配置:<session-config> <cookie-config> <http-only>true</
2017-05-04 19:04:15
1557
原创 jdk安装后没有配置环境变量也可以java -version
jdk安装后,没有配置环境变量,打开dos,输入java -version也可以显示java版本信息。 原因是:jdk安装过程,java、javaw、javaws三个命令被复制到C:\windows\system32目录下。 所以,如果运行命令javac,会提示“javac不是内部或外部命令”。
2017-04-08 15:32:07
5441
原创 bootatrap3下兼容ie8解决方法
bootstrap前端框架美观,而ie8是不兼容的。 兼容解决方案如下(以下改动不影响其它浏览器): 1.加上<!DOCTYPE html>2.加上<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" /><meta http-equiv="X-UA-Compatible" content="IE=8" />3.加上<!--
2016-07-29 11:50:32
1244
原创 易宝支付开发实现
支付流程通过http请求方式向易宝支付网关发起一个支付请求,简单地说就是向https://www.yeepay.com/app-merchant-proxy/node发起请求,请求可以是get或post方式提交,页面应采用GBK/GB2312编码。下面使用表单以post方式向易宝支付网关发起一个支付请求:<form name="yeepay" action="https://www.yeepay.
2016-06-12 18:54:08
5722
原创 java反射效率及优化
看了些博客,自己试一下并总结,如下:import java.lang.reflect.Method;import java.util.Date;class DemoClass{ public String firstName; private String endName; private Date birthDay; private String
2016-05-04 15:25:30
6250
3
原创 JedisConnectionException: java.net.ConnectException: Connection refused: connect
JedisConnectionException: java.net.ConnectException: Connection refused: connect 解决如下:Redis的配置文件redis.conf里bind 127.0.0.1 注释掉。 band localhost 只能本机访问,局域网内计算机不能访问Ubuntu 14.04下安装和配置redis数据库 1) 以root权
2016-05-03 22:00:51
9510
转载 Webservice理解
原文:http://blog.youkuaiyun.com/zhuizhuziwo/article/details/8153327WebServices简介 先给出一个概念 SOA ,即Service Oriented Architecture ,中文一般理解为面向服务的架构, 既然说是一种架构的话,所以一般认为 SOA 是包含了运行环境,编程模型, 架构风格和相关方法论等在内的一整套新的分布式软件系统构
2016-04-27 10:46:15
642
原创 ajax缓存与浏览器差异
在编写ajax时遇到问题,部署到服务器上和本地是一样的webapps,但运行服务器上代码出错,是缓存原因。 在大神教导下,原因总结如下:编写ajax时尽量使用jquery ajax, 它帮程序员屏蔽了浏览器的差异性IE浏览器空为”“,谷歌浏览器空为null function cellphone_show() { var cellphone = docume
2016-04-26 13:57:57
964
原创 搭建nginx与安装vsftpd提示530 Login incorrect
最近要搭建nginx服务器和ftp服务nginx服务器 在线安装 $sudo apt-get install nginx安装nginx依赖包运行命令: sudo apt-get install libssl-dev sudo apt-get install libpcre3 libpcre3-dev启动Nginx $sudo /etc/init.d/nginx startubuntu 14.
2016-04-25 16:06:46
1333
原创 Spring 简单IOC实现
PersonDao.javapackage cn.cc.pack;public interface PersonDao { public void add();}PersonDaoBean.javapackage cn.cc.pack;public class PersonDaoBean implements PersonDao { public void add(){
2016-04-11 22:21:50
419
原创 Leetcode || Longest Valid Parentheses
Given a string containing just the characters ‘(’ and ‘)’, find the length of the longest valid (well-formed) parentheses substring.For “(()”, the longest valid parentheses substring is “()”, which has
2016-02-01 14:13:53
469
原创 Leetcode || Evaluate Reverse Polish Notation
Evaluate the value of an arithmetic expression in Reverse Polish Notation.Valid operators are +, -, *, /. Each operand may be an integer or another expression.Some examples: [“2”, “1”, “+”, “3”, ““]
2016-02-01 12:32:53
417
原创 BeanCreationException及java.lang.IllegalArgumentException: Page directive: invalid value for import
错误1Error creating bean with name ‘mySessionFactory’ defined in class path resource [applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiatio
2016-01-27 19:12:08
565
原创 spring mvc --@
ItemList1.javapackage cc.sjtu.controller;import java.util.ArrayList;import java.util.List;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMappin
2016-01-22 16:32:23
434
原创 spring mvc --xml
springmvc框架 第一步:发起请求到前端控制器(DispatcherServlet) 第二步:前端控制器请求HandlerMapping查找 Handler 可以根据xml配置、注解进行查找 第三步:处理器映射器HandlerMapping向前端控制器返回Handler 第四步:前端控制器调用处理器适配器去执行Handler 第五步:处理器适配器去执行Handler 第六
2016-01-22 15:38:36
886
原创 spring AOP
1. 通过xml实现AOPbeans.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context
2016-01-21 20:34:56
460
原创 spring IOC
1. xml方式实现IOCbeans.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoc
2016-01-21 19:52:50
541
原创 mybatis--一对多
在orders.java类中添加List orderDetails属性。 最终会将订单信息映射到orders中,订单所对应的订单明细映射到orders中的orderDetails属性中。Orders.javapublic class Orders { private Integer id; private Integer userId; private String numbe
2016-01-21 19:38:00
431
原创 mybatis--一对一
使用resultMap将查询结果中的订单信息映射到Orders对象中,在orders类中添加User属性,将关联查询出来的用户信息映射到orders对象中的user属性中。Orders.javapublic class Orders { private Integer id; private Integer userId; private String number; pr
2016-01-21 19:15:56
483
原创 mybatis -- helloworld
加入jar包 加入mybatis核心包、依赖包、数据驱动包。 log4j.properties 在classpath下创建log4j.properties如下:# Global logging configurationlog4j.rootLogger=DEBUG, stdout# Console output...log4j.appender.stdout=org.apache.log
2016-01-12 10:11:08
400
原创 二叉查找树
package cc.stack.application;class Node { int val; Node lchild; Node rchild; public Node(int var) { this.val = var; }}public class Main1 { /* * 若二叉树是空树,则查找失败 *
2016-01-10 21:08:57
484
原创 二叉树
package cc.tree.application;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;class Node { char val; Node lchild; Node rchild; public Node(char var) {
2016-01-10 17:59:15
399
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人