- 博客(41)
- 收藏
- 关注
转载 wm_concat替换方法
转自:https://blog.youkuaiyun.com/m0_37548754/article/details/78553037第一步:CREATE OR REPLACE TYPE en_concat_im AUTHID CURRENT_USER AS OBJECT( CURR_STR VARCHAR2(32767), STATIC FUNCTION ODCIAGGREGATEINITIA...
2018-11-28 14:50:15
3577
原创 spring自定义注解
通用功能(比如参数验证,登录验证),每次都要写一串代码,太冗余。所以添加自定义注解,通过注解来实现这些通用功能。核心是利用拦截器。以登录验证为例,效果如下 @RequestMapping(value = "/atteststatus") @ResponseBody @LoginRequired public OpEntityResult<UsersAttestStatus...
2018-03-15 11:11:00
1695
原创 利用spring aop拦截并获取@ResponseBody数据
拦截请求有很多种方法,最简单的用拦截器,但是拦截器并不能获取返回的数据(比如@ResponseBody),上网找了一段时间,可以利用spring的AOP特性拦截并获取,还能修改返回的数据。准备<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.8.9</ve
2017-09-05 11:07:57
12435
4
原创 redis 锁
redis的setNX [SET if Not Exists] 方法,可以利用它来实现锁的效果场景一: 防重复提交实现思路: 提交方法开始设置setNX,返回1,成功,设置过期时间,继续执行方法,最后删除锁; 返回0,return场景二: 加锁,形成队列实现思路: 提交方法开始设置setNX,返回1,成功,设置过期时间,继续执行方法,最后删除锁; 返回0,休眠一秒(比如),设置setNX,返回1
2017-07-05 17:15:28
538
原创 关于使用spring注解注入静态属性
1. 使用场景一般需要在一个工具类中使用@Autowired 注解注入一个service。但是由于工具类方法一般都写成static,所以直接注入就存在问题。2. 解决方法方法1@Componentpublic class BooUtil { private static Foo foo; @Autowired public BooUtil(Foo foo) {
2017-06-15 11:44:30
640
转载 Mybatis Mapper动态代理方法 即 只写Dao接口 不谢Dao的实现类
文章转载自:http://blog.youkuaiyun.com/liuqiang211/article/details/47338895Mapper动态代理方法:程序员只需要写dao接口(Mapper),而不需要写dao实现类,由mybatis根据dao接口和映射文件中statement的定义生成接口实现代理对象。可以调用代理对象方法。 Mybatis官方建议:将dao接口叫做mapper。
2017-05-17 11:46:22
512
原创 通过redis使双系统session共享的解决思路
1.背景条件两个系统A和BA为主,B为次登录入口是A2.共享登录逻辑流程(不使用session)A登录时,生成一个随机码token,例如UUID将token做为key,userId做为value,存入redis,设置过期时间将token存入cookie,设置过期时间,设置domainA,B系统通过cookie获取token,然后从redis获取userId注销时,删除redis中的
2017-05-11 11:19:59
1182
原创 mybatis调用存储过程
1.添加依赖jar<dependency> <groupId>com.github.miemiedev</groupId> <artifactId>mybatis-callable</artifactId> <version>1.0</version></dependency>2.添加配置mybatis-config.xml中<plugins> <!-- 分页插件
2017-05-11 09:56:52
380
原创 spring+shiro 配置使用(完整代码篇)
web安全框架,shiro相比spring security,更轻量级,配置简单易懂,小巧灵活,功能强大,和spring完美结合,shiro上手超级简单,一看就懂,但如果需求较为复杂,仍需要细细研究其中原理,灵活配置。本人才疏学浅,本文仅涉及登录验证,动态权限验证,后面有机会再慢慢研究。引入Shiro的Maven依赖<dependency> <groupId>org.apache.shiro
2016-09-07 12:37:08
2231
原创 jsonp跨域原理及使用
在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的。但是,在页面上引入不同域上的js脚本文件却是可以的,jsonp正是利用这个特性来实现的。jsonp通过script标签引入一个js文件,这个js文件载入成功后会执行我们在url参数中指定的函数,并且会把我们需要的json数据作为参数传入。所以jsonp是需要服务器端的页面进行相应的配合的。知道jsonp跨域的原理后
2016-09-07 10:42:59
479
原创 mybatis+spring遇到的一点问题(不定更新)
事务相关<!-- 事务 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> <
2016-09-07 10:18:29
1054
原创 log4j配置和mybatis sql打印
项目重构,搭个新框架,日志必不可少,之前一直都是别人配好自己用,这次自己配,费了不少时间,记录一下。Log4j步骤:jar包 <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> <scope>runtime</scope
2016-07-29 17:39:44
995
原创 HTML文档处理(java)
公司让我把一段HTML文档中的其中一段table替换掉, 两种方案:正则表达式 和 通过java读取。实力不济,正则写不出来,后来度娘告诉我,jsoup是个好东西,看了一下API,风格类似jQuery读取文档,是熟悉jQuery童鞋的福音,轻便好用,拿来主义。英语好的童鞋: https://jsoup.org/apidocs/ 中文好的童鞋:http://www.open-open.com/jso
2016-06-13 10:57:34
429
原创 java 调用webservice接口
/** * * 远程调用webservice 接口 * * @param url * @param namespace * @param methodName * @param paraNames参数名称 * 请与参数值,一一对应 * @param paraValeus *
2016-03-02 10:12:29
334
原创 spring自定义异常处理
项目运行过程中出现错误后,希望页面跳转到一个通用的错误页面。 spring提供了一个接口HandlerExceptionResolver,自己实现这个接口即可。java代码如下:package com.wx.exception;import java.io.IOException;import java.io.PrintWriter;import java.util.HashMap
2016-02-01 17:11:16
490
原创 java 发送http请求
最近做微信,需要发送很多的http请求获取json格式的返回信息 /** * * java http请求获取json * * @param requestUrl * @param requestMethod * @param outputStr * @return */ public static JS
2015-12-08 18:04:50
368
原创 web项目启动完成执行某个方法
spring注入bean执行类:@Transactionalpublic class LoadActivityAfterStart implements ApplicationListener { public void onApplicationEvent(ContextRefreshedEvent event) { if (event.
2015-12-03 11:19:29
692
原创 spring 定时任务配置
需要jar包,maven依赖org.quartz-schedulerquartz2.2.1org.quartz-schedulerquartz-jobs2.2.1 spring 配置
2015-12-03 11:13:29
419
转载 雅虎WEB前端网站优化 -- 34条军规
雅虎给出了优化网站加载速度的34条法则(包括Yslow规则22条) 详细说明,下载转发 ponytail 的译文(来自帕兰映像)。1.Minimize HTTP Requests 减少HTTP请求图片、css、script、flash等等这些都会增加http请求数,减少这些元素的数量就能减少响应时间。把多个JS、CSS在可能的情况下写进一个文件,页面里直接写入图片也是不好的做法
2015-12-03 11:07:59
352
原创 node.js+express+mongodb+webstorm 相关安装(windows)
最近公司没事情,一直在自学nodejs,想把学习收获记录下来,供以后参考使用。node.js安装官网下载 https://nodejs.org/en/,直接安装,安装完成以后,打开cmd,输入node –version命令,显示版本号说明安装成功。express打开cmd,输入npm install express 自动下载mongodb官网下载 www.mongo.org,直接下载安装,比如安装
2015-11-24 11:23:04
1647
原创 node.js 相关软件linux安装
epel--安装命令: yum install epel-release测试:nodejs--安装命令: yum install nodejs测试:node --versionmongodb服务端--安装命令: yum install mongodb-servermongodb客户端--安装命令: yum install mongodb测试:mongo
2015-11-06 16:04:14
328
转载 js中几种实用的跨域方法原理详解
转载自:http://www.cnblogs.com/2050/p/3191744.html这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。下表给出了相对http://store.company.com/dir/
2015-10-30 11:33:51
305
转载 Java并发编程:线程池的使用
Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?
2015-09-21 17:47:27
291
转载 ThreadPoolExecutor使用和思考-线程池大小设置与BlockingQueue的三种实现区别
前记: jdk官方文档(javadoc)是学习的最好,最权威的参考。文章分上中下。上篇中主要介绍ThreadPoolExecutor接受任务相关的两方面入参的意义和区别,池大小参数corePoolSize和maximumPoolSize,BlockingQueue选型(SynchronousQueue,LinkedBlockingQueue,ArrayBlockingQueue);
2015-09-21 17:26:36
293
转载 JAVA的多线程
当计算机处于DOS时代时,程序几乎是没有界面的,而且由于计算机运行速度等原因,那个时代的计算机只能启动一个程序,只有当该程序退出以后才可以执行其它的程序。但是随着计算机性能的提高,以及软件的丰富,如果计算机还只能同时执行一个程序的话,那么计算机恐怕是很多人都不能接受的。 这种在任何一个时间点,可以有多个程序同时执行,或者有多个程序逻辑同时执行的能力,成为并发执行。
2015-09-11 16:44:30
258
转载 JAVA多线程的问题以及处理
多线程编程为程序开发带来了很多的方便,但是也带来了一些问题,这些问题是在程序开发过程中必须进行处理的问题。 这些问题的核心是,如果多个线程同时访问一个资源,例如变量、文件等,时如何保证访问安全的问题。在多线程编程中,这种会被多个线程同时访问的资源叫做临界资源。 下面通过一个简单的示例,演示多个线程访问临界资源时产生的问题。在该示例中,启动了两个线程类
2015-09-11 16:41:58
564
转载 线程学习总结(volatile、synchronized、ThreadLocal)
1、线程内存访问机制 当线程访问某个对象的值的时候,首先通过对象的引用找到对应在堆内存的变量的值,然后把堆内存变量的具体值load到线程本地内存中,建立一个变量副本,之后线程就不再和对象在堆内存变量值有任何关系,而是直接修改副本变量的值,在修改完之后的某一个时刻(线程退出之前),自动把线程变量副本的值回写到对象在堆中变量。 2、volatile关键字 用v
2015-09-10 16:10:36
335
转载 高并发量网站解决方案
一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的ht
2015-09-10 15:48:14
366
转载 js排序
首先下载jquery.sortElements.js //按照部署时间排序 var table = $('#mytable');//table的id $('#sort_header').each(function(){//要排序的headerid var th = $(this), thIndex = th.index(), inver
2015-07-20 10:46:15
376
原创 截取带有样式的简介方法
/** content : 带有样式的内容 textContent: 不带样式的内容(用来取此内容长度) length: 需要截取多少长度的内容**/public String getSubContent(String content,String textContent,Integer length) throws IOException, ParserException { St
2015-07-20 10:46:12
271
转载 ckfinder 2.3 破解
CKFinder是一个易于使用的Ajax文件管理器。提供文件夹树形结构(Folders tree)导航菜单,多语言支持(自动探测用),支持创建/重命名/删除文件和文件夹,集成FCKeditor在线编辑器。但他是收费的哦,想不给钱呀那得跟我学一点ckfinder 2.3 破解:1、ckfinder/ckfinder.js 删除两处js代码: if(a.bF&&1==a.bs.indexOf(
2015-07-20 10:46:09
1800
原创 jquery checkbox选择框公用方法
/** * allCheck:check框总开关按钮选择器 * subname:子check框input的name名 */function checkAllHandle(allCheck, subname){ $(allCheck).click(function() { if($(this).is(":checked")){ $('input[name="' +subname+ '"]:en
2015-07-20 10:46:04
323
转载 (转)eclipse 中创建maven web项目
Maven的Eclipse插件m2eclipse在线安装地址 http://m2eclipse.sonatype.org/sites/m2e;我又试了link方式安装也没什么作用,不知怎么回事?还有让webapp显示到最上层的WTP插件http://m2eclipse.sonatype.org/sites/m2e-extras下面介绍方法一、创建新Maven Web项目1.新建Maven Proj
2015-07-20 10:46:02
247
原创 右下角动态弹出框,不随滚动条滚动
//CSS body { background:#333333;} #winpop { width:200px; height:0px; position:fixed; right:0; bottom:0; border:1px solid #999999; margin:0; padding:1px; overflow:hidden;display:none; background:#FFFFF
2015-07-20 10:45:47
898
原创 JS iframe父子页面元素调用方法
父窗口调用子窗口 window.frames["iframe_ID"].document.getElementById("元素名").object_attribute = attribute_value 子窗口调用父窗口 parent.document.getElementById("元素名").object_attribute = attribute_value
2015-07-20 10:45:45
314
原创 Tomcat发布项目
修改Tomcat下cif目录下的server.xml, 用记事本打开,找到: 再找到: 修改为: 最后在标签前加上 docBase 改成你项目名记得/别丢了。然后保存文件。以上一切正确完成后,要做一步关键性的设置----端口映射。由于网站是在内网,要让外部人员通过动态域名访问网站,必须在路由器上进行设置,当外部人员访问到外网主机的时候将它映射到该内网主机。
2015-07-20 10:45:42
300
原创 WIN7下彻底删除Oracle11g
第一,先删除oracle目录,当然这个目录删不完因为有些还有些进程再用这删除不了 第二,删除C盘下的Program Files下的Oracle和C盘下User下的Oracle 第三,删除环境变量里的设置:我的电脑右击---属性---高级系统设置---环境变量---系统变量里的PATH 删除ORaclehome_db 第四,注册表里信息删除 regedit
2015-07-20 10:45:37
330
原创 ext:grid分页,列宽度自动填满grid宽度
var grid = new Ext.grid.GridPanel({ renderTo : Ext.getBody(), ds : store, cm : cm, autoHeight : true, //这样grid才能全部显示行,不用滚动 viewConfig : { forceFit : true //让grid的列自动填满gr
2015-07-20 10:45:34
1534
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人