自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

子龙

技术没有终点

  • 博客(23)
  • 收藏
  • 关注

原创 spring mvc、meven结合mybatis

mybatis可以说是一个很不错的数据库操作库,相比于hibernate来说,mybatis更加灵活,需要自己写sql语句来实现数据库的操作,但是可以把全部的数据库操作语句都放在一起管理,这样就避免了我们将要去代码里面找到sql语句,然后在执行相应的优化和修改的步骤,而且hibernate不能自己配置sql语句,对于小型项目来说,可能是很不错的选择,但是当我们需要自己优化项目的时候,就会出现捉襟见肘

2017-04-16 11:45:48 516

原创 spring mvc使用validate校验

在spring mvc中我们对于前端请求过来的参数都需要进行相应的校验才将它存入数据库才对,这样会减少对于数据库校验的负担,但是要是我们使用硬编码的形式来实现数据的校验的话,就要有很多的编码,在spring mvc中我们可以使用注解的形式来实现对于数据的校验,我们可以实现类似下面的校验方式了user modal上// 对数据属性设置成不能为空,或者 MAX等@NotBlank(message="登

2017-04-09 21:51:53 2275

原创 spring mvc跨域请求处理

我们现在开发的应用一般都会将前台和后台进行数据传输,或者是我们的应用服务器需要提供数据给多个应用使用的时候,要注意的是跨域是浏览器设置的一个安全策略,也就是说,要是我们的服务不是提供给浏览器使用的,就不需要考虑跨域的问题,当然要是我们进行的是web应用的开发的话,就要关注跨域的问题了浏览器对不同域名的请求的处理是,先发送一个options的请求,该请求只是单纯的将服务器的响应头和我们的请求头进行比较

2017-04-08 23:41:40 420

原创 线程的各种函数

java的线程操作还给了我们很多方便的函数来对当前运行的线程进行处理,比如:Thread.isAlive()//判断当前线程是否存活Thread.getName()//获取进程的名字Thread.sleep()//让当前线程睡眠多少时间Thread.interrupt() //设置线程的状态为中断Thread.interrupted() //判断线程是否是中断状态,并且将状态设置为非中断状态Thre

2017-04-08 21:44:51 401

原创 线程安全

线程安全,主要存在于多个线程访问同一个对象中的实例变量所导致的数据不同步的问题,要是在方法内部才使用到的局部变量,是不会导致线程安全的使用synchronized关键字锁住的是实例对象,要是synchronized关键字修饰的是方法名,那么多个线程只有访问相同的方法时才需要等待锁的释放,也就是说其他线程可以访问没有用synchronized修饰的方法synchronized锁的重入也就是说一个线程在

2017-04-08 21:43:59 218

原创 线程的数据共享和不共享

我们都知道java会为每一个对象都会创建自己的局部变量和堆空间,所以要想线程的数据不共享,最直接的方式就是在每个线程中运行的代码都不是同一个实例对象就好了

2017-04-08 21:42:51 1820

原创 线程的介绍和创建方式

首先要说一下多线程是什么我们都知道在操作系统中程序的运行是以进程为单位的,也就是说我们每运行一段程序代码都是在启动了一个进程,进程是操作系统中的任务调度的基本单位,每个进程有自己独立的运行空间线程则是在进程里面为了尽最大可能使用计算机cpu而提供的一些api接口,就是在进程中执行的子任务,这些不同的任务和功能都能并行运行,并且可以共享进程中的工作空间,比如变量空间,堆空间等,使用了线程我们就不必在每

2017-04-08 21:40:11 314

原创 react-native android环境开发踩坑之旅

我们希望使用安卓模拟器来实现react-native的安卓开发,按照官网的教程对环境进行了配置:http://reactnative.cn/docs/0.27/getting-started.html但是步骤进行到react-native run-android的时候,发现项目启动不起来,报的错误是没有连接到虚拟机即使配置了android的环境变量也是不行,按照官网打开android

2016-06-24 10:18:26 362

原创 nodejs实现命令行工具(三)

在得到命令行传入的数据之后,使用handlebars的模板引擎来将,数据按一定的格式写入到模板里面,然后输出成相应的文件即可首先我们需要读取模板文件,使用fs模块的readfile函数function readFileByq(sources){ var deffered = q.defer(); fs.readFile(sources, 'utf8', function(err, d

2016-03-02 14:35:29 644

原创 nodejs实现命令行工具(二)

在完成了核心的步骤处理的函数之后我们需要对命令行参数进行处理,以判断是执行哪个命令可以使用process.argv来对命令行参数进行处理,也可以使用commander库来对命令进行解析使用commander库,可以方便我们对命令进行处理,可以采用链式的操作方式,通过npm install commander --save来下载库#!/usr/bin/env node'use stric

2016-02-26 14:50:32 2410

原创 nodejs实现命令行工具(一)

要实现一个类似bower init的问答式命令行工具,要通过process来和命令行进行交互通过process.stdout的输出流来对输出进行控制process.stdout.write();将内容输出到命令行上面通过process.stdin的输入流来对输入进行控制需要使用process.stdin.resume();重置输入流,来打开输入流然后通过process.std

2016-02-26 12:06:27 1401

原创 nodejs+express实现文件上传

最近项目上要使用到文件上传的功能,因为使用了express框架,所以考虑到

2015-11-20 11:36:35 1741 1

原创 angularjs中service、factory和provider的区别

在angularjs中我们使用服务来将一些公共的实体对象封装在一个地方,让我们在单页应用的其他其他控制器、指令中进行使用,把一些的公共的实例

2015-11-13 14:30:20 797

转载 高效canvas绘图框架——zrender

一个轻量级的Canvas类库,MVC封装,数据驱动,提供类Dom事件模型,让canvas绘图大不同ArchitectureMVC核心封装实现图形仓库、视图渲染和交互控制:Stroage(M) : shape数据CURD管理Painter(V) : canvase元素生命周期管理,视图渲染,绘画,更新控制Handler(C) : 事件交互处理,实现完整dom事件模拟封

2015-11-03 11:50:58 16193

转载 在服务器上用Fiddler抓取HTTPS流量

Fiddler是Eric Lawrence编写的HTTP抓包软件。Fiddler工作在应用层上,作为其他程序的HTTP代理服务器。它可以直接抓取并分析HTTP流量,也可以作为“中间人”抓取并分析HTTPS流量。Fiddler抓取HTTPS流量的原理TLS是一种端到端的传输层加密协议,是HTTPS协议的一个组成部分。访问HTTPS站点时,HTTP请求、响应都通过TLS协议在浏览器和服

2015-10-28 10:28:17 1300

转载 Cookie深度解析

本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/20466351,转载请注明。       最近在公司做了Web端单点登录(SSO)功能,基于Cookie实现,做完之后感觉有必要总结一下,本文着重讲解Cookie,下文会说明单点登录的实现方案。Cookie简介       众所周知,Web协议(也就是H

2015-10-27 23:51:12 317

转载 获取元素的页面位置

/** *获取页面元素的滚动位置 @param {DOM} el Dom元素 *return {Object} 元素滚动位置对象 */ function getScroll (el) { var d = el, doc = document,

2015-10-26 16:14:16 332

原创 jquery实现无刷新提交表单

使用ajax设置一个表单,如:    监听.submit事件,可以在触发表单提交时的事件,通过return false或者event.preventDefault()来阻止默认的表单提交事件即:$("#myForm").submit(function(e){    //一般使用return fasle来阻止表提交和刷新页面的事件

2015-10-26 14:50:22 1029

原创 express框架初探

一、构建express项目1、通过npm install express来安装express框架2、通过require来依赖一个express框架   var express=reqiure("express");   var app=new express();//通过构造函数来构造一个express框架   app.listen("80");//监听一个端口二、处理请求

2015-10-26 14:46:14 312

原创 log4js日志文件库的使用

log4js日志文件模块,可以帮助我们将系统的日志写到一个文件里面,同时可以对错误日志进行相应的分类,部署和使用起来都比较方便,npm install log4js在入口文件里面使用var log4js = require("log4js");//配置文件log4js.configure({    appenders:[{        type:"co

2015-10-26 14:44:41 892

转载 html5跨域通信

HTML5 web通信(跨文档通信/通道通信)简介一、简单概要web通信(洋名:web messaging)是一种文档中独立的浏览上下文间的DOM不会被恶意的跨域脚本暴露数据分享方式。得得得,术语啊什么的,比看到凤姐还头疼。有必要把上面一句话拆开讲:web通信是一种数据分享方式(有屁话之嫌);通信的主体是“浏览上下文”(这是纳尼?);哦,“浏览上下文”呢是“一个将 Do

2015-10-26 14:35:36 524

原创 node-mysql使用

使用node连接mysql数据库,首先需要安装mysql数据库和node,在程序中安装连个依赖包mysql和node-mysqlnpm install mysqlnpm install node-mysql在将mysql包require进去var mysql = require('mysql');var conn = mysql.createConnection({//设置端

2015-10-21 12:18:16 942

原创 angularjs自定义表单验证

在使用angularjs的表单验证的时候,往往需要我们进行一些自定义的表单验证功能,因为里面提供的表单验证功能不能满足我们的需求我们可以通过指令的方式来实现自定义的表单验证的功能 登录 在验证用户名的输入框中,我们使用一个自定义的指令,来远程验证我们的用户名是否存在

2015-10-21 10:57:44 3427

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除