
Java
杨文寿
个人网站:www.yangwenshou.com
展开
-
Java读写二进制文件
import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException;原创 2012-12-17 11:18:01 · 1974 阅读 · 0 评论 -
浅谈三层结构与MVC模式的区别
首先对这个题目,本身是存在问题的,“XX结构”与“XX模式”的区别?请问中国社会制度与美国人生活方式有什么区别?这两者本身讲的是不同方向与角度的问题,在实际应用中他们的确存在一些相似的特点,在很多书籍中也没有深入讲解,以致于造成困惑,为了更好的理解他们,姑且来说说区别吧。首先N层结构是一种软件抽象的层次结构,是对复杂软件的一种纵向切分,每一层次中完成同一类型的操作,以便将各种代码以原创 2012-10-25 17:09:00 · 969 阅读 · 1 评论 -
JSF与Struts的异同
Struts和JSF/Tapestry都属于表现层框架,这两种分属不同性质的框架,后者是一种事件驱动型的组件模型,而Struts只是单纯的MVC模式框架,老外总是急吼吼说事件驱动型就比MVC模式框架好,何以见得,我们下面进行详细分析比较一下到底是怎么回事? 首先事件是指从客户端页面(浏览器)由用户操作触发的事件,Struts使用Action来接受浏览器表单提交的事件,这里使用了Comma原创 2012-10-25 12:36:57 · 1244 阅读 · 0 评论 -
ORACLE查询树型关系(connect by prior start with) .
connect by prior start with 经常会被用到一个表中存在递归关系的时候。比如我们经常会将一个比较复杂的目录树存储到一个表中。或者将一些部门存储到一个表中,而这些部门互相有隶属关系。这个时候你就会用到connect by prior start with。典型的使用方法就是:select * from table connect by prior cur_id=par原创 2012-11-01 11:21:12 · 1204 阅读 · 1 评论 -
在ExtJS的ComboBox组件中实现下拉树效果
刚好项目需要用到在ExtJS的ComboBox组件中实现下拉树效果GOOGLE 就是好用 下面是我找的博文看了很多关于EXT下拉树的实现, 发现很多例子都是对EXT原有的类进行扩展, 而且都发现用起来很费劲,在这里,本人实现的EXT下拉树是直接使用 Ext.form.ComboBox + Ext.tree.TreePanel, 将两者结合起来,不需要额外的扩展效果可见附件一原创 2012-10-30 21:00:42 · 1611 阅读 · 1 评论 -
eclipse/myeclipse注释模板的修改
Window --> Java --> Code Style --> Code Templates --> Comments --> types --> Edit /** * * 项目名称:${project_name} * 类名称:${type_name} * 类描述: * 创建人:${user} * 创建时间:${date} ${tim原创 2012-10-19 21:14:28 · 1742 阅读 · 0 评论 -
Spring安全权限管理(Spring Security) .
1.Spring Security简要介绍Spring Security以前叫做acegi,是后来才成为Spring的一个子项目,也是目前最为流行的一个安全权限管理框架,它与Spring紧密结合在一起。Spring Security关注的重点是在企业应用安全层为您提供服务,你将发现业务问题领域存在着各式各样的需求。银行系统跟电子商务应用就有很大的不同。电子商务系统与企业销售自动化工原创 2012-10-29 13:23:38 · 1589 阅读 · 2 评论 -
什么是Web Service?
Web Service 是一种新的web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。Web Service是一种应用程序,它可以使用标准的互联网协议,像超文本传输协议(HTTP)和XML,将功能纲领性地体现在互联网原创 2012-10-29 13:19:43 · 1233 阅读 · 1 评论 -
Struts2 自定义拦截器(方法拦截器)
struts2系统自带了很多拦截器,有时需要我们自己定义,一般有两种方式: 一、实现Interceptor接口 Java代码 public interface Interceptor extends Serializable{ public void init(); public void destroy();原创 2012-10-18 20:23:14 · 4184 阅读 · 0 评论 -
JAVA 中的IO流
一、流的概念 流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。 一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL。 流的方向是重要的,根据流的方向,流可分为两类:输入流原创 2012-10-19 09:19:37 · 997 阅读 · 1 评论 -
路径,文件,目录,I/O常见操作汇总
摘要: 文件操作是程序中非常基础和重要的内容,而路径、文件、目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供给你一点有益的思路,如果你有好的建议,恳请能够留言,使这些内容更加完善。 主要内容: 一、路径的相关操作, 如判断路径是否合法,路径类型,路径的特定部分,合并路原创 2012-10-19 09:12:25 · 1346 阅读 · 0 评论 -
JAVA 排序汇总
package com.softeem.jbs.lesson4; import java.util.Random; /** * 排序测试类 * * 排序算法的分类如下: * 1.插入排序(直接插入排序、折半插入排序、希尔排序); * 2.交换排序(冒泡泡排序、快速排序); * 3.选择排序(直接选择排序、堆排序); * 4.归并排序; * 5.基数排原创 2012-10-17 22:57:47 · 911 阅读 · 0 评论 -
JDBC 报错
Exception in thread "main" java.lang.NoClassDefFoundError: oracle/dms/instrument/ExecutionContextForJDBC at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:322) at oracle.jdbc原创 2012-11-06 17:24:39 · 2178 阅读 · 0 评论 -
Hibernate中的命名查询
什么是命名查询?Hibernate允许在映射文件中定义字符串形式的查询语句,这种查询方式成为命名查询使用命名查询有什么好处?由于使用Hibernate的HQL常常需要在Java代码中写字符串查询语句,HQL混杂在代码之间,破坏代码可读性,通过使用命名查询,可以使业务逻辑和查询语句分离,使您专注于查询,而避免了 SQL 或者 HQL 代码分散于整个应用程序中的情况。可以应用命名查原创 2012-11-27 14:17:50 · 1393 阅读 · 0 评论 -
Java实现RSS
RSS是一个标准的XML文件,Rss阅读器可以读取这个XML文件获得文章的信息,使用户可以通过Rss阅读器而非浏览器阅读Blog,我们只要动态生成这个XML文件便可以了。RSSLibJ是一个专门读取和生成RSS的小巧实用的Java库,大小仅25k,可以从[url]http://sourceforge.net/projects/rsslibj/[/url]下载rsslibj-原创 2012-11-28 12:50:18 · 2083 阅读 · 0 评论 -
UTF-8文件的Unicode签名BOM(Byte Order Mark)
BOM(Byte Order Mark),是UTF编码方案里用于标识编码的标准标记,在UTF-16里本来是FF FE,变成UTF-8就成了EF BB BF。这个标记是可选的,因为UTF8字节没有顺序,所以它可以被用来检测一个字节流是否是UTF-8编码的。微软做这种检测,但有些软件不做这种检测,而把它当作正常字符处理。微软在自己的UTF-8格式的文本文件之前加上了EF BB BF三个字节,原创 2013-03-19 17:02:46 · 5431 阅读 · 0 评论 -
优秀程序员不得不知道的20个位运算技巧
一提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入适当的位运算也会让您的程序增加一丝亮点,最初当我读《编程之美》求“1的数目”时,我才开始觉得位运算是如此之美,后来读到 《Hacker's Delight》,感慨到Henry S.Warren把位运算运用的如此神出鬼没,很多程序都十分精妙,我觉得在一个普原创 2013-01-25 17:20:14 · 1960 阅读 · 3 评论 -
XShell 技巧分享
xshell是个好用的ssh客户端工具,没有之一。这个软件完全免费,简单易用,可以满足通过ssh管理linux vps所有需要,唯一遗憾的是没有官方中文版。警告:不要下载所谓的汉化版,可能有木马。此前已有报道使用中文山寨版本密码被盗。 官网下载地址:http://www.netsarang.com/download/down_xsh.html这里记录几则小技巧。一、帐号密码原创 2013-01-12 11:57:31 · 2313 阅读 · 0 评论 -
JCaptcha 简介
CAPTCHA 全称 Completely Automated Public Turing Test to Tell Computers and Humans Apart,最早作为卡内基梅隆大学的一个科研项目,用于生成一个人类容易通过而计算机难以通过的测试,目前广泛应用于网络应用,用于阻止机器人发布垃圾信息。JCaptcha 即为 Java 版本的 CAPTCHA 项目,其是一个开源项目,支持生成原创 2013-01-05 17:00:54 · 10803 阅读 · 4 评论 -
Java读取xml文件的四种方法
xml文件: Xml代码 A1234 河南省郑州市 B1234 河南省郑州市二七区 第一种 DOM 实现方法: Java代码 import java.io.File; imp原创 2012-12-28 16:58:54 · 17556 阅读 · 1 评论 -
Hadoop 详解
搞什么东西之前,第一步是要知道What(是什么),然后是Why(为什么),最后才是How(怎么做)。但很多开发的朋友在做了多年项目以后,都习惯是先How,然后What,最后才是Why,这样只会让自己变得浮躁,同时往往会将技术误用于不适合的场景。Hadoop框架中最核心的设计就是:MapReduce和HDFS。MapReduce的思想是由Google的一篇论文所提及而被广为流传的,简单的一句原创 2012-12-27 11:20:07 · 4087 阅读 · 0 评论 -
Java MD5 加密类
/************************************************* md5 类实现了RSA Data Security, Inc.在提交给IETF 的RFC1321中的MD5 message-digest 算法。 *************************************************/ publ原创 2012-12-12 19:41:07 · 850 阅读 · 0 评论 -
过滤器-全站压缩
当使用response写数据的时候,将数据写到过滤器的缓冲内,然后再过滤器中拿到数据,帮用户压缩了之后,将数据返回给浏览器,就可以实现全站压缩,用户访问的所有数据都会被压缩,过滤器代码如下所示:Html代码 package cn.itcast.web.filter; import java.io.ByteArrayOutputStream;原创 2012-12-02 19:47:20 · 1009 阅读 · 0 评论 -
JDBC连接数据库 代码和详解
•创建一个以JDBC连接数据库的程序,包含7个步骤: 1、加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现。 例如: try{ //加载MySql的驱动类原创 2012-11-30 18:19:40 · 1666 阅读 · 0 评论 -
server library[unbound] 服务未绑定解决办法
在出现这个情况的时候我们点edit时候发现那里runtime没有可以选的server. 怎么办呢? 我用的myclipse8.5 其它的好像可以在首选 项中找到Server ->Installed Runtimes 添加一个你安装好的tomcat 就行了. 可是这个版本没有这个installed runtimes,就算你加入了tomcat你也没办法加原创 2012-11-30 18:17:45 · 26044 阅读 · 5 评论 -
Google Web工具包 GWT
Google 网页工具包——GWT 提供了一组基于Java语言的开发包,这个开发包的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等都和AWT非常类似。熟悉Java AWT的开发者不需要花费多大的力气就能够快速的理解GWT开发工具包,将更多地时间投入到GWT应用的开发过程中。开发出来的Java应用将由GWT开发包提供的编译工具编译后声生成对应的、应用了Ajax技术的Web应原创 2012-11-15 17:21:13 · 1239 阅读 · 0 评论 -
SQL中 inner join、 left join 、right join、 outer join之间的区别
举个例子你就能知道了!A表(a1,b1,c1) B表(a2,b2)a1 b1 c1 a2 b201 数学 95 01 张三02 语文 90 02 李四03 英语 80 04 王五select A.*,B.* from A inner join B on(A.a1=B.a2)结果是:原创 2012-09-21 20:41:33 · 1078 阅读 · 0 评论 -
讲解asp.net
1 ASP.Net是什么? ASP.Net是建立在微软新一代.Net平台架构上,利用普通语言运行时(Common Language Runtime)在服务器后端为用户提供建立强大的企业级Web应用服务的编程框架。 2.ASP.Net与ASP的联系和主要区别是什么? ASP.Net与现存的ASP保持语法兼容,实际上我们可将现有的ASP源码文件扩展名“.asp”改为“.as原创 2012-09-21 20:25:08 · 924 阅读 · 0 评论 -
序列化
在ASP.NET中,存储信息数据一般有以下三种方式做为选择:一、存储到 Session 中;二、存储到 Cookie 中;三、存储到 数据库 中。同时,序列化的作用也是这样,不过我认为序列化这种方法更安全,更合理。那么,序列化是什么:序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。序列化分为两大部分:序列化和反序列化。序列化原创 2012-09-21 20:18:05 · 747 阅读 · 0 评论 -
Ext.FormPanel 学习示例
的FormPanel,也是继承panel组件的使用。首先弄清楚这个问题,创建的时候: //查看源代码便知,两种方法是一样的Ext.form.FormPanel = Ext.FormPanel;我们还是从最简单的代码实例开始吧:html代码-->body>div id="form1">div>body> //js代码var fo原创 2012-07-29 07:05:03 · 1438 阅读 · 1 评论 -
ExtJS Panel 学习示例
//html代码div id="container"> /div> //js代码var p = new Ext.Panel({ title: 'My Panel',//标题 collapsible:true,//右上角上的那个收缩按钮,设为false则不显示 renderTo: 'container',原创 2012-07-29 06:51:34 · 14543 阅读 · 2 评论 -
ExtJS Store 方法以及属性介绍
store是一个为Ext器件提供record对象的存储容器,行为和属性都很象数据表方法:不列举继承来的方法Store( Object config )构造,config定义为{ autoLoad : Boolean/Object, //自动载入 baseParams : Object, //只有使用httpproxy时才有意义 data : Array,原创 2012-07-21 22:04:41 · 1608 阅读 · 1 评论 -
Hibernate session FlushMode的五种设置
Hibernate session FlushMode有五种属性: 1、NEVEL:已经废弃了,被MANUAL取代了 2 MANUAL: 如果FlushMode是MANUAL或NEVEL,在操作过程中hibernate会将事务设置为readonly,所以在增加、删除或修改操作过程中会出现如下错误 org.springframework.dao.InvalidDataAccessAp原创 2012-07-18 09:34:32 · 1705 阅读 · 0 评论 -
OpenSessionInViewFilter——>TransactionSynchronizationManager
[java] view plaincopypublic abstract class TransactionSynchronizationManager { TransactionSynchronizationManager是管理需要同步的事务资源,也可以管理线程。下面介绍一下TransactionSynchronizationManager类原创 2012-07-18 09:08:02 · 3404 阅读 · 1 评论 -
比较HashMap和HashTable
HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable。可能你觉得HashTable很好用,为什么不用呢?这里简单分析他们的区别。 一、线程上Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。即是说,在多线程应用程序中,不用专门的操作就安全地可以使用Has原创 2012-07-17 07:47:04 · 1436 阅读 · 4 评论 -
OpenSessionInViewFilter作用及配置
一、作用Spring为我们解决Hibernate的Session的关闭与开启问题。 Hibernate 允许对关联对象、属性进行延迟加载,但是必须保证延迟加载的操作限于同一个 Hibernate Session 范围之内进行。如果 Service 层返回一个启用了延迟加载功能的领域对象给 Web 层,当 Web 层访问到那些需要延迟加载的数据时,由于加载领域对象的 Hibernate原创 2012-07-15 07:49:59 · 943 阅读 · 1 评论 -
深入研究java.lang.ThreadLocal类
一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制原创 2012-07-15 07:44:23 · 1091 阅读 · 1 评论 -
JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法
1、如何将java.util.Date转化为java.sql.Date?转化:java.sql.Date sd;java.util.Date ud;//initialize the ud such as ud = new java.util.Date();sd = new java.sql.Date(ud.getTime());2、如果要插入到数据库并且相应的字原创 2012-07-04 18:39:49 · 1229 阅读 · 1 评论 -
Java开发中的23种设计模式
学习设计模式有两个意义:一、学习设计模式最重要的是了解模式的应用场景。编程遇到特定场景的话,要有意识联想到设计模式,哪怕细节忘了也没关系,翻翻书就找到了。二、提高设计的思想。学习设计模式的时候,要体会模式精妙之处,当想明白大师思想和自己的差距的时候,差距就缩短了一点儿。有的模式平淡无奇,应用却广泛。有的模式设计精巧,应用场景却不易遇到。无论如何,要么掌握工具,要么学到思想,都是收获。原创 2012-05-17 07:32:19 · 23557 阅读 · 2 评论 -
java反射详解
【案例1】通过一个对象获得完整的包名和类名package org.tender.test;class Demo { public static void main(String[] args) { Demo demo=new Demo(); System.out.println(demo.getClass().getName(原创 2012-05-03 13:24:06 · 1225 阅读 · 0 评论