- 博客(8)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 redis分布式锁
redis是做为缓存的主流选择,这里主要拿它和memcached比较一下:redis是单线程模型,没有锁的概念,不存在资源竞争,对于同一key是原子操作;memcached是多线程模型。利用自身的cas操作实现锁的操作(等同与乐观所,每一个key对应会产生一个64bit的标记,当某个线程更新key的值是会比较这个标记有没有变化,有变化则放弃更新);redis中有一个setnx函数(...
2017-02-16 17:18:42
148
原创 spring和springmvc容器关系
Spring和SpringMVC作为Bean管理容器和MVC层的默认框架,已被众多WEB应用采用,而实际使用时,由于有了强大的注解功能,很多基于XML的配置方式已经被替代,但是在实际项目中,同时配置Spring和SpringMVC时会出现一些奇怪的异常,比如Bean被多次加载,多次实例化,或者依赖注入时,Bean不能被自动注入,但是明明你已经将该Bean注册了的。找原因还是要看问题的根源,我们从容...
2016-01-27 15:21:17
380
原创 aop 通知类型
一、声明一个切面类1、首先要将这个类放入容器中,基于注解,在类头信息加入@Component2、将这个类声明成切面类,在头信息加入@Aspect注解3、可以基于切面中的方法,比如前置通知,后置通知,返回通知,异常通知,以及环绕通知写自己的业务逻辑,定义切点"execution(* com.liyi.service.*.*(..))",即那些方法需要执行这些方法。如果想获...
2016-01-27 14:26:53
160
原创 shiro 和 SESSSION
shiro 在web项目里默认使用的是web容器提供的session,也就是说shiro使用的session是web容器产生的,并不是自己产生的,在用于非web环境时可用其他来源代替。在web工程启动的时候它就和容器绑定在了一起,这是通过web.xml里面的shiroFilter实现的。通过session.getSession()方法会在浏览器cokkice产生JESSIONID,当关闭浏览器...
2014-12-03 10:49:47
164
原创 SpringMVC和Struts2比较
1. 入口spring mvc的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不同的。以前认为filter是servlet的一种特殊),这样就导致了二者的机制不同,这里就牵涉到servlet和filter的区别了。参见:http://blog.youkuaiyun.com/zs15932616453/article/details/88323432...
2014-05-08 13:14:23
148
原创 springmvc 下 freemarker页面枚举的遍历输出
[b][color=red][size=xx-small]spring mvc freemarker 中遍历枚举[/size][/color][/b]1枚举类型有一个本地方法叫values(),这个方法可以直接返回枚举数组。所以可以利用这个遍历。[code="java"]enumpublic enum BooleanEnum { TRUE(Boolean.TR...
2014-05-06 15:08:51
1050
原创 springMVC 使用JSR-303 Validation验证
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。 JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。登录需要验证类[code="java"]public class Login {...
2014-04-15 14:30:41
272
原创 springMvc json支持
1.Spring mvc处理json需要使用jackson的类库,因此需要先引入jackson包 2在spring mvc中解析输入为json格式的数据:使用@RequestBody来设置输入 [code="java"]@RequestMapping("helloJson")public @ResponseBody JsonTest helloJson() {...
2014-04-14 17:53:14
177
strut2 拦截器能获得action执行后的结果吗
2013-08-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人