- 博客(19)
- 问答 (1)
- 收藏
- 关注
翻译 设计模式-开闭原则
什么是开闭原则?一个软件实体应该对扩展开放,对修改关闭。这个原则说的是在设计一个模块时,应当使这个模块可以在不被修改的前提下被扩展。满足开闭原则的应用的优势:1.通过扩展已有的软件系统,可以提供新的行为,以满足对软件的新需求,使变化中的软件有一定的适应性和灵活性。 2.已有的软件模块,特别是最重要的抽象层模块不能被修改,这就使变化中的软件系统有一定的稳定性和延续性。这就使得系统有高层级的复用和易于...
2018-03-07 18:52:50
289
原创 java策略模式实战
项目:保险场景:保险业务中涉及计费的问题,每种保险的计费策略不同,为了更好的代码维护,参考大神写的java策略模式后为选择了策略模式设计了编码方案。涉及表:产品方案表业务简介:每个保险产品对应不同的方案,每个方案对应不同的计费规则,比如有的按照年龄和性别,有的按照固定价格,有的是公司付款员工免费的,在这里我将计费的类定义在每个方案中,在业务代码中通过spring beanfactory获取到对应的...
2018-03-06 14:13:15
2496
原创 jbpm session is closed
项目框架:struts1,hibernate3获取session的方式是opensession,不是getCurrentSession。连接池:ProxoolConf莫名的出现了session is closed的问题。解决方案: 有关jbpm4.4的方法都重新获取jSession,获取完后关闭。Session jSession = null;Transaction jbp
2015-01-07 20:57:24
547
转载 openSession和getCurrentSession的比较
1 getCurrentSession创建的session会和绑定到当前线程,而openSession不会。2 getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭 这里getCurrentSession本地事务(本地事务:jdbc)时 要在配置文件里进行如下设置 * 如果使用的是本地事务(jdbc事务)
2015-01-07 14:29:00
304
原创 js操作字符串首字母大写
var str= "feiyongshenqing";str = str.substring(0,1).toUpperCase()+str.substring(1);截取第一个位置变成大写,然后从第一个位置截取所有。
2015-01-06 20:26:44
14778
原创 解决请求中文乱码问题
页面跳转时:window.location.href=encodeURI(encodeURI(forwardUrl));,进行中文转码后台接受数据时:String id = URLDecoder.decode(StringUtil.format(request.getParameter("processDefinition_id")), "UTF-8"); 进行解码
2015-01-06 15:46:28
533
转载 href="javascript:"的使用。
javascript:;表示这是一个空连接。点击之后没任何反应。类似的是#,但是一个#点击之后页面很长的情况下会会滚到顶部;而javascript:;没这样的问题;当然###这样的效果就跟javascript:;一样了使用strus1的时候经常会因为写成了#,报路径错误。页头部分,经常因为href="#"被顶没,后来就使用这种方式就可以了。
2015-01-05 15:08:09
379
原创 什么时候需要重写equals方法
你的对象想放到Set集合或者是想作为Map的key时(非散列的Set和Map,例如TreeSet,TreeMap等),那么你必须重写equals()方法,这样才能保证唯一性。对于良好的编程风格而言,你应该在重写equals()方法的同时,也重写hashCode()方法。再说说必须重写hashCode()的情况: 如果你的对象想放进散列存储的集合中(比如:HashSet,Linked
2015-01-04 15:57:28
3486
原创 http协议
网络参考模型七层简述:1.层物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。2.层数据链路层:主要将从物理层接收的数据进行MAC地址(网卡的地址)的封装与解封装。常把这一层的数据叫做
2015-01-03 22:16:17
433
原创 Java中堆、栈、常量池等概念解析
程序运行时,我们最好对数据保存到什么地方做到心中有数。特别要注意的是内存的分配。有六个地方都可以保存数据:(1) 寄存器。这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部。然而,寄存器的数量十分有限,所以寄存器是根据需要由编译器分配。我们对此没有直接的控制权,也不可能在自己的程序里找到寄存器存在的任何踪迹。(2) 栈(stack)。存放基本类型的变量数据和对象
2015-01-03 13:10:13
481
原创 http get post请求 中文解惑
中文乱码问题解决1.请求数据请求时进行URLEncoder.encode(username,"utf-8");servlet接收数据使用的编码格式为iso-8859-1,需进行转换 new String(username.getBytes("iso-8859-1","utf-8"));2.响应数据。if 服务器端对乱码没有做任何操作,那么返回的编码格式为gbk.那
2015-01-03 12:41:23
501
转载 Filter过滤器
Filter 有如下几个用处:l 在HttpServletRequest 到达Servlet 之前,拦截客户的HttpServletRequest 。 l 根据需要检查HttpServletRequest ,也可以修改HttpServletRequest 头和数据。 l 在HttpServletResponse 到达客户端之前,拦截HttpServletRespons
2015-01-03 11:14:22
353
转载 java cookie操作
java对cookie的操作java对cookie的操作比较简单,主要介绍下建立cookie和读取cookie,以及如何设定cookie的生命周期和cookie的路径问题。 建立一个无生命周期的cookie,即随着浏览器的关闭即消失的cookie,代码如下1234HttpServletRequest
2015-01-03 11:12:10
426
转载 java实现Base64编解码
BASE64和其他相似的编码算法通常用于转换二进制数据为文本数据,其目的是为了简化存储或传输。更具体地说,BASE64算法主要用于转换二进制数据为ASCII字符串格式。Java语言提供了一个非常好的BASE64算法的实现,即Apache Commons Codec工具包。本文将简要地讲述怎样使用BASE64以及它是怎样工作的。下面我们用BASE64对字符串进行编码:
2015-01-03 10:49:28
553
空空如也
elasticsearch java 获取client速度很慢
2016-04-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人