
Java项目学习
文章平均质量分 71
东方梦想程序员
技术分享无贵贱。
展开
-
chapter8 SpringSession实现单点登录
在chapter6中用redis+cookie+jackson+filter实现单点登录,并且在chapter7中将redis改为了分布式。但是这种方式对业务有侵入,可以看到我们需要将session.getAttribute()改为RedisPoolUtil.get()。使用SpringSession可以实现零侵入。使用者仍然从session中拿到属性即可,也不需要处理cookie。但...原创 2019-02-25 13:54:43 · 320 阅读 · 0 评论 -
chapter7 单点登录+redis分布式
在chapter6中已经使用redis+cookie+jackson+filter来实现单点登录。这里进行进一步优化,使用分布式redis。 7.1 总览redis分布式算法--一致性hashShardedJedis 7.2 一致性hash参考来自:https://blog.youkuaiyun.com/lihao21/article/details/54193868一致性hash...原创 2019-02-25 13:53:26 · 210 阅读 · 0 评论 -
chapter6 单点登录
chapter6 单点登录6.1 总览一期回顾Jedis和redis连接池cookie和session重构一期的session相关模块multi-process debug6.2 一期回顾/user/login.do 登陆后将用户信息存在session/其他操作接口 从session取出user信息,如果不存在需要强制登录,否则不允许操作。/user/...原创 2019-02-25 13:51:09 · 174 阅读 · 0 评论 -
chapter5 redis基础
chapter5 redis基础5.1 redis介绍高性能key-value内存数据库,支持持久化。5.2 数据类型string hash list (可以有重复元素,有序)set (不重复且无序)sorted set (不重复且有序)5.3 安装与启动5.3.1 安装(1)linux下载 redis.tar.gz解压 tar -zvxf 编译 make(2...原创 2019-02-25 13:50:00 · 130 阅读 · 0 评论 -
chapter4 tomcat集群与nginx负载均衡
chapter4 tomcat集群与nginx负载均衡4.1 tomcat集群问题1:tomcat集群能带来什么优势?性能up,并发up,高可用,横向拓展...问题2:tomcat集群会带来什么问题?session如何共享,定时任务并发,分布式锁,分布式事务...4.2 tomcat单机部署多应用假设现在一台机器上安装了两个tomcat,tomcat1和tomcat2。4...原创 2019-02-25 13:49:11 · 172 阅读 · 0 评论 -
chapter3 maven环境隔离
chapter3 maven环境隔离3.1 环境隔离通常将环境分为:local环境->dev环境->beta环境->product环境。优点:避免分工修改配置文件分环境编译、打包、部署3.2 使用maven实现环境隔离3.2.1 pom <build> <finalName>mmall</finalName>...原创 2019-02-25 13:48:00 · 143 阅读 · 0 评论 -
chapter2 Lombok集成与解析
chapter2 Lombok集成与解析2.1 介绍官网:https://projectlombok.org作用:通过简单注解来精简代码。优点:精简代码避免修改字段名后忘记修改getter/setter的方法名支持logback、log4j等2.2 使用2.2.1 pom<!-- https://mvnrepository.com/artifact/org.pr...原创 2019-02-25 13:46:59 · 135 阅读 · 0 评论 -
chapter1 回顾与介绍
chapter1 回顾与介绍1.1 和上期对比1.1.1 架构上的变化使用分布式缓存nginx负载均衡tomcat集群1.1.2 代码上的变化Guava缓存迁移至redis分布式缓存使用springmvc的拦截器实现统一校验springmvc全局异常1.2 本期内容1.2.1 分布式缓存为了解决集群中session共享的问题。这里采用了两种方式,一种是自己实...原创 2019-02-25 13:43:32 · 120 阅读 · 0 评论 -
Guava Cache的创建方法
Guava -Cache 概述缓存是日常开发中经常应用到的一种技术手段,合理的利用缓存可以极大的改善应用程序的性能。 Guava官方对Cache的描述连接 缓存在各种各样的用例中非常有用。例如,当计算或检索值很昂贵时,您应该考虑使用缓存,并且不止一次需要它在某个输入上的值。 缓存ConcurrentMap要小,但不完全相同。最根本的区别在于一个ConcurrentMap坚持所有添加到...原创 2018-12-30 10:40:22 · 603 阅读 · 0 评论 -
jQuery知识点整理
$("#foo").html();//获取id为foo的元素内的html代码等同于:documen.getElementById("foo").innerHTML;//jquery对象转化为dom对象var $cr = $("#cr");//jquery对象var cr = $cr[0];或var cr = $cr.get(0);//dom对象alert(cr.checked)//检查...原创 2018-11-25 10:17:53 · 257 阅读 · 0 评论 -
JavaBean,POJO,VO,DTO的区别和联系
作为刚入职的实习生,对于项目中的包名vo、dto......常常是分不清楚,现总结如下:1、JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 的属性...原创 2018-11-05 14:30:58 · 657 阅读 · 0 评论 -
Java项目安全问题及解决方案
1.弱口令漏洞解决方案:最好使用至少6位的数字、字母及特殊字符组合作为密码。数据库不要存储明文密码,应存储MD5加密后的密文,由于目前普通的MD5加密已经可以被破解,最好可以多重MD5加密,或者多种加密方式叠加组合。2.未使用用户名及密码登录后台可直接输入后台URL登录系统。解决方案:通过配置filter来过滤掉无效用户的连接请求。3.JSP页面抛出的异常可能暴露程序信息。有经验...原创 2019-03-08 08:55:42 · 1935 阅读 · 0 评论