
java编程
nmvbliy
这个作者很懒,什么都没留下…
展开
-
封装POI excel导出,通过配置xml模板实现导出
平时在业务系统开发中,通常要进行业务数据导出到excel中,如果只是一个两个业务功能的导出我们直接写代码实现即可,但是若是有很多不同的业务数据需要导出时,如果都通过代码去构建workbook、sheet、row、cell的话,会造成大量的代码重复,同时也不利于后期的代码维护,所以这里针对POI excel进行封装,封装之后,开发者只需要配置xml文件,然后编写业务数据查询的代码即可,无需再关注...原创 2020-02-10 15:02:15 · 986 阅读 · 1 评论 -
java实现红黑树
今天在看java8 HashMap实现原码时,发现在java8中hashmap中的元素不单单是存链表了,而是变成了链表和红黑树结合使用了,具体是:当同一hash位置的元素少于8个时,使用链表存储且采用尾插入方式,当大于等于8个时,将其转换为红黑树存储。话不多说,上原码:final V putVal(int hash, K key, V value, boolean onlyIfAbsent,...原创 2020-01-02 17:56:04 · 197 阅读 · 0 评论 -
java计时工具StopWatch的使用
作为一名程序猿,有时为了查看代码执行效率,以下代码肯定不少写:long start = System.currentTimeMillis();// do something...long end = System.currentTimeMillis();System.out.println(start-end);上面这段代码,只要是个java程序猿肯定都写过,问题是写个一两次还...原创 2019-12-19 14:37:51 · 2602 阅读 · 0 评论 -
ArrayList的Remove操作
ArrayList的Remove操作有两种,一是指定下标的删除,二是指定对象的删除。指定对象的删除是根据对象的equals方法,找到其在数组中的第一个位置,并根据下标进行删除,需要注意的是每次调用对象remove是只会remove一个。下面是ArrayList的remove源码:/**移除list中指定位置的元素 * Removes the element at the sp...原创 2019-12-19 13:46:30 · 751 阅读 · 0 评论 -
java ServiceLoader问题
今天遇到一个奇怪问题,web服务启动之后,第一次调用服务是抛出一个异常,后续再调用同一个服务时又没有异常了,话不多说上异常:Caused by: java.util.ServiceConfigurationError: com.xx.xx...Service: Provider ...not found at java.util.ServiceLoader.fail(ServiceL...原创 2019-12-06 10:39:14 · 1155 阅读 · 0 评论 -
使用jquery MultiFile实现多个文件同时上传
1、下载jquery-1.3.1.min.js和jquery.MultiFile.js文件。页面文件如下:http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> src="jquery-1.3.1.min.js"> src="jquery.MultiFile.js"> $原创 2012-12-04 14:59:20 · 2368 阅读 · 0 评论 -
struts2登录验证码
折腾了两天的登录验证码终于折腾出来了,在此做个记录。1、生成验证码图片的类VerificationCodeUtil.java,该类是网上找的,可以实现纯数字验证码、数字字母验证码、汉字数字验证码。import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.Bu原创 2012-11-26 10:17:31 · 1235 阅读 · 0 评论 -
window.location.href url含中文服务器收到乱码问题
window.location.href url含中文服务器收到乱码问题解决(1).页面中先对中文进行编码。如:window.location.href = url+"&groupName=" + encodeURI(encodeURI(groupName)) ;注意,页面部分需要编码两次。(2).在服务端进行解码。 groupName= java.net.URLDeco转载 2012-12-13 16:04:46 · 2070 阅读 · 1 评论 -
struts+Spring定时器
1、定时器类package test;public class TimeListener extends HttpServlet implements ServletContextListener{ private Timer timer=null; private Calendar cal=Calendar.getInstance(); /** * Over原创 2012-12-21 09:46:49 · 1616 阅读 · 0 评论 -
当泛型遇到了重载
当泛型遇到了重载,好戏,就发生了。请看下面代码:问题:代码能正确编译吗?这个题目是一个考察泛型的题目。java里面,泛型实际上是“伪泛型”,并不像C#那样是实际上的泛型。IDE会提示我们下面的错误:Method test(List) has the same erasure test(List) as another method in type T转载 2013-03-25 11:50:04 · 567 阅读 · 0 评论 -
Struts2常用标签总结
一 介绍1.Struts2的作用 Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。 Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供转载 2012-11-27 15:52:27 · 368 阅读 · 0 评论 -
struts2中常用Result类型的用法
一、dispatcher (1)为缺省的result类型,一般情况下我们在struts.xml会这么写: /main.jsp 以上写法使用了两个默认,其完整的写法为: # # /maini.jsp # 第一个默认:type="dispatcher";第二个默认:设置的为location参数,location只能是页面,不能是另一转载 2012-11-27 15:13:42 · 428 阅读 · 0 评论 -
往jquery validate中添加自定义的校验
1、表单提交时的提示框$("#form1").validate({submitHandler:function(form){ if (confirm('确认修改?') == true) { message("正在处理表单...");原创 2012-11-26 15:11:59 · 7455 阅读 · 1 评论 -
java中线程池
java中线程池的实现在jdk1.5以上版本提供了ThreadPoolExecutor类,该类继承了抽象类AbstractExecutorService,是接口Executor的底层实现类。那么这里首先了解下Executor。jdk文档中说明了Executor接口执行已提交的 Runnable 任务的对象。此接口提供一种将任务提交与每个任务将如何运行的机制(包括线程使用的细节、调度等)分离原创 2012-11-02 21:33:44 · 621 阅读 · 0 评论 -
tomcat配置https(单向)
1、进入到jdk下的bin目录(over)2、输入如下指令(over)keytool -v -genkey -alias tomcat -keyalg RSA -keystore d:/tomcat.keystore -validity 36500附:d:/tomcat.keystore是将生成的tomcat.keystore放到d盘根目录下。转载 2012-11-07 14:26:55 · 571 阅读 · 0 评论 -
ssh+mysql中关于大字段的设置
Spring的HibernateTemplate的既有方法完全兼容对CLOB对象的操作,仅仅需要进行简单的配置:1.保留实体中需要保存为CLOB对象的属性为String,而在hbm映射文件中将其类型修改为org.springframework.orm.hibernate3.support.ClobStringType2.如果仅仅这样,会抛出异常:No LobHandler found fo原创 2012-11-07 14:29:59 · 1535 阅读 · 0 评论 -
struts2文件的上传
一、文件的上传1、首先要配置项目的框架,也就是倒导入"struts2-core-2.2.1.jar"库文件,找到org.apache.struts2包下的default.porperties资源文件。如下图;资源文件中给出了不同的strus2的默认配置,我们可看到struts2默认是jakarta作为其文件上传的解析器。### Parser to handle HTTP P原创 2012-11-07 14:55:57 · 587 阅读 · 0 评论 -
struts2文件下载
1、页面下载2、action配置 text/plain inputName默认值是inputStream,如果action中用于读取下载文件内容的属性名是inputStream,那么可以省略这个参数-->downLoadFileattachment;filename="${filename}"2048原创 2012-11-07 15:06:10 · 304 阅读 · 0 评论 -
js控制文本框输入的字符数
1、页面代码2、js代码这里需要jquery的支持 $(function(){ var _area=$('#title'); var _info=_area.next(); var _max=_area.attr('maxlength');原创 2012-11-07 15:11:43 · 1140 阅读 · 0 评论 -
struts2文件上传类型和大小提示信息问题
struts2文件上传问题。之前的博客中针对struts2上传做了介绍,其中就strut2文件上传类型和大小限制做了介绍,基本满足了文件上传的功能。但是上传文件类型不对或者文件超出了大小限制,服务器就会直接报出异常信息,有时会在页面直接打出,有时仅后台报错,而前台没有反应。当然了这都是不是我们想要的,尤其是在前台页面打印出异常信息,这是不能让人容忍的。当然struts也给我们提供了解决的办原创 2012-11-08 21:36:40 · 4867 阅读 · 1 评论 -
Hibernate 条件查询(转载)
要对资料库管理系统进行操作,最基本的就是使用SQL(Standard Query Language)语句,大部份的资料库都支援标准的SQL语句,然而也有一些特定于资料库的SQL语句,应用程式配合SQL语句进行资料库查询时,若使用到特定于资料库的SQL语句,程式本身会有相依于特定资料库的问题。使用Hibernate时,即使您不了解SQL的使用与撰写,也可以使用它所提供的API来进行SQL语句查询转载 2012-11-09 15:15:36 · 492 阅读 · 0 评论 -
struts2采用拦截器做权限控制
在做各种系统开发时,我们经常会碰到权限控制,而权限控制往往是很复杂的,一般都会涉及到两个层面:第一,操作层面;第二,业务层面。所谓操作层面是指用户是否拥有某个操作权限,比如浏览、添加、删除、修改等。所谓业务层面是指,两个用户都拥有比如说浏览这一操作权限,但是他们浏览的内容有所区别。而struts2采用拦截器做权限控制主要是针对操作层面的权限控制。它的实现方式是:将所有的操作存放的到数据库中,并原创 2012-11-26 11:26:51 · 600 阅读 · 0 评论 -
jquery中validate使用
一导入js库 二、默认校验规则(1)required:true 必输字段(2)remote:"check.php" 使用ajax方法调用check.php验证输入值(3)email:true 必须输入正确格式的电子邮件(4)url:true 必转载 2012-11-26 15:04:24 · 4010 阅读 · 0 评论 -
java Socket文件传输
通常在java Socket编程中,通常会遇到文件传输的情况。文件传输有两种方式字节流和字符流,那么哪些文件用字符流哪些文件用字节流呢?一般的文本文件用字符流,在用字符流的过程中注意在发送方和接收方统一文件的编码;其他类型文件一般采用字节流,可防止文件在传输过程中发生变化。有时候我们会发现文件经过传输之后发生变化(例如图片损坏,应用程序无法运行等)。查看文件属性,发现文件大小没有变化,但是采用原创 2012-11-02 21:29:38 · 767 阅读 · 0 评论