
技术学习
文章平均质量分 75
追赶的蜗牛
一个程序就是一个世界。。。
展开
-
JAVA代理模式与动态代理模式
1、代理模式所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之前起到中介的作用。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。生活中的例子:过年加班比较忙,没空去买火车票,这时可以打个电话到附近的票务中心,叫他们帮你买张回家的火车票,当然这会附加额外转载 2016-02-19 00:14:08 · 631 阅读 · 0 评论 -
批量导出查询结果
jsp开发中,遇到一要求,需要批量导出查询的结果,我们系统中是这样处理的,通过在jsp页面中插入一段小脚本,进行把当前jsp页面查询的结果导出,如下:<% response.setContentType("Application/msexcel"); response.setHeader("Content-Disposition", "attachment;file原创 2013-10-24 16:02:57 · 1266 阅读 · 0 评论 -
通过org.apache.commons.lang.Tokenizer解析上传的txt文件
最近在看我们项目中的一个对上传的txt文件的解析,发现这个txt文件比较复杂,虽然字段之间都是用“|”分隔,但是,这个文件又包含了不同的长度的块,需要对每一块进行解析。这个可以使用apache的一些工具包common-lang-2.1.jar。 这个txt文件如下:cardcode|cardname|appl_no|classcode|classname|appf|begdate|enddat原创 2013-09-29 12:33:16 · 931 阅读 · 0 评论 -
Hibernate乐观锁实现之Version
通过在表中及POJO中增加一个version字段来表示记录的版本,来达到多用户同时更改一条数据的冲突数据库脚本: create table studentVersion (id varchar(32),name varchar(32),ver int);POJO package Version;public class Student ...{ p转载 2013-10-08 16:00:43 · 2329 阅读 · 0 评论 -
Hibernate事务与并发问题处理(乐观锁与悲观锁)
一、数据库事务的定义 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性转载 2013-10-08 15:54:58 · 860 阅读 · 0 评论 -
快速掌握Hibernate中悲观锁和乐观锁
我们在使用Hibernate中经常用到当多个人对同一数据同时进行修改的时候,会发生脏数据,造成数据的不一致性,解决办法是可以通过悲观锁和乐观锁来实现。Hibernate悲观锁:在数据有加载的时候就给其进行加锁,直到该锁被释放掉,其他用户才可以进行修改,优点:数据的一致性保持得很好,缺点:不适合多个用户并发访问。当一个锁住的资源不被释放掉的时候,这个资源永远不会被其他用户进行修改,容易造成无限期转载 2013-10-08 15:33:16 · 1243 阅读 · 0 评论 -
hibernate 乐观锁与悲观锁使用
Hibernate支持两种锁机制: 即通常所说的“悲观锁(Pessimistic Locking)”和 “乐观锁(OptimisticLocking)”。 悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。Hibernate的加锁模式有: Ø LockM转载 2013-10-08 15:06:37 · 684 阅读 · 0 评论 -
上传文件至FTP---通过FileUtils.writeByteArrayToFile()方法
之前总结果上传文件FTP的一个工具类,现在突然发现另外一个更简单的方法,就是使用commons-io-2.0.1.jar 下的FileUtils.writeByteArrayToFile()方法public ActionForward uploadSOSFile(ActionMapping mapping, ActionForm form, HttpServletRequest r原创 2013-09-12 16:40:58 · 11584 阅读 · 0 评论 -
学习网址
突然发现原来网上那么多高手啊,现在我这个菜鸟应该加倍去网上汲取他们的经验,现在我就把我看到的一些链接分享下,感觉挺好的,个人学习用的:http://ajita.iteye.com/category/207714 (关于PL/SQL的)http://ajita.iteye.com/category/253796(maven)http://ajita.iteye.com/category/原创 2013-05-16 14:39:26 · 714 阅读 · 0 评论 -
浅析Struts1和Struts2的Action线程安全问题
Struts1 Action 是单例的模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求,因此Action类资源必须是线程安全的或同步的,而Struts 2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。因此得出结论:Struts1是线程不安全的,struts2里面的action是线程安全=========================转载 2013-08-12 01:08:34 · 1284 阅读 · 0 评论 -
HashSet与TreeSet的区别
HashSet与TreeSet的区别:HashSet是基于hash算法实现的,性能优于TreeSet。通常使用HashSet,在我们需要对其中元素排序的时候才使用TreeSet。HashSet中的元素没有顺序,但是具有集合的唯一性,即元素不可重复!TreeSet是一个有序集合,她的元素 按照升序排列,默认是按照自然顺序排列,也就是说TreeSet中的对象元素需要实现Comparable原创 2013-05-10 09:52:18 · 1525 阅读 · 0 评论 -
同一时间范围内并发数统计
酒店系统的相关问题:统计每天在同一时间段内服务房间最多的服务生。分析:当一个房间的服务开始之后,只要第2个房间的服务开始时间小于(早于)或者等于第1个房间的开始时间,并且结束时间大于(晚于)第1个房间的开始时间的,就说明存在重叠部分。首先查出同一时间范围内的:SELECT * FROM waiters a,waiters bwhere a.waiter_nam原创 2013-12-08 02:05:31 · 2835 阅读 · 0 评论 -
Oracle按日/周/月统计语句--GROUP BY TO_CHAR(T.MODIFIEDTIME,'YYYY-MM')
Oracle按月统计语句--创建表 TestCTEATE TABLE TEST(ID NUMBER NOT NULL,MODIFIEDTIME DATE NOT NULL)--按月统计SELECT TO_CHAR(T.MODIFIEDTIME,'YYYY-MM') TIME,COUNT(*) COUNTFROM TEST T w转载 2014-02-12 15:59:32 · 12495 阅读 · 0 评论 -
java.text.DecimalFormat 格式化数据的显示效果:补全小数点后的位数、三位一个逗号分割、四舍五入
float scale = (float) 3434567; DecimalFormat fnum = new DecimalFormat("###,##0.00"); String dd=fnum.format(scale); System.out.println(dd);//3,434,567.00转载 2014-05-29 00:04:04 · 2683 阅读 · 0 评论 -
java递归实例(二)---递归读取并修改Tree结构
public class RecursionTest { public String updateCategrotyRel(Integer idMerchant) throws Exception{ String str = "[{\"idOpeCate\":1,\"name\":\"手机\",\"parentId\":0," + "\"children\":[{\"idOp原创 2015-12-22 00:06:06 · 1531 阅读 · 0 评论 -
java递归实例(一)---递归构造Tree结构
java递归实例原创 2015-12-20 00:54:04 · 9778 阅读 · 0 评论 -
web.xml中listener作用及使用--实现记录网站的客户登录日志, 统计在线人数
一.WebContextLoaderListener 监听类它能捕捉到服务器的启动和停止,在启动和停止触发里面的方法做相应的操作!它必须在web.xml 中配置才能使用,是配置监听类的二.下面是搜集的一些listener方面的知识简例一监听用户上线与退出,显示在线用户1、登陆页面 Login.jspsession=request.getSession转载 2015-12-09 23:13:51 · 1794 阅读 · 0 评论 -
为什么有了post那么多优点,还有还多网站用get,比如百度搜索
前几天工作中,所有表单我都采用post方法,头儿说那样不好,大型网站上一般都采用get方法,不理解。在网上摘到一段比较有用的话 减低服务器流量压力根据 HTTP 规范,GET 用于信息获取,而且应该是 安全的和 幂等的。所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。幂等的意味着对同一 URL 的多个请求应该返回同样的结果。完整的定义并原创 2015-09-22 00:11:45 · 6322 阅读 · 2 评论 -
获取两个List中重复或不同的元素---removeAll()和addAll()的使用
昨天项目中遇到了一个将查询结果增量发出的,即每次比上次增的获取。这个问题同事去网上找了好多高人写的代码,我看了好久,感觉被绕了,最后想着还是用最简单的方式来做,可能好一些。package com.paic.dto;public class Student { private Integer id; private String name; private String sex;原创 2015-07-25 23:19:48 · 3515 阅读 · 0 评论 -
Ant build.xml 构建文件 打包发布
1、ant脚本文件build.xml示例转载 2014-10-23 22:23:18 · 2914 阅读 · 0 评论 -
POI 合并单元格
是打发斯蒂芬原创 2014-08-18 10:59:33 · 873 阅读 · 0 评论 -
使用axis开发WebService(总结)
WebService以前没听过,进了现在的公司才见识到,又让我这个菜鸟学习了。虽然我现在还没真正进入到WebService的实战开发,只是肤浅的工作,但是我决定自己把最近一段时间所学的结合广大网友在网上分享的相关资料,做一次小小的总结,不是为了别的,只是为了下次用到后直接找到就用。2013年,我决定不再做一只糊里糊涂的菜鸟,打算从今天起要就要用心学习,快乐工作,享受生活。感谢那些神一般的队友能一直原创 2013-01-28 16:21:00 · 2721 阅读 · 0 评论 -
AngulaJS 中$watch()的应用以及ng-model实现数据双向绑定
在使用AngulaJS编写应用时,我们经常需要做的一件事情就是对模型中的变量进行监视,并对其发生的变化做出相应的回应。AngularJS为我们提供了一个非常方便的$watch方法,它可以帮助我们在每个scope中监视其中的变量。下面是一个非常简单的例子:html>head> script src='./lib.angular.min.js'>/script>/head>body原创 2014-07-10 23:16:18 · 3227 阅读 · 1 评论 -
最强AngularJS资源合集(转载只为学习,谢谢)
AngularJS是Google开源的一款JavaScript MVC框架,弥补了HTML在构建应用方面的不足,其通过使用指令(directives)结构来扩展HTML词汇,使开发者可以使用HTML来声明动态内容,从而使得Web开发和测试工作变得更加容易。 AngularJS诞生以来,吸引了大量的目光,也迅速成为了Web开发领域的新宠。本文整理了2013年度一些非常有价转载 2014-07-03 22:49:45 · 901 阅读 · 0 评论 -
解析XML文件(二)----使用dom4j方式(三)
dom4j解析xml dom4j和jdom都是非常优秀的xml解析工具,但现在很多人认为dom4j无论是在性能上或是灵活性上都要优于jdom,其实,作为xml的解析工具,他们在大多情况下都能满足我们的要求。至于要选择使用哪一个,那就要依个人爱好(或是公司要求)了。 以前写了一个jdom解析xml 的例子,仿照那篇,再写一个dom4j版本的。转载 2013-06-21 10:18:16 · 1218 阅读 · 0 评论 -
解析XML文件(二)----使用dom4j方式(二)
03310100 test001 2008-11-10 06:00 2015-11-10 23:00 sx2009bzxcdxt 10.192.113.11 15601826467 testContents> 创建如上面的xml文件,可以采用另一种方式:/** * 创原创 2013-06-21 10:10:19 · 859 阅读 · 0 评论 -
解析XML文件(二)----使用dom4j方式(一)
针对之前写过的一种解析XML文件的方式 解析XML文件(一)----使用XStream方式 . 现在尝试用第二种常用的方式进行解析XML文件,便于对比学习!顺便分享下网友总结的这个篇文章 dom4j解析xml 分别介绍了读、写、修改三个例子!首先需要下载对应的jar包,我们系统用的是dom4j-1.6.jar(已上次我的资源,供下载分享)。对于上一篇文章中的 查询成功后返回原创 2013-06-21 09:20:29 · 788 阅读 · 0 评论 -
CSS的display属性【转】
页面输入框的隐藏主要是对一个下拉列表选择不同的数据时,另外一个输入框的各种变化(如下拉框的值,隐藏和显示等等)前提:此表单对应的ActionForm例:如下拉列表选框 壹 贰 当选择数字"壹"、"贰"、"叁"的时候,都会调用"setType()"方法一、首先我们看转载 2013-02-22 16:13:03 · 485 阅读 · 0 评论 -
CSS的float属性应用
float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。 如果浮动非替换元素,则要指定一个明确的宽度;否则,它们会尽可能地窄。值:left元素向左浮动。right元素向右浮动。none默认值。元素不浮动,并会显转载 2013-02-27 16:26:35 · 659 阅读 · 0 评论 -
jsp页面中有些div里面的内容用<!-- -->注释掉了,本以为是多余的,仔细一看还有slice() (上传过程等待效果)
最近在看项目里的jsp代码,发现有些div里面的内容用注释掉了,本以为是多余的,去掉后才发现不是。正在上传文件上传中请勿关闭此页面! --->这段代码是针对上传文件时做的一个等待的过程,具体见下图:附:loader.gifjs代码如下:var tabDiv = document.getElementById原创 2013-02-27 15:18:46 · 2719 阅读 · 0 评论 -
EL表达式在js中的应用
开始学习EL表达式的时候,只是觉得EL表达式能取代小脚本,使视图层页面跟java代码能更好的分离,代码清晰。实际项目中发现,EL表达式不仅仅用待普通的HTML标签或其他框架标签中,在JavaScript中同样可以使用。可以现在Action中设置:if (条件){ session.setAttribute("isjiayi", "true"); } else { s原创 2013-03-08 10:31:18 · 876 阅读 · 0 评论 -
JSP EL表达式详细介绍
一、JSP EL语言定义E L(Expression Language) 目的:为了使JSP写起来更加简单。 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法。它是一种简单的语言,基于可用的命名空间(PageContext 属性)、嵌套属性和对集合、操作符(算术型、关系型和逻辑型)的访问符、映射到 Java 类中静态方法的转载 2013-03-07 17:18:26 · 696 阅读 · 0 评论 -
form表单的submit()和onsubmit()的区别
submit()和onsubmit()的区别表单元素拥有submit方法,同时也具有onsubmit事件句柄,用于监听表单提交。可以使用elemForm.submit();方法触发表单提交。1)、表单元素中出现了name="submit"的元素这种情况下elemForm.submit();将不会触发表单提交,因为表单原始的submit方法将会被覆盖(formElem.submit就是对转载 2013-02-22 13:27:35 · 4992 阅读 · 0 评论 -
input和textarea标签的select()方法----选中文本框中的所有文本
JavaScript select()方法选中文本框中的所有文本和两种文本框都支持select()方法,这个方法用于选择文本框中的所有文本。在调 用select()方法时,大多数浏览器都会将焦点设置到文本框。这个方法不接受参数,可以在任何时候调用。下面来看一个例子:var textbox = document.forms[0].elements["textbox1"];text转载 2013-02-22 14:12:01 · 6487 阅读 · 0 评论 -
输入框里不能含有中文的校验---charCodeAt()方法
function submitTest(myform) { for(var i = 0;i // Ascii码大于255是双字节的字符 if(myform.iunitCode.value.charCodeAt(i) > 255) { alert('单位代码中不能有中文'); return false; } } }原创 2013-02-22 13:57:56 · 1278 阅读 · 0 评论 -
form表单的onsubmit="fun();"和onsubmit="return fun();"问题
以前在项目中为一个表单(from)编写onsubmit()脚本的时候,经常需要验证表单中数据的合法性,所以常会写道:,试图在validateForm()中return false来阻止表单的提交。实际上的效果是即使return false 表单 还是会提交。后来发现 onsubmit="return validateForm()"就没有问题了,当时也没有多想就继续做其它事情了。 直到今转载 2013-02-22 11:26:37 · 1091 阅读 · 0 评论 -
java文件改变的时候怎么让浏览器清除缓存
浏览器缓存对jsp,servlet来说都有时候是很致命的。以前用AJAX实现一个进度条,每隔1秒向服务器询问一次进度,服务器返回当前的百分比,就一个数字。开始的时候没有禁止缓存,结果进度条老是不动。我在自己的电脑上测试还没发现这个问题,因为我在internet选项了选择了“每次访问此页时检查”,而默认选项是“自动”,其实就是允许缓存。禁止缓存可以在HTML中写,也可以在http header里面写转载 2013-03-05 10:26:38 · 2749 阅读 · 0 评论 -
CSS属性display的用法 display=""
display是设置元素的浮动特征,要区别visibility属性(visibility="visible|hidden"来表示(visible表示显示,hidden表示隐藏))是隐藏元素但保持元素的浮动位置(即两者最大的区别是:当display设为none这时元素实际上就从页面中被移走,它下面所在的元素就会被自动跟上;而visibility设成hidden时元素虽然被隐藏了,但它仍然占据它原原创 2013-02-22 16:06:56 · 1380 阅读 · 0 评论 -
过滤页面上输入框的输入内容中的特殊字符
方法1: //特殊字符验证function TextValidate(){ var passPort = document.getElementById("passPort"); // alert(passPort.value.length+" "+passPort.value); //特殊字符正则表达式 var txt=new原创 2013-02-28 17:59:53 · 6064 阅读 · 0 评论 -
js对下拉框(select)的动态操作
1.遍历整个下拉选项,删除指定项使用selectObj.options[i]和remove()方法//document.onreadystatechange = init;function del() { var relaWApObj = document.forms[0].relaWithAppl; if(relaWApObj != null){ for(原创 2013-03-01 15:00:02 · 1134 阅读 · 0 评论