Java后台
茁然-v
http://blog.csdn.net/liaozhongping,不积跬步无以至千里,不积小流无以成江海
展开
-
微信小程序使用Socket
首先,一个小程序同时只能有一个WebSocket连接,如果当前已经存在一个WebSocket连接,会关闭当前连接,并重新建立一个连接。其次,如果使用了appID,协议必须是 wss://... 最近团队用小程序做行情,在连接socket的时候,发现在还没有进行subscribe的情况下,就直接进行了广播,并且自动关闭了socket连接,时间紧迫,抓耳挠腮,遂引用了socke转载 2017-09-15 10:47:16 · 5941 阅读 · 0 评论 -
Web.xml配置详解
1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。DOCYTPE声明必须立即出现在此头之后。这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义)。所有部署描述符文件的顶层(根转载 2015-09-19 04:04:12 · 368 阅读 · 0 评论 -
iBatis小结
1、iBATIS教程之like语句的写法浅析:总结:(1)变量'%$name$%' (2)字符串'%name%'(3)关于数据库字符串连接符简单列举我使用过的一些数据库如下图: iBATIS教程之like语句的使用我们可以先看看网上搜了一下iBATIS的关于like的使用select * from USERS where USER_NAME转载 2015-09-19 04:05:12 · 348 阅读 · 0 评论 -
java中static 静态代码块
初始化,比起构造方法他更方便,能在里面像一般写程序那样书写你想利用或表达的逻辑,比如,一般情况下构造方法里你是不能调用一般非静态类的方法的,而静态代码块里可以持有某一类的引用而使用一般的方法,这样大大简化了代码,而又起到了初始化的效果。(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启转载 2015-09-19 04:05:40 · 378 阅读 · 0 评论 -
Java关键字及其作用
一、 关键字总览:访问控制privateprotectedpublic类,方法和变量修饰符abstractclassextendsfinalimplementsinterface原创 2015-09-19 04:06:30 · 771 阅读 · 0 评论 -
Spring的@RequestMapping 用法详解之地址映射
简介:@RequestMappingRequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。RequestMapping注解有六个属性,下面我们把她分成三类进行说明。1、 value, method;value: 指定请求的实际地址,指定的地址可以是URI Temp转载 2015-09-19 04:07:23 · 1366 阅读 · 0 评论 -
RESTful 设计模式
概述 REST是英文Representational State Transfer的缩写,中文翻译:表述性状态转移。 他是由Roy Thomas Fielding博士在他的论文 《Architectural Styles and the Design of Network-based Software Architectures》中提出的一个术语。 R转载 2015-09-19 04:07:36 · 1250 阅读 · 0 评论 -
spring jar包详解
1、 Spring2.0压缩包目录说明aspectj目录下是在Spring框架下使用aspectj的源代码和测试程序文件。Aspectj是java最早的提供AOP的应用框架。dist 目录下是Spring 的发布包,关于发布包下面会详细进行说明。docs 目录下是相关的文档,包括有Spring api 的javadoc、reference 参考指南、Spring的标签库使用原创 2015-09-19 04:07:55 · 346 阅读 · 0 评论 -
SpringMVC工作原理
上面的是springMVC的工作原理图:1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.2、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数C转载 2015-09-19 04:08:25 · 334 阅读 · 0 评论 -
Struts 2 Web开发学习实录--总结
第一章1 Struts 2简介 Struts 2控制器可以分为核心控制器与业务控制器。Struts 2的核心控制器是FilterDispatcher,业务控制器是Action。其中,核心控制器在Web应用中负责拦截所有的用户请求。Struts 2框架提供了强大的标签库,通过这些标签库,可以大大减小JSP页面的代码编写。而且,Struts 2的标签库并不只是提供了表现层数据处理,还提原创 2015-09-20 00:33:52 · 995 阅读 · 0 评论 -
用MapReduce查找100万个数中的最大值
//用MapReduce查找100万个数中的最大值public class TopKApp { static final String INPUT_PATH = "hdfs://chaoren:9000/input"; static final String OUT_PATH = "hdfs://chaoren:9000/out"; public static原创 2015-09-23 02:13:10 · 2079 阅读 · 0 评论 -
Dubbo入门实例
1. 概述Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案主要核心部件Remoting: 网络通信框架,实现了sync-over-async 和 request-response 消息机制.RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能Registry: 服务目录框架用于服务的注册和转载 2015-09-19 04:03:35 · 1736 阅读 · 0 评论 -
dubbo的安装和使用(这种通信可以对比下RPC通信)
随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越原创 2015-09-19 04:03:12 · 498 阅读 · 0 评论 -
关于base64编码的原理及实现
我们的图片大部分都是可以转换成base64编码的data:image。 这个在将canvas保存为img的时候尤其有用。虽然除ie外,大部分现代浏览器都已经支持原生的基于base64的encode和decode,例如btoa和atob。(将canvas画布保存成img并强制改变mimetype进行下载,会在下一篇记录)但是处于好奇心,还是驱使我去了解下base64编码的原理。以便也在不支持转载 2017-03-31 12:18:52 · 412 阅读 · 0 评论 -
java防止 csrf 攻击 --- 采用 spring .
事实上在我经历过的银行项目开发过程中,基本都会采用 spring 框架,所以完全可以不用自己开发 filter 去拦截 csrf 攻击的请求,而直接采用实现 spring 提供的 HandlerInterceptor 来实现。 从本质上来说,这也是一个 filter. 我这里就直接实现它来 防止 csrf 攻击.基本思路:1. 用户登录之后,后台程序生产一个 csrftoken原创 2015-09-22 09:01:04 · 9347 阅读 · 1 评论 -
注解的作用与Spring的常用注解
一、注解的作用1、生成文档。这是最常见的,也是java 最早提供的注解。常用的有@see @param @return 等2、跟踪代码依赖性,实现替代配置文件功能。比较常见的是spring 2.5 开始的基于注解配置。作用就是减少配置。现在的框架基本都使用了这种配置来减少配置文件的数量。以后java的程序开发,最多的也将实现注解配置,具有很大用处;3、在编译时进行格式检查。原创 2015-09-19 04:06:48 · 8013 阅读 · 1 评论 -
github的基本使用
github是目前流行的代码托管网站。github.com是一个网站,它为你提供一个远程版本库(你和你的协作者的工作成果最终提交在这里);同时它也是一个共享平台,你可以在这里找到数不尽的源码。关于github的安装和使用(windows系统的),参考官方文档。https://help.github.com/articles/set-up-git 使用流程转载 2015-09-21 00:08:19 · 378 阅读 · 0 评论 -
ORACLE常用SQL语句大全
ORACLE常用SQL语句大全一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', '转载 2015-09-20 00:34:12 · 8406 阅读 · 0 评论 -
浏览器URL编码
尽管有很多规范URL的标准,例如RFC 3987,但实际应用中却非常混乱。本文主要介绍浏览器发送URL到服务器的一些特性,作为开发和应用的参考。通常浏览器会用两种编码方式发送URL到服务器,分别是UTF-8和ANSI(当前系统语言设置,在Windows系统中可以理解为当前代码页)。接下来分别介绍几种常用浏览器发送URL的编码特性。一、直接在地址栏输入URL的情况中文Wind转载 2015-09-18 10:36:06 · 1165 阅读 · 0 评论 -
自己开发实现OAuth做webapi认证
一、作为认证服务器,首先需要提供一个可以通过appid/appsecret来获取token这样的一个接口,于是便有了以下代码。 public class AuthController : ApiController { [HttpGet] public HttpResponseMessage Token(string appid =转载 2015-10-31 12:19:32 · 2869 阅读 · 0 评论 -
Sizeof与Strlen的区别与联系
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所原创 2015-09-19 04:01:42 · 360 阅读 · 0 评论 -
Maven的安装、配置及使用入门
1、命令:(1)mvn clean compile (编译到target/目录,compile插件支持Java5的编译,surefile负责执行测试的插件,jar插件执行打包)(2)maven执行测试:mvn clean test\(3)打包与运行:maven clean package(4)其他的maven项目用已经打好的JAR包(maven clean i转载 2015-09-19 04:02:28 · 701 阅读 · 0 评论 -
Eclipse.ini的相关说明
Eclipse的启动由$ECLIPSE_HOME/eclipse.ini控制,如果$ECLIPSE_HOME 没有被定义,则Eclipse安装目录下的默认eclipse.ini会生效。eclipse.ini是一个文本文件,其内容相当于在Eclipse运行时添加到 Eclipse.exe之后的命令行参数。其格式要求:1:所有的选项及其相关的参数必须在单独的一行之内2:原创 2015-09-19 04:02:51 · 491 阅读 · 0 评论 -
hadoop2
(1)hadoop2课程内容1.体系结构、源码编译 HDFS+MapReduce。共同点都是分布式的,主从关系结构。 HDFS是包括主节点NameNode,只有一个;还有从节点DataNode,有很多个。 NameNode含有我们用户存储的文件的元数据信息。把这些数据存放在硬盘上,但是在运行时是加载在内存中的。 hadoop1中的hdfs的缺点:原创 2015-09-23 02:16:58 · 419 阅读 · 0 评论 -
同步与异步的区别
异步与同步的区别:异步传输是面向字符的传输,它的单位是字符;而同步传输是面向比特的传输,它的单位是桢,它传输的时候要求接受方和发送方的时钟是保持一致的。具体来说,异步传输是将比特分成小组来进行传送。一般每个小组是一个8位字符,在每个小组的头部和尾部都有一个开始位和一个停止位,它在传送过程中接收方和发送方的时钟不要求一致,也就是说,发送方可以在任何时刻发送这些小组,而接收方并不知道它转载 2015-07-25 15:09:29 · 979 阅读 · 0 评论 -
jrebel
JRebel(javaRebel )是一套JavaEE开发工具。JRebel是一套JavaEE开发工具。JRebel允许开发团队在有限的时间内完成更多的任务修正更多的问题,发布更高质量的软件产品。 JRebel是收费软件,用户可以在JRebel官方站点下载30天的评估版本。Jrebel 可快速实现热部署,节省了大量重启时间,提高了个人开发效率。网上可搜索到破解原创 2015-09-22 09:05:06 · 1337 阅读 · 0 评论 -
淘宝开发的系统监控工具 Tsar 安装配置详解
Tsar介绍Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告工具,如收集服务器的系统信息(cpu,mem等),以及应用数据(nginx、swift等),收集到的数据存储在服务器磁盘上,可以随时查询历史信息,也可以将数据发送到nagios报警。Tsar能够比较方便地增加模块,只需要按照 tsar 的要求编写数据的采集函数和展现函数,就可以把自定义的模块加入到tsar中。原创 2015-09-22 09:07:08 · 669 阅读 · 0 评论 -
Spring2.0核心技术与最佳实践---总结
第1节 初识Spring || 第2章 Spring快速入门1 Spring与EJB的区别(1)Spring摈弃了EJB这种重量级的组件,以JavaBean作为组件实现一个轻量级框架。(2)EJB3.0的出现不会终结Spring。EJB3.0仍仅仅是一个中间件,它不是一个全面的Java EE框架。 2 Spring框原创 2015-09-22 09:11:03 · 2888 阅读 · 0 评论 -
flume基础知识
1.flume是分布式的日志收集系统,把收集来的数据传送到目的地去。2.flume里面有个核心概念,叫做agent。agent是一个java进程,运行在日志收集节点。3.agent里面包含3个核心组件:source、channel、sink。3.1 source组件是专用于收集日志的,可以处理各种类型各种格式的日志数据,包括avro、thrift、exec、jms、spoo原创 2015-09-23 02:08:06 · 499 阅读 · 0 评论 -
HDFS的java操作方式
HDFS的java操作方式(1)使用协议方式访问hdfs上的文件(模仿http)public class App1 { // 访问的文件路径 static final String PATH = "hdfs://chaoren:9000/hello"; public static void main(String[] args) throws原创 2015-09-23 02:10:50 · 539 阅读 · 0 评论 -
RPC远程过程调用
1.RPC1.1 RPC (remote procedure call)远程过程调用.远程过程指的是不是同一个进程。1.2 RPC至少有两个过程。调用方(client),被调用方(server)。1.3 client主动发起请求,调用指定ip和port的server中的方法,把调用结果返回给client。1.4 RPC是hadoop构建的基础。2.原创 2015-09-23 02:11:40 · 675 阅读 · 0 评论 -
网络协议小结
物理层:以太网 · 调制解调器 · 电力线通信(PLC) · SONET/SDH · G.709 · 光导纤维 · 同轴电缆 · 双绞线等数据链路层:Wi-Fi(IEEE 802.11) · WiMAX(IEEE 802.16) ·ATM · DTM · 令牌环 · 以太网 ·FDDI · 帧中继 · GPRS · EVDO ·HSPA · HDLC · PPP · L原创 2015-07-27 22:48:33 · 350 阅读 · 0 评论 -
git基本操作
git基本操作取得项目的仓库1)在工作目录中初始化新仓库git init2)从现有仓库克隆git clone git://github.com/realwall/realwall.git [重命名]这里采用的是git协议,也可以是其他,如http(s)将当前目录下的文件纳入版本控制git add *.cgit add READMEgit comm原创 2015-09-24 02:35:48 · 394 阅读 · 0 评论 -
Gson解析数组多类型元素
本文的出现是为了解决以下需求:使用Gson对json数组进行解析,但是数组里面元素的类型是多种的。数据如下:{"list":[{ "type":0, "data":{ "id":1, "color":"red" }},{ "type":1, "data":{ "id":1, "na转载 2015-10-31 12:29:18 · 2033 阅读 · 1 评论 -
java 防止 XSS 攻击的常用方法
1. 自己写 filter 拦截来实现,但要注意的时,在WEB.XML 中配置 filter 的时候,请将这个 filter 放在第一位.2. 采用开源的实现 ESAPI library ,参考网址: https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API3. 可以采用spring 里面提供的工具类来原创 2015-09-22 09:00:03 · 13326 阅读 · 0 评论 -
Java泛型
在Java SE1.5中,增加了一个新的特性:泛型(日本语中的总称型)。何谓泛型呢?通俗的说,就是泛泛的指定对象所操作的类型,而不像常规方式一样使用某种固定的类型去指定。泛型的本质就是将所操作的数据类型参数化,也就是说,该数据类型被指定为一个参数。这种参数类型可以使用在类、接口以及方法定义中。 一、为什么使用泛型呢? 在以往的J2SE中,没有泛型的情况下,通常是使用原创 2015-09-22 08:58:23 · 332 阅读 · 0 评论 -
版本控制系统小结
Visual Source Safe(简称VSS)VSS是美国微软公司的产品,目前常用的版本为6.0版。VSS是配置管理的一种很好的入门级的工具。易学易用是VSS的强项,VSS采用标准的windows操作界面,只要对微软的产品熟悉,就能很快上手。VSS的安装和配置非常简单,对于该产品,不需要外部的培训(可以为公司省去一笔不菲的费用)。只要参考微软完备的随机文档,就可以很快的用到实际原创 2015-09-20 00:34:28 · 995 阅读 · 0 评论 -
Java中解决中文乱码问题的一种方法
第一种:请求数据与页面编码不一致中文乱码的原因:请求参数的文字编码方式与页面中的不一致所造成,所有的request请求都是ISO-8859-1的,而如果在此页面采用UTF-8的编码方式,就需要将获取到的数据通过String的构造方法使用指定的编码类型重新构造一个String对象,即可正确地显示中文信息。例如:”show.jsp?name=张三&sex=男”>转载 2015-09-20 00:35:56 · 1024 阅读 · 0 评论 -
Tengine介绍
简介Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。从2011年12月开始,Tengine成为一个开源项目,Tengine团队在积极地开发和维护着它。Tengine团队的核心原创 2015-09-22 09:06:16 · 1765 阅读 · 0 评论 -
path与classpath区别
1.path的作用 path是系统用来指定可执行文件的完整路径,即使不在path中设置JDK的路径也可执行JAVA文件,但必须把完整的路径写出来,如C:\Program Files\Java\jdk1.6.0_10\bin\javac TheClass.java。path是用来搜索所执行的可执行文件路径的,如果执行的可执行文件不在当前目录下,那就会依次搜索path中设置的路径;而ja转载 2015-09-21 00:07:19 · 397 阅读 · 0 评论