Java
文章平均质量分 81
傅荣康
了解更多资讯请加微信caaz01
展开
-
用BeanUtils类实现bean的拷贝
/* * * 为了保证原bean中的数据不为空,需要自己设置转换器。 * 当执行BeanUtils.copyProperties(dest, src);时会首先去调用转换器(Converter接口的实现方法convert),然后再执行转换. */ pu原创 2011-09-08 16:56:33 · 3973 阅读 · 0 评论 -
JDBC处理大数据(存储图像、声音、二进制)
在实际开发中,程序需要把大文本或二进制数据保存到数据库。大数据也称之为LOB(Large Objects),LOB又分为:clob和blobclob用于存储大文本。Text(mysql)blob用于存储二进制数据,例如图像、声音、二进制文等。对MySQL而原创 2011-09-08 17:05:26 · 3192 阅读 · 0 评论 -
javamail创建带图片和附件的邮件
package cn.test.demo;import java.io.FileOutputStream;import java.util.Properties;import javax.activation.DataHandler;import java原创 2011-09-09 22:02:56 · 1748 阅读 · 0 评论 -
DBUtils框架简化JDBC开发
commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢hibernate的公司的首选。下面原创 2011-09-12 13:10:59 · 1590 阅读 · 0 评论 -
用javamail创建带图片的邮件
首先导入两个架包:mail.jaractivation.jar 代码如下:package cn.test.demo;import java.io.FileNotFoundException;import java.io.FileOutputStre原创 2011-09-09 21:15:45 · 6802 阅读 · 0 评论 -
用JDBC进行批处理
当需要向数据库发送一批SQL语句执行时,应避免向数据库一条条的发送执行,而应采用 JDBC处理机制,以提升执行效率实现批处理有两种方式,第一种方式:Statement.addBatch(sql) list执行批处理SQL语句executeBatch()方法:执行原创 2011-09-08 17:06:23 · 735 阅读 · 0 评论 -
sitemesh框架对页面进行布局和装饰
在实际看法中每写出的页面都需要页头和页脚,我们之前使用include将页面引用过来,这样如果页面一多得话,引用起来非常麻烦,所以这里使用sitemesh框架可以在页面中不用任何引入就可以加上页头页脚,这简化了我们的开发,sitemesh框架使用拦截器的思想来实现的,以后做开发只关原创 2011-09-11 23:30:41 · 1975 阅读 · 0 评论 -
Http协议实现数据的压缩
package cn.itcast.web;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.util.zip.GZIPOutputStream;impo原创 2011-09-08 17:11:10 · 1986 阅读 · 0 评论 -
md5加密
将加密后的数据转换为16进制32位的字符串: private static final char HEX_DIG[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; public static void main(String[] args) throws Exception{ //初始化加密原创 2011-09-08 16:58:12 · 566 阅读 · 0 评论 -
过滤器-全站压缩
当使用response写数据的时候,将数据写到过滤器的缓冲内,然后再过滤器中拿到数据,帮用户压缩了之后,将数据返回给浏览器,就可以实现全站压缩,用户访问的所有数据都会被压缩,过滤器代码如下所示: package cn.itcast.web.filter;import java.io.ByteArrayOutputStream;import java.io.IOException;i原创 2011-09-08 17:20:36 · 815 阅读 · 0 评论 -
正则表达式总结
正则表达式用于操作字符串的规则,这些规则由一些符号所组成。使用正则表达式可以进行更复杂的操作,而且这种复杂的操作要比方法短的多。功能:1,匹配。使用的是String类中的matches方法。2,切割。使用的String类split方法。3,替换。4,查找。 1,将正则规则通过Pattern类中的static方法complie,封装成Pattern对象, 2,原创 2011-11-14 01:48:21 · 1832 阅读 · 1 评论 -
反射技术总结
所有的框架和服务器开发都是用的反射技术,学好反射对日后更深层次的开发是非常重要的。通过反射可以动态的获取类的成员,在不想改动源代码的情况下修改类,这样我们就可以通过反射技术将这个类加载进来。我们在框架用xml文件进行配置的时候,实际上就是获取到类名使用反射动态的加载进来,大大提高了可扩展性,另外再访问私有属性的时候是访问不到的,因为它不可见,如果非要访问的话可以用暴力反射进行访问实例:原创 2011-11-13 21:58:54 · 3709 阅读 · 0 评论 -
线程并发库(通信,线程内共享数据)
通信1. 等待在同步代码中调用锁对象的wait()方法,可以让当前线程等待 2. 通知唤醒使用锁对象的notify()方法可以唤醒在该对象上等待的随机一个线程使用锁对象的notifyAll()方法可以唤醒在该对象上等待的所有线程示例:创建三个线程,其中一个线程内部执行3次打印,第二个线程内部执行5次打印,第三个线程内部执行7次打印,如此交替执行10次。p原创 2011-12-22 16:13:28 · 2514 阅读 · 0 评论 -
模拟Struts1实现防表单重复提交
什么情况下会导致重复提交?1.网络延迟,当用户提交后由于网络的原因在等待提交,如果这个时候用户再次点击提交按钮的话就会导致重复提交。2.如果提交以后,这时用户如果点击刷新按钮的话,就会重复的提交。3.用户提交以后,如果用户点击返回按钮,再点击提交也会实现重复提交。解决方法有两种:1.在客户端使用javaScript防表单重复提交2.在服务器端写程序防重复提交 示例:原创 2011-09-21 01:08:39 · 3727 阅读 · 2 评论 -
Java常见异常(Runtime Exception )小结
本文重在Java中异常机制的一些概念。写本文的目的在于方便我很长时间后若是忘了这些东西可以通过这篇文章迅速回忆起来。 一. 异常机制 1. 异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。 2. 传统的处理异常的办法是,函数返回一个特殊的结果来表示出现异常(通常这个特殊结果是大家转载 2011-11-11 14:57:44 · 1480 阅读 · 0 评论 -
线程并发库(计时器,同步)
计时器: public static void main(String[] args) throws InterruptedException { new Timer().schedule(new MyTask(), 3000); // 安排一个任务, 3秒之后执行 new Timer().schedule(new MyTask(), new Date(111, 10, 29, 10原创 2011-12-22 14:44:09 · 2969 阅读 · 0 评论 -
线程并发库(创建线程、守护线程、暂停线程)
开启线程第一种方式:public class test { public static void main(String[] args) { Thread t1 = new MyThread(); t1.start(); // 开线程 for (int i = 0; i < 100; i++) System.out.println(Thread.currentThrea原创 2011-12-22 13:39:35 · 2914 阅读 · 0 评论 -
多线程总结
一、 了解进程和线程 在多任务系统中,每个独立执行的程序称为进程,也就是“正在进行的程序”。我们现在使用的操作系统一般都是多任务的,既能够同时执行多个应用程序,实际情况是,操作系统负责对cpu等设备的资源进行分配和管理,虽然这些设备某一时刻只能做一件事,但以非常小的时间间隔交替执行多个程序,就可以给人以同时执行多个程序的感觉。 一个进程中又可以包含一个或多原创 2011-09-13 01:02:29 · 1296 阅读 · 0 评论 -
用BeanUtils类自动封装表单数据
导入架包 commons-beautils-1.8.0.jar commons-logging.jar //Class beanClass可以接受任何类型的javaBean,使用泛型调用者不用进行强转 public static T reque原创 2011-09-08 16:54:49 · 1933 阅读 · 0 评论 -
servlet执行sql脚本
package cn.test.web.manager;import java.io.IOException;import java.io.InputStream;import javax.servlet.ServletException;import javax原创 2011-09-11 13:24:15 · 2305 阅读 · 0 评论 -
过滤器-用包装类解决全站乱码
Filter类:package cn.itcast.web.filter;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.util.HashMap;原创 2011-09-08 17:15:08 · 2246 阅读 · 0 评论 -
过滤器-页面访问次数
使用Filter来统一控制页面的访问次数,Filter类控制如下所示:package cn.web.filter;import java.io.IOException;import java.util.HashMap;import java.util.Map;im原创 2011-09-08 17:14:07 · 1656 阅读 · 0 评论 -
设置事务的回滚点
package cn.itcast.jdbc;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLExcept原创 2011-09-08 17:08:26 · 5075 阅读 · 0 评论 -
sun公司提供的API来创建出代理对象
在java中实现代理可以使用sun公司提供的API但必须实现这个对象的接口,如果不使用接口的话还有一种方法可以产生动态代理那就是使用cglib这套API,即使没有接口也可以创建出这个对象的代理对象。 注意:在使用cglib的话不能在类中定义final,定义fina原创 2011-09-08 16:58:54 · 647 阅读 · 0 评论 -
用BeanUtils框架操作类的属性
首先导入 commons-logging.jar commons-beanutils-1.8.0.jar 这两个架包用BeanUtils框架操作类的属性: @Test public void test1() throws Exception, InvocationTar原创 2011-09-08 17:00:47 · 1688 阅读 · 0 评论 -
过滤器-用动态代理解决全站乱码
Filter类:package cn.itcast.web.filter;import java.io.IOException;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Met原创 2011-09-08 17:16:23 · 2128 阅读 · 0 评论 -
事务的隔离级别
多个线程开启各自事务操作数据库中数据时,数据库系统要负责隔离操作,以保证各个线程在获取数据时的准确性。如果不考虑隔离性,可能会引发如下问题:第一个问题是:脏读:脏读就是指一个事务读取了另外一个事务未提交的数据。 第二个问题是:不可重复读:指一个事务读取了另原创 2011-09-08 17:09:56 · 534 阅读 · 0 评论 -
事务的四大特性
原子性(Atomicity):事务里边所有的操作是个整体,要不全部成功要不全部失败。 一致性(Consistency):事务数据前后,业务的规则必须保持一致。 隔离性(Isolation)::指多个用户开启事务并发开始访问数据库,数据库系统需要隔离多个用 的原创 2011-09-08 17:09:13 · 921 阅读 · 0 评论 -
获得数据库自动生成的主键
package cn.itcast.jdbc;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import org.junit.Test;imp原创 2011-09-08 17:07:36 · 588 阅读 · 0 评论 -
Jdk1.5新特性
“JDK1.5”的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-else 循环,自动装包/拆包,枚举,可变参数, 静态导入 。使用这些特性有助于我们编写更加清晰,精悍,安全的代码。 下面我们简单介绍一下这些新特性。1.泛型(Generic)原创 2011-09-08 17:12:41 · 524 阅读 · 0 评论 -
防盗链
使用防盗链要使用request的 referer这个头,这个头可以截获用户是从哪个页面点过来的,然后判断是否为本站的地址,如果不是本站的地址,就跳转到本站首页 package cn.test.request;import java.io.IOException;原创 2011-09-20 22:17:45 · 1029 阅读 · 0 评论 -
Struts-Validate框架
Validator(验证器)框架是一个 Struts 插件,它支持采用声明式的方式对表单进行校验,而不需要用户编写一行Java代码。一.使用 Validator 框架的好处:更好的可维护性校验实现标准化正确的实现更少的代码重复自动客户端验证注:原创 2011-09-16 23:52:05 · 2454 阅读 · 0 评论 -
用poi框架进行批量导入导出实例
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能。我们这里使用poi对数据库中的数据进行批量导出,以及从Excel文件中的数据批量导入到数据库中。 批量导出:步骤:1.导原创 2011-09-15 19:30:45 · 15852 阅读 · 3 评论 -
通用分页查询
要实现通用的分页查询要实现两个JavaBean第一个是封装客户机带过来的分页请求信息第二个是封装客户机要显示的分页信息JavaBean的代码如下:package cn.test.domain;//封装客户机带过来的分页请求信息public class原创 2011-09-15 00:31:18 · 1696 阅读 · 0 评论 -
自定义session扫描器
由于服务器来管理session摧毁不精准,为了在某个时间内准确的摧毁session我们需要自定义session扫描器,服务器中的所有的session我们需要写一个程序来管理,当发现某一个session一分钟没有人用了,我们就将它摧毁掉,不要服务器来帮我们摧毁了。思路:我们要管原创 2011-09-12 20:17:05 · 1828 阅读 · 0 评论 -
过滤器-过滤敏感词汇
首先要准备好敏感词库,敏感词汇的格式如下:短信猫|1买枪|2 四大舰队|3 其中1代表禁用词:禁用词将禁止提交,2代表审核次:将以高亮字体显示,3代表过滤词:将替换为****,过滤器代码实现如下:package cn.itcast.web.filter原创 2011-09-08 17:18:13 · 4445 阅读 · 0 评论 -
Scanner简单文本扫描器
Scanner可以根据流和正则表达式来获取数据,它是将流和正则表达式的封装,主要用于操作文本。1.它可以获取文本并解析2.可以在文本中融入正则表达式 /* * 从a.txt文件中获取数据,并以,进行分割 */ public static void getName() throws Exception { Scanner scanner = new Scanner(new原创 2011-11-13 23:24:00 · 1848 阅读 · 1 评论