JAVA—咖啡馆

——欢迎访问rogerfan的博客,常来《JAVA——咖啡馆》坐坐,喝杯浓香的咖啡,彼此探讨一下JAVA技术,交流工作经验,分享JAVA带来的快乐!本网站部分转载文章,如果有版权问题请与我联系。

语源科技BlogJava 首页 新随笔 联系 聚合 管理
  447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

2008年9月5日 #

posted @ 2017-01-20 17:51 rogerfan 阅读(587) | 评论 (0)编辑 收藏

     摘要: 前面做了app微信支付的回调处理,现在需要做微信公众号的支付,花了一天多时间,终于折腾出来了!鉴于坑爹的微信官方没有提供Java版的demo,所以全靠自己按照同样坑爹的文档敲敲敲,所以记录下来,以供自己及后来人参考,不足之处,还请指正。

首先,我们贴出调用支付接口的H5页面,当然,在这个页面之前,还需要做很多其他的操作,我们一步一步的来。

坑爹的官方文档给了两个不同的支付接口,在微信公众平台开发中文档的“微信JS-SDK说明文档”中,给出的支付方式是下面被屏蔽的那一部分,而在商户平台的“H5调起支付API”中,又给了一份不同的接口,即下面未屏蔽正常使用的接口。关于坑爹的微信提供了两个不同的支付接口,网上搜索结果也是众说纷纷,所以,只有自己试了。当然,为了简单,我直接试了下面这一种,然后奇迹般的成功了。
  阅读全文
posted @ 2016-12-07 15:23 rogerfan 阅读(1534) | 评论 (0)编辑 收藏

     摘要: 前言

模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。具体模板消息运营规则请读 模板消息运营规范

关于使用规则,请注意:

1、所有服务号都可以在功能->添加功能插件处看到申请模板消息功能的入口,但只有认证后的服务号才可以申请模板消息的使用权限并获得该权限;
2、需要选择公众账号服务所处的2个行业,每月可更改1次所选行业;
3、在所选择行业的模板库中选用已有的模板进行调用;
4、每个账号可以同时使用15个模板。
5、当前每个账号的模板消息的日调用上限为10万次,单个模板没有特殊限制。【2014年11月18日将接口调用频率从默认的日1万次提升为日10万次,可在MP登录后的开发者中心查看】。当账号粉丝数超过10W/100W/1000W时,模板消息的日调用上限会相应提升,以公众号MP后台开发者中心页面中标明的数字为准。
关于接口文档,请注意:

1、模板消  阅读全文
posted @ 2016-09-23 17:12 rogerfan 阅读(458) | 评论 (0)编辑 收藏

     摘要: 由于柳峰老师的新书还没有出来,网上也没有过多介绍基于Java语言的开发微信公众平台模板消息的例子,因此有了本文。由于个人表达能力和编程能力有限,请多多包涵。本文仅介绍拥有模板消息权限的微信公众账号开发。

本文分为以下两部分:

1.开发模板消息SDK

2.构造模板消息并发送

首先看一下模板消息接口文档:


模版消息
我的模板模板库返回上一层模板库 / 模板消息接口文档
为了保证用户不受到骚扰,在开发者出现需要主动提醒、通知用户时,才允许开发者在公众平台网站中模板消息库中选择模板,选择后获得模板ID,再根据模板ID向用户主动推送提醒、通知消息。



模板消息调用时主要需要模板ID和模板中各参数的赋值内容。请注意:

1.模板中参数内容必须以".DATA"结尾,否则视为保留字;

2.模板保留符号"{{ }}"

  阅读全文
posted @ 2016-09-23 17:02 rogerfan 阅读(965) | 评论 (0)编辑 收藏

     摘要: 在这篇微信公众平台开发教程中,我们将介绍如何开发模板消息,即如何用程序发送模板消息功能。
本文分为以下三个部分:

申请模板消息权限
开发模板消息SDK
构造模板消息体并发送

一、申请模板消息权限
模板消息的申请需账号已经开通微信支付权限。

在微信公众平台的后台,依次进入“功能->添加功能插件->模板消息”,即可申请模板消息。

  阅读全文
posted @ 2016-09-23 16:44 rogerfan 阅读(362) | 评论 (0)编辑 收藏

     摘要: 注意:以下相关软件是以2015-03-23日能找到的最新的版本为基础提供的教程


一、下载并安装memcached服务器端软件

这个就好比mysql数据库,必须安装mysql服务器端软件。

1、下载服务端memcached软件

32bit:下载 memcached-win32-1.4.4-14.zip(直接下)里面包含6个文件,将解压后的文件夹随便放在什么位置(例如:D:\wamp_win7\bin\memcached-win32-1.4.4-14,我本地使用wamp搭建的服务器)。
memcached-win32-1.4.4-14.zip下载页面:http://blog.couchbase.com/memcached-144-windows-32-bit-binary-now-available

  阅读全文
posted @ 2016-09-21 15:21 rogerfan 阅读(542) | 评论 (0)编辑 收藏

     摘要: 首先,我们明确目标,做Tomcat集群的目的是为了提供更高的负载能力,把访问均摊到不同的服务器上。

直观地来说,就是访问test.localhost.com时,nignx会随机将访问请求分发到tomcat1,tomcat2,为了保持session同步,使用memcached去管理session。

为此我们准备的配置清单是: windows x 1 nginx x 1 memcached x 1 tomcat x 2 mysql x 1  阅读全文
posted @ 2016-09-19 09:53 rogerfan 阅读(434) | 评论 (0)编辑 收藏

     摘要: 注:以下批处理是针对tomcat安装版,或者在windows服务中有tomcat服务的解决方案。

定时重启TOMCAT批处理命令:
@echo off
net stop tomcat6
ping 127.0.0.1 -n 20
net start tomcat6

(注:这里的tomcat6根据tomcat在安装时的服务名确定,如tomcat6.0的服务名为tomcat6,这个名字你可以先启动服务器,之后在任务管理器的进程窗口里查看)

如果要在重启tomcat时候,再删除work下的文件和logs目录下的log文件,批处理命令:  阅读全文
posted @ 2016-09-19 09:36 rogerfan 阅读(548) | 评论 (0)编辑 收藏

     摘要: CDN是什么?


谈到CDN的作用,可以用8年买火车票的经历来形象比喻:


8年前,还没有火车票代售点一说,12306.cn更是无从说起。那时候火车票还只能在火车站的售票大厅购买,而我所住的小县城并不通火车,火车票都要去市里的火车站购买,而从县城到市里,来回就是4个小时车程,简直就是浪费生命。后来就好了,小县城里出现了火车票代售点,可以直接在代售点购买火车,方便了不少,全市人民再也不用在一个点苦逼的排队买票了。


CDN就可以理解为分布在每个县城的火车票代售点,用户在浏览网站的时候,CDN会选择一个离用户最近的CDN边缘节点来响应用户的请求,这样海南移动用户的请求就不会千里迢迢跑到北京电信机房的服务器(假设源站部署在北京电信机房)上了。

CDN的优势很明显:(1)CDN节点解决了跨运营商和跨地域访问的问题,访问延时大大降低;(2)大部分请求在CDN边缘节点完成,CDN起到了分流作用,减轻了源站的负载。
  阅读全文
posted @ 2016-07-07 14:45 rogerfan 阅读(1589) | 评论 (0)编辑 收藏

     摘要: 1. CAS 简介
1.1. What is CAS ?
CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO )。

CAS 开始于 2001 年, 并在 2004 年 12 月正式成为 JA-SIG 的一个项目。

1.2. 主要特性
1、 开源的、多协议的 SSO 解决方案; Protocols : Custom Protocol 、 CAS 、 OAuth 、 OpenID 、 RESTful API 、 SAML1.1 、 SAML2.0 等。

2、 支持多种认证机制: Active Directory 、 JAAS 、 JDBC 、 LDAP 、 X.509 Certificates 等;

3、 安全策略:使用票据( Ticket )来实现支持的认证协议;

4、 支持授权:可以决定哪些服  阅读全文
posted @ 2016-06-08 10:04 rogerfan 阅读(438) | 评论 (0)编辑 收藏

     摘要: 一、概述

单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架,本文介绍了 CAS 的原理、协议、在 Tomcat 中的配置和使用,对于采用 CAS 实现轻量级单点登录解决方案的入门读者具有一定指导作用。



二、CAS介绍

CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目(http://www.jasig.org)。CAS 具有以下特点:

1)开源的企业级单点登录解决方案

2)CAS Server 为需要独立部署的 Web 应用

3)CAS Client 支持非常多的客户端(指Web 应用),  阅读全文
posted @ 2016-06-08 10:03 rogerfan 阅读(496) | 评论 (0)编辑 收藏

     摘要: 实施准备:

安装如下应用


1、百度云同步客户端(优点:有回收站,不小心删除的话可以收回,有历史版本管理,不贵,1年3块,可以查看100条历史记录)

2、VisualSVN-Server-2.7.2.msi(建立资源仓库,同步的目标)

3、TortoiseSVN-1.8.2.24708-win32-svn-1.8.3.msi

如有必要,请确保VisualSVN-Server 和 TortoiseSVN对应的Subversion版本一致,后续将介绍如何 自动 commit
  阅读全文
posted @ 2016-05-13 09:34 rogerfan 阅读(978) | 评论 (0)编辑 收藏

posted @ 2016-04-22 18:01 rogerfan 阅读(597) | 评论 (0)编辑 收藏

posted @ 2016-04-22 18:00 rogerfan 阅读(846) | 评论 (0)编辑 收藏

posted @ 2016-04-22 17:58 rogerfan 阅读(669) | 评论 (0)编辑 收藏

     摘要: 本文记录nginx+redis+tomcat实现session共享的过程

nginx安装:http://www.blogjava.net/fanyingjie/archive/2016/04/22/430204.html

redis安装:http://www.blogjava.net/fanyingjie/archive/2016/04/22/430203.html

准备两个tomcat,修改相应的端口




名称 IP 端口 tomcat版本 JDK
tomcat1 10.10.49.23 8080 7.0.40 1.7.0_25
tomcat2 10.10.49.15 8081 7.0.40 1.7.0_25
  阅读全文
posted @ 2016-04-22 17:15 rogerfan 阅读(488) | 评论 (0)编辑 收藏

     摘要: 1,安装redis并配置和启动, tomcat也做相就的下载,其他地方都有,可以在其他地方查阅。
2, 获取tomcat依赖包:
Tomcat使用 从https://github.com/xetorthio/jedis/downloads下载jedis作为java的redis客户端,
从https://github.com/jcoleman/tomcat-redis-session-manager/downloads下载tomcat的redis session manager插件
从http://commons.apache.org/proper/commons-pool/download_pool.cgi下载apache的common pool2包,2.2,将这几个jar包拷贝到tomcat7的lib目录下
包有: redis2.8、jedis.jar、common-pool2.2.jar、tomcat-redis-session-manager-1.  阅读全文
posted @ 2016-04-22 17:14 rogerfan 阅读(442) | 评论 (0)编辑 收藏

posted @ 2016-04-22 17:11 rogerfan 阅读(357) | 评论 (0)编辑 收藏

     摘要: 1.下载redis-3.0.3;
2.tar -zxvf redis-3.0.3.tar.gz
3.make
这里可能会报错,tclsh8.5: not found 发现少了tcl 报错
解决方法:下载,安装tcl
#wget http://downloads.sourceforge.net/tcl/tcl8.5.9-src.tar.gz

#cd /tcl8.5.9-src/unix

#./configure

#make

#make install

接着make ,make test 就没报错了
接着进入redis目录下的src目录
src目录下这些文件作用如下
redis-server:Redis服务器的daemon启动程序
  阅读全文
posted @ 2016-04-22 17:10 rogerfan 阅读(367) | 评论 (0)编辑 收藏

     摘要: 1、redis简介
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。
  阅读全文
posted @ 2016-04-22 16:45 rogerfan 阅读(277) | 评论 (0)编辑 收藏

     摘要: 1、技术目标


了解并创建Security框架所需数据表
为项目添加Spring Security框架
掌握Security框架配置
应用Security框架为项目的CRUD操作绑定权限


注意:本文所用项目为"影片管理",参看
http://hotstrong.iteye.com/blog/1156785

2、权限管理需求描述

为系统中的每个操作定义权限,如定义4个权限:
1)超级权限,可以使用所有操作
2)添加影片权限
3)修改影片权限
4)删除影片权限
为系统设置管理员帐号、密码
为系统创建权限组,每个权限组可以配置多个操作权限,如创建2个权限组:
1)"Administrator"权限组,具有超级权限
2)"影片维护"权限组,具有添加影片、修改影片权限
可将管理员加入权限组,管理员登录后具备权限组所对应操作权限
管理员可不属于某权限组,可为管理员直接分配权限  阅读全文
posted @ 2016-03-28 14:01 rogerfan 阅读(507) | 评论 (0)编辑 收藏

     摘要: 一:Git是什么?

  Git是目前世界上最先进的分布式版本控制系统。

  二:SVN与Git的最主要的区别?

  SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。

  Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。  阅读全文
posted @ 2016-03-25 10:18 rogerfan 阅读(299) | 评论 (0)编辑 收藏

     摘要: 关键字:微信公众平台开发
作者:方倍工作室



在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序、MySQL数据库、计算机网络通讯、及HTTP/XML/CSS/JS等基础。

我们将使用微信公众账号方倍工作室作为讲解的例子,二维码见底部。

本系列教程将引导你完成如下任务:

创建新浪云计算平台应用
启用微信公众平台开发模式
了解数据收发原理及消息格式
开发实现微信天气预报功能  阅读全文
posted @ 2016-03-22 09:41 rogerfan 阅读(329) | 评论 (0)编辑 收藏

     摘要: 以前写了一篇《Myeclipse 2015 stable 1.0 完美破解方法》,现在跟新一下Myeclipse 2015 stable 2.0 破解方法,此方法来源于贴吧的一篇文章:http://tieba.baidu.com/p/3809637196?pn=1 ;在此先感谢一下作者的付出。下面是我在MAC下破解的图文过程(Linux和windows其实大同小异)。破解方法和我写得《Myeclipse 2015 stable 1.0 完美破解方法》基本一样。这里我用作者的思路:[单击图片可查看高清图片,灰色可先忽略当出问题时回过头来在看]

破解包地址: http://pan.baidu.com/s/1c0x0yqs 密码: natw
(myeclipse软件需要从上面网盘链接里下载,近期官网出来的新版本用此破解包不前无法破解)
注册机我拿源码改了一下,屏蔽了ReplaceJarFile,大家破解就手动吧(主要是替换Jar包那里我懒得改了,也没那个时间)
*注意算号器的作者不是本人,我只是修改了一下,顺便膜拜下作者(别问我作者是谁,我不记得了,  阅读全文
posted @ 2016-03-03 15:21 rogerfan 阅读(877) | 评论 (0)编辑 收藏

     摘要: MyEclipse 2015优化速度方案仍然主要有这么几个方面:去除无需加载的模块、取消冗余的配置、去除不必要的检查、关闭更新。

>MyEclipse 2015下载<

第一步: 去除不需要加载的模块

一个系统20%的功能往往能够满足80%的需求,MyEclipse也不例外,我们在大多数时候只需要20%的系统功能,所以可以将一些不使用的模块禁止加载启动。通过Windows- Preferences打开配置窗口,依次选择左侧的General--> Startup and Shutdown,这个时候在右侧就显示出了Eclipse启动时加载的模块,可以根据自己的实际情况去除一些模块。  阅读全文
posted @ 2016-03-03 15:19 rogerfan 阅读(281) | 评论 (0)编辑 收藏

     摘要: 1. 环境搭建

  1.1 下载

    http://www.sonatype.org/nexus/
    NEXUS OSS [OSS = Open Source Software,开源软件——免费]
    NEXUS PROFESSIONAL -FREE TRIAL [专业版本——收费]。
    所以选择NEXUS OSS  阅读全文
posted @ 2016-03-01 17:36 rogerfan 阅读(337) | 评论 (0)编辑 收藏

     摘要: 分析函数2(Rank, Dense_rank, row_number)



目录
===============================================
1.使用rownum为记录排名
2.使用分析函数来为记录排名
3.使用分析函数为记录进行分组排名

一、使用rownum为记录排名:

在前面一篇《Oracle开发专题之:分析函数》,我们认识了分析函数的基本应用,现在我们再来考虑下面几个问题:

①对所有客户按订单总额进行排名
②按区域和客户订单总额进行排名
③找出订单总额排名前13位的客户
④找出订单总额最高、最低的客户
⑤找出订单总额排名前25%的客户  阅读全文
posted @ 2016-02-26 13:01 rogerfan 阅读(389) | 评论 (0)编辑 收藏

posted @ 2015-12-30 10:09 rogerfan 阅读(570) | 评论 (0)编辑 收藏

     摘要: 因为在jsf要用到jstl标签,这里做有效的整理。在使用这些函数之前必须在JSP中引入标准函数的声明

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
下面是JSTL中自带的方法列表以及其描述  阅读全文
posted @ 2015-12-19 13:48 rogerfan 阅读(509) | 评论 (0)编辑 收藏

posted @ 2015-09-26 16:49 rogerfan 阅读(392) | 评论 (0)编辑 收藏

     摘要: 私服是什么
私服,私有服务器,是公司内部Maven项目经常需要的东东,不总结一下,不足以体现出重视。Nexus是常用的私用Maven服务器,一般是公司内部使用。下载地址是http://www.sonatype.org/nexus/go。默认端口8081,这里我选择最新版nexus-2.5.0-04。

常用功能

Nexus常用功能就是:指定私服的中央地址、将自己的Maven项目指定到私服地址、从私服下载中央库的项目索引、从私服仓库下载依赖组件、将第三方项目jar上传到私服供其他项目组使用。

开启Nexus服务后访问url地址http://localhost:8081/nexus/(推荐使用自己的ip地址),之后登录系统,用户名密码分别是:admin/admin123.

最频繁的就是点击左侧菜单栏的Repositories按钮
  阅读全文
posted @ 2015-09-19 10:35 rogerfan 阅读(488) | 评论 (0)编辑 收藏

     摘要: 1.为什么要用VisualSVN Server,而不用Subversion?

回答:

因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【http协议】访问,一般还要安装配置Apache,如果是新手,岂不是很头痛?而VisualSVN Serve集成了Subversion和Apache,省去了以上所有的麻烦。安装的时候SVN Server已经封装为windws service,Apache服务器的配置也只是在图像界面上,指定认证方式、访问端口等简单操作;另外,用户权限的管理也是通过图像界面来配置。

2.为什么不用TFS?

回答:

因为我们一开始就是用Subversion和TortioseSVN,所以就没有更换其他的软件。至于TFS至今没有用过,其实,我只是看了一些的文章而已,对它也不了解。

3.VisualSVN Serve  阅读全文
posted @ 2015-09-11 16:27 rogerfan 阅读(1312) | 评论 (0)编辑 收藏

     摘要: 本文是关于MySQL数据库性能优化方面的问题,希望对初中级MySQL DBA以及其他对MySQL性能优化感兴趣的朋友们有所帮助。
在平时被问及最多的问题就是关于MySQL数据库性能优化方面的问题,所以最近打算写一个MySQL数据库性能优化方面的系列文章,希望对初中级MySQL DBA以及其他对MySQL性能优化感兴趣的朋友们有所帮助。

数据库属于IO密集型的应用程序,其主职责就是数据的管理及存储工作。而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级。所以,要优化数据库,首先第一步需要优化的就是IO,尽可能将磁盘IO转化为内存IO。本文先从MySQL数据库IO相关参数(缓存参数)的角度来看看可以通过哪些参数进行IO优化:

•query_cache_size/query_cache_type (global)

Query cache作用于整个MySQL Instance,主要用来缓存MySQL中的ResultSet,也就是一条SQL语句执行的结果集,所以仅仅只能针  阅读全文
posted @ 2015-09-10 19:22 rogerfan 阅读(478) | 评论 (0)编辑 收藏

     摘要: mysql cache功能分析:

1 mysql的cache功能的key的生成原理是:把select语句按照一定的hash规则生成唯一的key,select的结果生成value,即 key=>value。所以对于cache而言,select语句是区分大小写的,也区分空格的。两个select语句必须完完全 全一致,才能够获取到同一个cache。

2 生成cache之后,只要该select中涉及到的table有任何的数据变动(insert,update,delete操作等),相 关的所有cache都会被删除。因此只有数据很少变动的table,引入mysql 的cache才较有意义。关于这方面的测试,可以参考:《Query Cache,看上去很美》一文。

所以,mysql的cache功能只适用于下列场合:数据变动较少,select较多的table。

那么。在复杂的系统中,如何使用mysql的cache功能呢,基本方法如下:

配置query_cache_type,同时改写程序。

quer  阅读全文
posted @ 2015-09-10 19:20 rogerfan 阅读(489) | 评论 (0)编辑 收藏

     摘要: 开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务。之初,曾有个小小的疑问为何不采用开源的 apache、Nginx软件负载,F5设备动辄几十万,价格昂贵?自己一个比较幼稚的问题,后续明白:F5是操作于IOS网络模型的传输 层,Nginx、apache是基于http反向代理方式,位于ISO模型的第七层应用层。直白些就是TCP UDP 和http协议的区别,Nginx不能为基于TCP协议的应用提供负载均衡。


了解了二者之间的区别于应用场景,对Nginx产生浓厚的兴趣,阅读张宴的<实战Nginx>(这个85年的小伙子年轻有为羡慕+妒忌),搞 明白了大致原理和配置,Ubuntu10.10,window下对Nginx+tomcat负载均衡做了配置尝试,将全部请求转发到tomcat,并未做 静态,动态分开,图片防盗链等配置。  阅读全文
posted @ 2015-03-01 11:18 rogerfan 阅读(1553) | 评论 (0)编辑 收藏

     摘要: 就目前形势来看,Web App 正是眼下的一个趋势和潮流,但是,对于Web App的设计可能大家有的不是很了解,下面就将整理好的网页设计的技巧奉献给大家  阅读全文
posted @ 2015-02-13 09:23 rogerfan 阅读(1751) | 评论 (0)编辑 收藏

posted @ 2014-07-16 11:58 rogerfan 阅读(3018) | 评论 (0)编辑 收藏

     摘要: 1、 为什么使用Nexus

如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下 载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库怎么 办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的maven私服,这样既节省了网络带宽也会加速项目搭建的进程, 当然前提条件就是你的私服中拥有项目所需的所有构件。

2、Nexus下载

下载地址:http://www.sonatype.org/nexus/go

3、Nexus启动

我下载的是zip包,解压后进入\nexus-2.1.2-bundle\nexus-2.1.2\bin\jsw\,根据操作系统类型选择文件夹,我选的是windows-x86-32文件夹,进入后可看到如下所示bat文件。  阅读全文
posted @ 2014-05-26 10:40 rogerfan 阅读(2290) | 评论 (0)编辑 收藏

     摘要: 一、常见的Java内存溢出有以下三种:



1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出
JVM在启动的时候会自动设置JVM Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。

可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap的大小是Young Generation 和Tenured Generaion 之和。

在JVM中如果98%的时间是用于GC,且可用的Heap size 不足2%的时候将抛出此异常信息。

解决方法:手动设置JVM Heap(堆)的大小。



2. java.lang.OutOfMemoryError: PermGen space ---- PermGen space溢出。
PermGen space的全称是Permanent Generation space,是指  阅读全文
posted @ 2014-05-16 17:12 rogerfan 阅读(2581) | 评论 (0)编辑 收藏

     摘要: PowerDesigner对数据库反向建立PDM可以使用sql方式,这个很简单,直接导入建表sql文件就可以了。
要说的是使用数据库做源的建模方式,以前弄过一次,很久没弄忘了,这次要弄在网上搜了一下,结果不太满意,于是自己重新整理了一个步骤,贴出来共享一下,也算给自己做个备忘。

注意事先安装好Oracle客户端,并且正确配置好tns。

1、 新建PDM:
选择菜单File->New Model,【Model type】选择Physical Data Model,【Model name】 自由命名,【DBMS】选择“ORACLE Version 10gR2”,OK。  阅读全文
posted @ 2014-02-10 09:29 rogerfan 阅读(2399) | 评论 (0)编辑 收藏

     摘要: 序言
一直以来,报表都是很多项目中一个重要的、不可获取的组成部分。然而其复杂性和专业性又使得程序员不能够也没时间自己设计属于目前手头正在构建的系统的报表模块;即便设计来了又可能由于通用性等原因不能够应用到下一个系统当中,这就导致了报表类库/组件在市场上的火爆。典型的例子就是水晶报表,几乎无处不在。还有一些专门处理中国式报表的组件也陆续出现在软件市场上。然而遗憾的是,他们中的绝大多数都是要收费的--这也无可厚非,毕竟人都是要生存的。所以大多数预算不够充裕的程序员都将目光转向了开源软件,而JasperReport就将是第一个进入他们视线中的佼佼者。
然而代码开源不代表我们就可以大大方方的拿来就用了,人家的文档也是要收费的,所以市面上有关于JasperReport的文档虽然也不少,但大多数都集中在简单应用和介绍基本操作的基础之上。对于复杂的报表设计并不能提供良好的帮助。本文将火力集中在相对复杂的报表设计(不包括图片和超连接等对办公系统或过程没有太大用途的页面元素),交叉表的生成等高级报表设计方案。对于那些基本的操作则留给读者自行体会,相信可以为各位解决一些实际问题。
  阅读全文
posted @ 2013-08-29 10:50 rogerfan 阅读(2356) | 评论 (0)编辑 收藏

     摘要: 1.1 简介
JasperReport是报表的引擎部分,界面设计是用iReport。为什么选择这两个软件呢?因为这两个软件都是开源的,即免费的(虽然某些文档收费,但是磨灭不了我们使用它的理由)。

JasperReport是一个报表制作程序,用户按照它制定的规则编写一个XML文件,然后得到用户需要输出的格式文件。它支持输出的文件格式包括PDF,HTML,XML,XLS,CSV等等。

用JasperReport做报表,可以分为两种方式:

1、 直接利用程序定义一个报表

2、 写一个xml文件来描述这个报表,通常需要借助于iReport

JasperReport做报表时用的都是底层的东西,如线条、静态文本等,底层的好处就是强大、容易控制报表,但缺点就是编写很麻烦。庆幸的是,我们有iReport这个软件,这个软件完全是弥补JasperReport的不足,将底层编写推向可视化,大大的方便了我们。

  阅读全文
posted @ 2013-08-29 10:46 rogerfan 阅读(4154) | 评论 (0)编辑 收藏

     摘要: 有时候当我们注册完的时候系统会提示有一封邮件发送到了你的邮箱,如何做呢?
就要用到spring+velocity+javamail这3个玩意,其实只用了spring,因为其他2个都被spring集成了。
先看代码   阅读全文
posted @ 2013-08-29 10:19 rogerfan 阅读(3097) | 评论 (3)编辑 收藏

     摘要: 安装:
1. 从Oracle网站下载wls1035_oepe111172_win32.exe,约有1G大小。下载地址:http://www.oracle.com/technetwork/middleware/fusion-middleware/downloads/index.html?ssSourceSiteId=ocomen
  阅读全文
posted @ 2013-08-05 15:55 rogerfan 阅读(2446) | 评论 (0)编辑 收藏

     摘要: tomcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,可以看他的启动控制台,或者启动日志.或者登录他们的默认页面http://localhost:8080/查看其中的服务器状态。

1)bio

默认的模式,性能非常低下,没有经过任何优化处理和支持.

2)nio

利用java的异步io护理技术,noblocking IO技术.

想运行在该模式下,直接修改server.xml里的Connector节点,修改protocol为

阅读全文
posted @ 2013-08-01 08:51 rogerfan 阅读(2032) | 评论 (0)编辑 收藏

     摘要: HTTP Post慢速DOS攻击第一次在技术社区被正式披露是今年的OWASP大会上,由Wong Onn Chee 和 Tom Brennan共同演示了使用这一技术攻击的威力。他们的slides在这里:

http://www.darkreading.com/galleries/security/application-security/228400167/slide-show-ddos-with-the-slow-http-post-attack.html

这个攻击的基本原理如下:

针对任意HTTP Server,建立一个连接,指定一个比较大的content-length,然后以很低的速度发包,比如10-100s发一个字节,hold住这个连接不断开。如果客户端持续建立这样的连接,那么服务器上可用的连接将很快被占满,从而导致DOS.

这一攻击引起我注意的原因有这几点:

1. 它可以针对任意Web服务。HTTP协议在接收到request之前是无法对请求内容作校验的,所以即使你的Web应用没有可用form  阅读全文
posted @ 2013-08-01 08:50 rogerfan 阅读(2294) | 评论 (0)编辑 收藏

posted @ 2013-07-15 10:50 rogerfan 阅读(3354) | 评论 (0)编辑 收藏

     摘要: 前几天客户提出要强制使用HTTPS方式访问Tomcat中的相关项目,于是研究了下,现将具体的步骤写下:

主要分2步:让tomcat能使用https--->强制使用https访问

1.让tomcat能使用https

A.在运行命令JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg
RSA -keystore C:\Tomcat\GMAE3.0Tomcat\tomcat.keystore
这样就生成了证书,将证书放到合适的地方(任意地方都可以)

B.打开tomcat目录下的server.xml文件并找到关于ssl的相关段
  阅读全文
posted @ 2013-06-04 11:29 rogerfan 阅读(1074) | 评论 (0)编辑 收藏

posted @ 2013-03-31 05:17 rogerfan 阅读(1368) | 评论 (0)编辑 收藏

     摘要: 最近做一个项目,客户希望可以自己选择想要查看的列表,这样就不好办了,选择列表的名字他们也想自定义,没办法这就需要查看数据表中字段,中文说明,默认标志了。在网上查了部分资料但是发现粘上去的代码都存在问题,无奈只好自己修改了一下,代码如下:

如下代码能正常运行,都是网上查找资料最后拼凑总结出来的。条件就自己加吧。网上好像也有不少类型的东西,这里留着以备不时只需!  阅读全文
posted @ 2013-03-31 04:59 rogerfan 阅读(926) | 评论 (0)编辑 收藏

     摘要: 如果做表单自定义或做数据库管理软件,就必须能自动取得某个用户下数据库的一些信息。比较有用的有:
表名,字段英文名,字段中文名,字段的类型,字段的长度等。其中,字段的中文名按照数据库的记录是无法取到的,但是我们可以变通一下,
通过comments去记录字段中文名。
//取得该用户下所有的表
select * from user_tables;
//取得表名为Sysuser的注释信息
select * from user_tab_comments where table_name = 'SYSUSER';
//取得该用户下表名为Sysuser表的结构
select * from user_tab_columns where table_name='SYSUSER';
//取得该用户下表名为sysuser表中字段的注释信息
select * from user_col_comments where table_name = 'SYSUSER';  阅读全文
posted @ 2013-03-31 04:46 rogerfan 阅读(2503) | 评论 (0)编辑 收藏

     摘要: 目标:
本文主要介绍PowerDesigner中概念数据模型 CDM的基本概念。

一、概念数据模型概述
数据模型是现实世界中数据特征的抽象。数据模型应该满足三个方面的要求:
1)能够比较真实地模拟现实世界
2)容易为人所理解
3)便于计算机实现

概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充。它从用户的观点出发对信息进行建模,主要用于数据库的概念级设计。

通常人们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。换句话说,就是先将现实世界中的客观对象抽象为实体(Entity)和联系(Relationship),它并不依赖于具体的计算机系统或某个DBMS系统,这种模型就是我们所说的CDM;然后再将CDM转换为计算机上某个DBMS所支持的数据模型,这样的模型就是物理数据模型,即PDM。  阅读全文
posted @ 2013-02-28 21:53 rogerfan 阅读(637) | 评论 (0)编辑 收藏

     摘要: 需求获取与分析

a)不要在需求获取和分析过程中吝啬你的时间,对需求的明确可以减少你以后设计和开发的改动,提高你所开发软件的可用性。你对它的轻视只可能换来对你的产品修改、计划延迟等方面的惩罚。

b)要使尽各种办法,尽量多的获取客户的需求,主要的方法包括:仔细阅读合同标书和市场资料、与客户直接的谈话交流、让用户观看或使用原型界面提出意见。另外不要忽略内部客户的一些合理需求如测试人员等。

c)进行正规的需求管理,如建立需求文档或使用需求管理数据库等。在文档或数据库中要保留每个需求的详细描述及其来源,最好还能记录一些其他细节信息(如用户的一些原始描述等),另外别忘了确定每个需求的优先级。

d)在设计前组织你的设计人员开会进行需求理解和讨论。由于阅读文字性的信息容易造成一些误解和歧义,最好让需求制定者组织会议,给相关人员(如各子系统设计人员)讲解需求并进行设计讨论。这样做有两个好处,一是避免设计与需求出现偏差,二是激发设计人员产生初步的设计想法。
  阅读全文
posted @ 2013-01-25 15:30 rogerfan 阅读(502) | 评论 (0)编辑 收藏

     摘要: 一:编写目的
本文档的编写旨在探寻规范的软件开发流程、加快软件开发速度、提高软件开发质量、降低项目综合成本。
IT界有一句格言:"You can do it right; you can do it fast; you can do it cheap. Pick two." 而我们要做的就是:提供优质服务、项目周期短、成本低廉
二:总体说明
项目从用户需求说明书的提出,到系统的第一个完整版本的交付使用经历了若干或复杂或简单的过程,但不管项目大小如何一般需要经历以下几个步骤:
1. 需求分析。
2. 撰写需求规格说明书
3. 总体设计
4. 详细设计
5. 编码实现
6. 测试、试运行、上线
7. 验收
8. 日常维护
9. (下一个版本的循环开发)  阅读全文
posted @ 2013-01-25 15:27 rogerfan 阅读(643) | 评论 (0)编辑 收藏

     摘要: 结合本人这几年在项目管理上的总结和得失,本人认为优秀的项目经理要有责任心、要善于沟通、能引导客户、能预测风险、 善于总结、 随需应变、善于激励团队、同时也要懂技术。

  责任心

  作为项目经理首先要有责任心。有了责任心,你会把项目当成自己的孩子,倾注你的全部心血。责任,会驱使你关注项目的进度,千方百计去寻找各种资源,推着项目往前走。甚至吃饭、睡觉,走路、坐车,都想着整个项目团队,想着他们还在加班加点,你可能很自然地给他们带点夜宵、冲杯咖啡,犒劳员工。

  有了项目经理做表率,整个团队会鼎力支持工作,士气非常高,技术问题也迎刃而解,得到领导称赞和客户肯定,项目将朝着预想的方向发展。

  许多开发人员抱怨项目经理一天没干多少事情,而工资还挺高。其实,项目经理一刻都没闲着,他总在想着怎样更好的执行项目计划,调整项目进度等,脑子一直在不停地运转,所以说项目经理是心累。  阅读全文
posted @ 2013-01-23 14:57 rogerfan 阅读(552) | 评论 (0)编辑 收藏

     摘要: 项目经理是项目的领头人,是项目团队灵魂型的人物。项目经理需要具备怎样的良好习惯方能更有助于团队、项目和自我的成功,史蒂芬·柯维博士在《高效能人士的七个习惯》一书中阐述了高效能人事所需要具备的七个习惯:积极主动、以终为始、要事第一、双赢思维、知彼解己、统合综效、不断更新(关于这七个习惯的内涵本文不作描述,有爱好的读者可以去参阅《高效能人士的七个习惯》这本书)。无疑,这七个习惯也是优秀项目经理所需要具备的。然而,从作者多年的工作经验来看,作为项目经理这样一个特别的角色,除了需要具备上述七个习惯外,还需要具备如下与其职位息息相关的六个习惯:目标导向、全局思维、计划先行、关注意点、客户至上和注意团队。以下对这六个习惯进行剖析。
  阅读全文
posted @ 2013-01-23 14:54 rogerfan 阅读(393) | 评论 (0)编辑 收藏

     摘要: 项目背景及概要
  政府项目,项目金额百万级别。属于电子政务范畴,并同时需要开发多套部门应用系统。
  项目启动
  项目启动很重要,这是项目经理判断项目操作的一个最基本点,由于项目性质是政府,目标客户是官僚机构,我一开始并没有去做调研,而是先通过拉关系,建立兄弟般的友情开始,从聊天中我摸清了政府对这个项目的一些基本看法,这对我们实施可是有巨大帮助!属于指导性纲领。
  项目沟通机制
  对于官僚机构,他们最喜欢的就是汇报,有领导的欲望,所以我制定的沟通,每星期碰面一次,每周以工作报告形式汇报。并制定了双方领导通报机制,毕竟政府项目多是领导工程(一把手工程)
  阅读全文
posted @ 2013-01-23 13:36 rogerfan 阅读(560) | 评论 (0)编辑 收藏

     摘要: 为food项目配置了项目管理平台,综合了trac、dotProject、Redmine等几个开源平台,最终选择了Redmine。项目主页 http://www.redmine.org



下面是安装方法:

一、Redmine安装。

1、准备

安装之前请阅读:RailsInstaller简化了Rails在Windows上的安装过程

英文原文:RailsInstaller Provides Easy Rails on Windows Installation

作者:Rob Bazinet 译者:张龙

RailsInstaller向Windows开发者提供了一种便捷的方式以轻松、快速创建Ruby on Rails 3应用。到目前为止,Windows开发者需要自己搭建好Ruby、RubyGems、Rails以及SQLite才能开始创建Rails应用。多亏了来自Engine Yard的Nic Williams博士及其团队,现在一切都变得简单异常。  阅读全文
posted @ 2012-12-26 10:19 rogerfan 阅读(1694) | 评论 (0)编辑 收藏

     摘要: 1. 介绍

Maven是Java开发者中流行的构建工具,Maven的好处之一是可以帮助减少构建应用程序时所依赖的软件构件的副本,Maven建议的方法是将所有软件构件存储于一个叫做repository的远程仓库中。

Maven会从ibiblio.org中的公用仓库中同步构件,这个公用仓库下载缓慢、不稳定,并且不包含一些构件的最新版本,而且不能上传团队私有的构件。通过设置内部Maven仓库,团队可以更有好地利用Maven仓库的优势并且克服使用ibiblio上的仓库时的缺点。

本文着眼于Maven仓库工具应提供的一些功能,列出了选择Maven仓库工具的标准,说明了使用Artifactory设置Maven仓库的相关步骤。在Linux和Windows中设置Maven仓库的过程是相同的,少数不同点在文中已经用高亮显示,本文列出了与这个Maven仓库的使用有关的POM文件的范例,用截图来向用户阐述如何设置Maven仓库,Maven和artifactory配置范例也有列出。  阅读全文
posted @ 2011-10-28 11:08 rogerfan 阅读(1471) | 评论 (0)编辑 收藏

     摘要: SOAP原意为Simple Object Access Protocol(简单对象访问协议),是一个用于分布式环境的、轻量级的、基于XML进行信息交换的通信协议(SOAP is an XML based protocol used to exchange information throughout a distributed environment)。

以下是w3c网站上的定义:

SOAP Version 1.2 (SOAP) is a lightweight protocol intended for exchanging structured information in a decentralized, distributed environment. It uses XML technologies to define an extensible messaging framework providing a message construct that can be exchanged over a variety of underlyi  阅读全文
posted @ 2011-09-24 10:22 rogerfan 阅读(1683) | 评论 (0)编辑 收藏

     摘要: 在传统的RPC编程接口逐渐淡出人们视线的同时,新的、更便于使用且附加了更多特性的RPC编程接口也不断涌现,CORBA作为分布式对象计算技术的典范,在很长一段时间内极大地吸引了大家的注意,但是由于CORBA规范试图覆盖过多的内容,使得CORBA显得过于复杂,也极大地限制了CORBA的应用范围,本系列将向大家介绍几种轻量级的,更适于在Java开发中使用的RPC编程接口:RMI、XML-RPC、SOAP。

RMI(Remote Method Invocation)
与本系列将介绍的其它两种RPC编程接口不同,RMI(Remote Method Invocation)显得有些老旧,它是在Java-IDL加入J2SE之前被引入的。RMI开发流程与CORBA如出一辙(从出现的时间上无法确定RMI是否是按照CORBA规范定制的),因此,其开发过程相对比较烦琐,但是由于RMI是EJB的基础,因此,它在Java开发中具有十分重要的地位。

以下是创建远程方法调用的5个步骤:

1. 定义一个扩展了Remote接口的接口,该接口中的每一个方法必  阅读全文
posted @ 2011-09-24 10:21 rogerfan 阅读(4504) | 评论 (0)编辑 收藏

     摘要: XML-RPC是一种简单的,轻量级的通过HTTP协议进行RPC通信的规范。本文以Apache XML-RPC 3.0为基础,对XML-RPC的基本原理及Apache XML-RPC 3.0的主要特性进行了讨论和分析。

  阅读全文
posted @ 2011-09-24 10:16 rogerfan 阅读(3223) | 评论 (0)编辑 收藏

     摘要: 现在流行安卓系统,鉴于囊中羞涩,买不起手机,所以我就在网上找了个安卓模拟器,特整理了一下,发给大家,对安卓系统感兴趣的朋友不妨拿来解解馋吧。
方法如下:
一.安装java JDK 1.6,并配置以下三个环境变量:
下载地址
1.添加
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.6.0_10
  阅读全文
posted @ 2011-08-25 14:41 rogerfan 阅读(3634) | 评论 (2)编辑 收藏

     摘要: Tomcat内存设置方法
windows中大家都知道,JAVA程序启动时都会JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些内存。
所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都可以通过中-Xms -Xmx来调整应用程序的初始内存和最大内存:
如:java -Xms64m -Xmx128m a.jar.
tomcat的启动程序是包装过的,不能直接使用java -X..... tomcat.*来改变内存的设置。在Tomcat在改变这个设置
有两种方法:
1. 适合用%tomcat_home%\bin中的startup.bat脚本启动,需要在环境变量中加上CATALINA_OPTS这个属性 。
如 SET CATALINA_OPTS= -Xms64m -Xmx512m;
ms是最小的,mx是  阅读全文
posted @ 2011-01-11 16:57 rogerfan 阅读(780) | 评论 (0)编辑 收藏

     摘要: 分享一下多年来在myeclipse中支持jquery、ext、YUI、mooto等主流框架的自动完成、提示、调试等方法。百忙之中非常想念各位群友,MMT很快就会回来。以下着重介绍link方式安装,不推荐升级模式安装,升级安装会带来很多问题,并且尝尝安装不成功。

1、从http://update1.aptana.org/studio/3.2/024747/index.html下载aptana studio的eclipse插件 aptana_update_024747.zip

2、在D:\Myeclipse下创建myPlugins文件夹。 (我的myeclipse装在D盘)

3、在 D:\Myeclipse\eclipse\links 下创建一个link文件aptana.link,内容如下:path=D:\\Myeclipse\\myPlugins\\aptana

4、在 D:\Myeclipse\myPlugins中创建文件夹aptana,在这个aptana文件夹下创建名为eclipse的文件夹。 阅读全文
posted @ 2010-12-09 15:40 rogerfan 阅读(1951) | 评论 (0)编辑 收藏

     摘要: 首 先在代码与生产库间建立一个Connection,将读取到的数据放在ResultSet对象,然后再与开发库建立一个Connection。从 ResultSet取出数据后通过TestConnection插入到开发库,以此来实现Copy。代码写完后运行程序,速度太慢了,一秒钟只能Copy 一千条数据,生产库上有上亿条数据,按照这个速度同步完要到猴年马月呀,用PreparedStatement批处理速度也没有提交多少。我想能不能用多 线程处理,多个人干活总比一个人干活速度要快。
假设生产库有1万条数据,我开5个线程,每个线程分2000条数据,同时向开发库里插数据,Oracle支持高并发这样的话速度至少会提高好多倍,按照这 个思路重新进行了编码,批处理设置为1万条一提交,统计插入数量的变量使用 java.util.concurrent.atomic.AtomicLong,程序一运行,传输速度飞快CPU利用率在70%~90%,现在一秒钟可 以拷贝50万条记录,没过几分钟上亿条数据一条不落地全部Copy到目标库。  阅读全文
posted @ 2010-11-26 14:11 rogerfan 阅读(1021) | 评论 (0)编辑 收藏

     摘要: 1. SELECT子句中避免使用 “*”
当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 ‘*’ 是一个方便的方法.不幸的是,这是一个非常低效的方法. 实际上,ORACLE在解析的过程中, 会将“*” 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间.

2.使用DECODE函数来减少处理时间
使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表. 例如:
Sql代码 1.SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0020 AND ENAME LIKE ‘SMITH%’;
2.SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0030 AND ENAME LIKE ‘SMITH%’;
SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0020 AND ENAME LIKE ‘SMITH%’;   阅读全文
posted @ 2010-11-19 14:06 rogerfan 阅读(623) | 评论 (0)编辑 收藏

     摘要: 1、将文件checkout到本地目录
svn checkout path(path是服务器 上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
简写:svn co

2、往版本库中添加新的文件
svn add file
例如:svn add test.php(添加test.php)
svn add *.php(添加当前目录下所有的php文件)

3、将改动的文件提交到版本库
svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)
例如:svn commit -m “add test file for my test“ test.php
简写:svn ci

4、加锁/解锁
svn lock -m “LockMessage“ [--force] PATH
例如:svn lock -m “lock te  阅读全文
posted @ 2010-11-18 10:28 rogerfan 阅读(1357) | 评论 (0)编辑 收藏

posted @ 2010-11-10 11:10 rogerfan 阅读(825) | 评论 (0)编辑 收藏

     摘要: 常见的内存溢出有以下两种:

java.lang.OutOfMemoryError: PermGen space

java.lang.OutOfMemoryError: Java heap space



---------------------------------------------------------

这里以tomcat环境为例,其它WEB服务器如jboss,weblogic等是同一个道理。


一、java.lang.OutOfMemoryError: PermGen space

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,
这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,
它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主  阅读全文
posted @ 2010-11-08 14:57 rogerfan 阅读(4981) | 评论 (0)编辑 收藏

     摘要: 1. 环境:

1.1. Red Hat Linux 9

1.2. Tomcat 5.5.17

2. 需要解决一下几个问题

2.1. 不同的tomcat启动和关闭监听不同的端口

2.2. 不同的tomcat的启动文件startup.sh 中要指定各自的CATALINA_HOME和CATALINA_BASE这两个环境变量。

阅读全文
posted @ 2010-07-11 19:18 rogerfan 阅读(1634) | 评论 (0)编辑 收藏

     摘要: DWR是一个框架,简单的说就是能够在javascript直接调用java方法,而不必去写一大堆的javascript代码。它的实现是基于ajax的,可以实现无刷新效果。

网上有不少DWR的例子,但大都只是某种方法的调用,本文只在使用层面上介绍DWR,并不涉更多的技术与设计,其目的是让初学者能够很快的学会各种java方法在javascript中是如何调用的。

本文以DWR 1.1 为基础,对于DWR 2.0,因为还没有正式发布版,故不做介绍。

一、dwr配置篇之web.xml

1、最小配置
  阅读全文
posted @ 2010-07-11 19:17 rogerfan 阅读(605) | 评论 (0)编辑 收藏

     摘要: 我的试验主要包括4种:
1.回传一个普通的String字符串.
2.回传一个组织好的Javascript字符串.
3.回传一个Json对象.(需要引入json.jar)
4.回传一个XML对象.
基本实现如下:
其中测试页面为:  阅读全文
posted @ 2010-07-11 19:06 rogerfan 阅读(1586) | 评论 (0)编辑 收藏

     摘要: 一、使用校验规则创建Person-validation.xml文件


为了利用WebWork校验框架实现数据校验有两件事情要做,第一是创建一个validation.xml文件,第二是在需要进行校验的action中加入一个校验interceptor引用。

WebWork允许两种类型的校验 —— per-action和model-based。因为所有的Action对Person引用都要使用相同的校验规则,所以本文将使用model-based类型的校验。

在src/dao/**/model目录下创建Person-validation.xml文件并加入下列内容:
  阅读全文
posted @ 2010-07-11 18:46 rogerfan 阅读(387) | 评论 (0)编辑 收藏

     摘要: 准备工作

  首先先下载Windows版本的SVN服务器(各位都会使用搜索引擎所以就不提供下载地址了),这里我以svn-win32-1.4.3的ZIP解压缩版为例,将其解压缩到目标目录,例如我是解压到D盘下的Subversion目录,把D:\Subversion\bin加到系统环境变量,如果你的解压位置与我不同,那么请按照你的实际路径设置环境变量。

第一步:创建SVN数据库

  打开Windows命令提示符,执行命令svnadmin create F:\SVN,svnadmin create是创建SVN数据库的命令,F:\SVN是你的SVN数据库位置,这里我只是举个例子,你可以自己决定SVN数据库位置,执行完以上命令后就会在F盘下多出一个SVN目录,里面有若干目录和文件,conf目录是用来存放权限配置的,后面会详细说明,dav目录用来提供给apache和mod_dav_svn存储内部数据,db目录是所有版本控制的数据文件,hooks目录用来放置hook脚本文件,locks目录存放Subversion文件库锁定数据,用来追踪存取  阅读全文
posted @ 2010-07-09 09:02 rogerfan 阅读(711) | 评论 (0)编辑 收藏

     摘要: 对比版本
Release 10.2.0.1.0 XE windowsXP
5.0.45-community-nt-log MySQL Community Edition (GPL)

当作计算器
SQL> select 1+1 from dual;
mysql> select 1+1;

mysql> select 1+1 from dual;

显示表结构
SQL> desc 表名
mysql> desc 表名;

SQL> describe 表名
mysql> describe 表名;

mysql> explain 表名;

注意:explain 也可以用来获取执行计划。

需要访问:

User_tables、user_tab_cols、USER_COL_COMMENTS、USER_INDEXES等等字典表。
mysql> show columns fro  阅读全文
posted @ 2010-07-08 15:40 rogerfan 阅读(1552) | 评论 (0)编辑 收藏

     摘要: 需要的软件:

1.apache 2.2.11 (此下载地址被墙,翻*墙可下载,其他版本的Apache可以在这里找到 http://archive.apache.org/dist/httpd/binaries/win32/)

2.Subversion 1.6.5

3.TortoiseSVN 1.6.8

4.TortoiseSVN 1.6.8 中文语言包



安装方法:



1.先安装apache ,没有什么特别的,这里就按照默认安装路径 C:/Program Files (x86)/Apache Software Foundation/Apache2.2/



2.安装Subversion 也按默认路径安装 C:\Program Files (x86)\Subversion
  阅读全文
posted @ 2010-07-06 11:13 rogerfan 阅读(769) | 评论 (0)编辑 收藏

     摘要: maxRequests
同时执行 SQL 语句的最大线程数。大于这个值的线程将阻塞直到另一个线程执行完成。不同的 DBMS有不同的限制值,但任何数据库都有这些限制。通常这个值应该至少是maxTransactions(参见以下)的 10 倍,并且总是大于 maxSessions 和maxTranactions。减小这个参数值通常能提高性能。

例如:maxRequests=“256”
缺省值:512

maxSessions
同一时间内活动的最大 session 数。一个 session 可以maxSessions是代码请求的显式 session,也可以是当线程使用SqlMapClient 实例(即执行一条语句)自动获得的session。它应该总是大于或等于 maxTransactions 并小于 maxRequests。减小这个参数值通常能减少内存使用。

例如:maxSessions=“64”
缺省值:128  阅读全文
posted @ 2010-07-01 11:21 rogerfan 阅读(2091) | 评论 (0)编辑 收藏

     摘要: 1.ibatis中使用缓存
首先设置SqlMapConfig.xml中节点的属性cacheModelsEnabled="true"

然后在具体sqlmap文件中书写

Xml代码







posted @ 2010-06-30 16:58 rogerfan 阅读(212) | 评论 (0)编辑 收藏

     摘要: 最近开始重构公司一套手机论坛系统(为什么我不说wap论坛,是因为需要针对不同的手机浏览器,实现自动适配成wap、html以及wap2.0版本的页面)。原系统存在架构层次不清晰(表现层全jsp,直接配合数据层获取数据),访问速度慢的问题。其使用的OR映射框架是Hibernate,鉴于Hibernate的一些不满足需要情况下,我们在重构的时候换成了iBatis,为了加快访问速度,采用了iBatis的缓存技术。

iBatis的缓存配置比较简单易懂,以我使用的iBatis2.3为例,做以下配置即可实现对某些查询进行缓存:

1、在sqlMap文件中加入cacheModel的配置:





阅读全文
posted @ 2010-06-29 21:55 rogerfan 阅读(948) | 评论 (0)编辑 收藏

     摘要: 1.1. 设置结果页面路径
默认所有的结果页面都存储在WEB-INF/content下,你可以通过设置struts.convention.result.path这个属性的值来改变到其他路径。如:

Xml代码:






则将路径配置到了WEB-INF/page 下。

1.2. 设置Convention搜索包
默认包路径包含action,actions,struts,struts2的所有包都会被struts作为含有Action类的路径来搜索。你可以通过设置struts.convention.package.locators属性来修改这个配置。如:


  阅读全文
posted @ 2010-06-21 10:16 rogerfan 阅读(696) | 评论 (0)编辑 收藏

posted @ 2010-06-21 10:15 rogerfan 阅读(434) | 评论 (0)编辑 收藏

posted @ 2010-06-21 10:13 rogerfan 阅读(358) | 评论 (0)编辑 收藏

posted @ 2010-06-21 10:11 rogerfan 阅读(322) | 评论 (0)编辑 收藏

     摘要: 支持英文、数字、中文(简体)混合分词
常用的数量和人名的匹配
超过22万词的词库整理
实现正向最大匹配算法

//采用正向最大匹配的中文分词算法,相当于分词粒度等于0
MMAnalyzer analyzer = new MMAnalyzer();

//参数为分词粒度:当字数等于或超过该参数,且能成词,该词就被切分出来
MMAnalyzer analyzer = new MMAnalyzer(2);


//增加一个新词典,采用每行一个词的读取方式
MMAnalyzer.addDictionary(reader);

//增加一个新词
MMAnalyzer.addWord(newWord);
  阅读全文
posted @ 2010-06-21 10:10 rogerfan 阅读(3038) | 评论 (0)编辑 收藏

     摘要: 1. 禁止右键点击
view plaincopy to clipboardprint?

1. $(document).ready(function(){

2. $(document).bind("contextmenu",function(e){

3. return false;

4. });

5. });


2. 隐藏搜索文本框文字view plaincopy to clipboardprint?

1. $(document).ready(function() {

2. $("input.text1").val("Enter your search text here");

3. textFill($('input.text1'));   阅读全文
posted @ 2010-06-21 10:09 rogerfan 阅读(281) | 评论 (0)编辑 收藏

     摘要: 1. 各种Query
1.1. 概述
query.toString()查看原子查询

1.2. 使用特定的分析器搜索
IndexSearcher searcher = new IndexSearcher(path );

Hits hits = null;

Query query = null;

QueryParser parser =new QueryParser("contents", new StandardAnalyzer());

query =parser.parse("11 a and hello");

hits=searcher.search(query); //查找 name:11 name:hello 共1个结果

System.out.println("查找 "+query.toString()+" 共" + hits.length() + "个结果");
  阅读全文
posted @ 2010-06-21 10:07 rogerfan 阅读(340) | 评论 (0)编辑 收藏

     摘要: 1. 排序
1.1. Sort类
public Sort()

public Sort(String field)

public Sort(String field,Boolean reverse) //默认为false,降序排序

public Sort(String[] fields)

public Sort(SortField field)

public Sort(SortField[] fields)

Sort sort=new Sort(“bookname”);按照“bookname“这个Field值进行降序排序

Sort sort=new Sort(“bookname”,true) //升序排序

Sort sort=new Sort(new String[]{“bookNumber”,”bookname”,”publishdate”});按照三个Field进行排序,但无法指定升序排序,所以用SortField <  阅读全文
posted @ 2010-06-21 10:06 rogerfan 阅读(647) | 评论 (0)编辑 收藏

     摘要: 1. lucene中主要的类
1.1. Document文档类
1.1.1.常用方法
方法
描述

void add(Field field)
往Document对象中添加字段

void removeField(String name)
删除字段。若多个字段以同一个字段名存在,则删除首先添加的字段;若不存在,则Document保持不变

void removeFields(String name)
删除所有字段。若字段不存在,则Document保持不变

Field getField(String name)
若多个字段以同一个字段名存在,则返回首先添加的字段;若字段不存在,则Document保持不变

Enumeration fields()
返回Document对象的所有字段,以枚举类型返回

Field [] getFields(String name)
根据名称得到一个F  阅读全文
posted @ 2010-06-21 10:05 rogerfan 阅读(333) | 评论 (0)编辑 收藏

     摘要: 1. 概述
Lucene是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。Lucene以其方便使用、快速实施以及灵活性受到广泛的关注。它可以方便地嵌入到各种应用中实现针对应用的全文索引、检索功能,本总结使用lucene--2.3.2。

2. lucene 的包结构
1、org.apache.lucene.analysis对需要建立索引的文本进行分词、过滤等操作, 语言分析器,主要用于的切词Analyzer是一个抽象类,管理对文本内容的切分词规则。

2、org.apache.lucene.analysis.standard是标准分析器

3、org.apache.lucene.document提供对Document和Field的各种操作的支持。索引存储时的文档结构管理,类似于关系型数据库的表结构。Document相对于关系型数据库的记录对象,Field主要负责字段的管理。

4、org.apache.lucene.index是最重要的包,用于向Lucene提供建立索引时各种操作的支持。  阅读全文
posted @ 2010-06-21 10:04 rogerfan 阅读(228) | 评论 (0)编辑 收藏

     摘要: 4 索引是如何创建的
为了使用Lucene来索引数据,首先你比把它转换成一个纯文本(plain-text)tokens的数据流(stream),并通过它创建出Document对象,其包含的Fields成员容纳这些文本数据。一旦你准备好些Document对象,你就可以调用IndexWriter类的addDocument(Document)方法来传递这些对象到Lucene并写入索引中。当你做这些的时候,Lucene首先分析(analyzer)这些数据来使得它们更适合索引。详见《Lucene In Action》
  阅读全文
posted @ 2010-06-21 09:58 rogerfan 阅读(276) | 评论 (0)编辑 收藏

     摘要: 1 什么是索引
为了使用Lucene来索引数据,首先你得把它转换成一个纯文本(plain-text)tokens的数据流(stream),并通过它创建出Document对象,其包含的Fields成员容纳这些文本数据。一旦你准备好些Document对象,你就可以调用IndexWriter类的addDocument(Document)方法来传递这些对象到Lucene并写入索引中。当你做这些的时候,Lucene首先分析(analyzer)这些数据来使得它们更适合索引。详见《Lucene In Action》

下面先了解一下索引结构的一些术语。

1.1 索引数据结构介绍
1.1.1 术语定义
Lucene中基本的概念(fundamental concepts)是index、Document、Field和term。

ú 一条索引(index)包含(contains)了一连串(a sequence of)文档(documents)。

ú   阅读全文
posted @ 2010-06-21 09:58 rogerfan 阅读(305) | 评论 (0)编辑 收藏

     摘要: 3 索引类关系图
下面逐个介绍与建立索引有关的一些类及它们的关系。



3.1 org.apache.lucene.store.IndexWriter
一个IndexWriter对象只创建并维护一个索引。IndexWriter通过指定存放的目录(Directory)以及文档分析器(Analyzer)来构建,direcotry代表索引存储(resides)在哪里;analyzer表示如何来分析文档的内容;similarity用来规格化(normalize)文档,给文档算分(scoring);IndexWriter类里还有一些SegmentInfos对象用于存储索引片段信息,以及发生故障回滚等。以下是它们的类图:
  阅读全文
posted @ 2010-06-21 09:56 rogerfan 阅读(255) | 评论 (0)编辑 收藏

     摘要: 1 Lucene是什么
Apache Lucene是一个高性能(high-performance)的全能的全文检索(full-featured text search engine)的搜索引擎框架库,完全(entirely)使用Java开发。它是一种技术(technology),适合于(suitable for)几乎(nearly)任何一种需要全文检索(full-text search)的应用,特别是跨平台(cross-platform)的应用。

Lucene 通过一些简单的接口(simple API)提供了强大的特征(powerful features):

可扩展的高性能的索引能力(Scalable, High-Performance Indexing)

ü 超过20M/分钟的处理能力(Pentium M 1.5GHz)

ü 很少的RAM内存需求,只需要1MB heap

ü 增量索引(incremental indexi  阅读全文
posted @ 2010-06-21 09:53 rogerfan 阅读(229) | 评论 (0)编辑 收藏

     摘要: 附:MyEclipse 5.0 官方提供的图文教程:

http://www.myeclipseide.com/ContentExpress-display-ceid-81.html#webservices

开发环境
Sun Java 5+ Eclipse 3.2 +MyEclipse 5.0.0.

概述

本文介绍了使用MyEclipse Web Service来迅速开发和测试一个HelloWorld Web Service,其中包括:
1. 介绍了MyEclipse Web Services的基本概念
2. 创建一个MyEclipse Web Services工程
3. 创建一个简单的HelloWorld Web Service
4. 在Web容器中,如Tomcat 5中部署Web Service
5. 使用Web Services Explorer来测试部署的Web Services
<  阅读全文
posted @ 2010-05-27 14:54 rogerfan 阅读(862) | 评论 (0)编辑 收藏

     摘要: 本实例的原BLOG网站地址为:http://blog.csdn.net/meteorlWJ/archive/2009/09/12/4545100.aspx,有兴趣的朋友多多支持
在开始前,先介绍一些概念:

XFire Java SOAP框架概述 (摘自:http://tech.it168.com/j/e/2006-10-28/200610281432707.shtml)
MyEclipse Web Services是建立在XFire JavaSOAP框架和工具基础上的, XFire是一款开源的JavaSOAP框架。它拥有一个轻量级的信息处理模块,通过STAX来与SOAP信息相结合。提供了一个工作在WebServices下的简单API,支持POJO和schema开发. XFire支持 Web Services standards,Spring整合, 支持JBI , 支持 JAXB ,XMLBeans,Java 5 和JAX-WS.并支持HTTP, JMS, XMPP,In-memory传输协议

一、环境配置:MyEcl  阅读全文
posted @ 2010-05-27 11:31 rogerfan 阅读(5146) | 评论 (7)编辑 收藏

     摘要: maven2 起步
相信maven1 大家都已经很熟悉了,具体maven能做什么,就不详细说了。个人觉得maven在开源项目中用的还是比较多的,公司内部,就不太清楚了。我以前的公司用过一段时间,不过后来就没有下文了。
与maven1 相比,maven2可算是几乎重写了,不过从速度来说应该更快。
主要的几个新特性包括:(详细参考http://www.ibm.com/developerworks/cn/opensource/os-maven2/index.html)
1. 更快、更简单
速度方面可以比上ant了
2. 更少的配置文件
现在的配置文件只剩下了settings.xml和pom.xml了。
3. Plugin语言更换
语言开始支持java,BeanShell和ant
4. 提供了预定义的模版
这点是最有帮助的,用户可以自己定义自己的项目模版了,就像用  阅读全文
posted @ 2010-05-09 19:10 rogerfan 阅读(199) | 评论 (0)编辑 收藏

     摘要: iBatis的sqlMap配置文件的selectKey元素有个type属性,可以指定pre或者post表示前生成(pre)还是后生成(post)。

  阅读全文
posted @ 2010-04-30 13:46 rogerfan 阅读(4086) | 评论 (1)编辑 收藏

     摘要: 方法1:
适用于 SQL Server 2000/2005
SELECT TOP 页大小 *
FROM table1
WHERE id NOT IN
(
SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id
)
ORDER BY id
  阅读全文
posted @ 2010-04-30 10:26 rogerfan 阅读(1214) | 评论 (0)编辑 收藏

     摘要: SQL Server 2000企业版本适用于WIN 2000操作系统,Windows 2003操作系统和Windows XP一般装不了,只能安装个人版,这让我们用XP操作系统的程序员很头疼,为了使用SQL Server 2000还得装个Windows 2000操作系统,下面介绍一下在Windows XP下安装SQL Server 2000企业版的方法。

一、在SQL服务器的安装盘中找到MSDE这个目录,并且点击SETUP.EXE安装它,过程简单,直接下一步就OK 了。

二、重启系统Windows XP,在任务栏右下角就可以看到SQL服务的图标出现了。

三、再拿出SQL服务器版的安装光盘,直接安装客户端工具,安装方法:点击光盘根目录下的AUTORUN.EXE,选择“安装SQL Server 2000组件“,选择”安装数据库服务器“, 根据提示安装,自检过程中会提示操作系统不是SERVER版,只安装客户端工具。  阅读全文
posted @ 2010-04-28 17:07 rogerfan 阅读(368) | 评论 (0)编辑 收藏

posted @ 2010-04-28 15:51 rogerfan 阅读(3173) | 评论 (0)编辑 收藏

     摘要: 使用XFire+Spring构建Web Service

XFire是与Axis 2并列的新一代Web Service框架,通过提供简单的API支持Web Service各项标准协议,帮助你方便快速地开发Web Service应用。

相 对于Axis来说,目前XFire相对受欢迎,加上其提供了和Spring集成的支持,在目前的Web Service开源社区拥有众多的追随者。并且因为XFire为Spring提供的支持,使得我们可以很容易在Spring中使用XFire构建Web Service应用。

XFire与Axis2相比具有如下特征:

l 支持一系列Web Service的新标准--JSR181、WSDL2.0 、JAXB2、WS-Security等;

l 使用Stax解释XML,性能有了质的提高。XFire采用Woodstox 作Stax实现;

l 容易上手,可以方便快速地从pojo发布服务;

l 支持Spring、Pico、Plexus、Loom  阅读全文
posted @ 2010-04-27 10:53 rogerfan 阅读(3534) | 评论 (0)编辑 收藏

posted @ 2010-04-27 10:51 rogerfan 阅读(2076) | 评论 (0)编辑 收藏

     摘要: Oracle数据库的三种标准的备份方法:
1.导出/导入(EXP/IMP)。

2.热备份。

3.冷备份。

注释:导出备件是一种逻辑备份,冷备份和热备份是物理备份。

一、 导出/导入(Export/Import)

利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。

1、简单导出数据(Export)和导入数据(Import)

Oracle支持三种方式类型的输出:   阅读全文
posted @ 2010-04-27 09:25 rogerfan 阅读(342) | 评论 (0)编辑 收藏

     摘要: 当你需要同时包含日期和时间信息的值时则使用DATETIME类型。MySQL以'YYYY-MM-DD HH:MM:SS'格式检索和显示DATETIME值。支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。(“支持”表示尽管先前的值可能工作,但没有保证)。

当你只需要日期值而不需要时间部分时应使用DATE类型。MySQL用'YYYY-MM-DD'格式检索和显示DATE值。支持的范围是'1000-01-01'到 '9999-12-31'。

TIMESTAMP列类型的属性不固定,取决于MySQL版本和服务器运行的SQL模式。这些属性将在本节后面描述。
  阅读全文
posted @ 2010-04-24 07:57 rogerfan 阅读(15961) | 评论 (0)编辑 收藏

     摘要: 本章介绍Oracle 9i网络中两种主要的成分——数据库服务器和治理客户机的安装和配置过程。本章目的在于帮助读者把握如何安装Oracle 9i以及如何配置Oracle 9i网络环境。
本书采用windows 2000 Server作为安装的网络操作系统平台,数据库服务器采用Oracle 9i Database for Windows 2000的企业版。
2.1.1 安装的硬件环境需求
下列从5个主要的方面阐述Oracle 9i对硬件环境的要求。
1. 对CPU的要求
CPU最低配置到Pentium 166就可以。
2. 对内存的要求
内存容量最低为64MB,最好在256MB以上。
3. 对硬盘的要求
建议配置8GB容量以上硬盘。
4. 对光驱的要求
建议选用快速光驱,16倍速以上。
5. 对网卡的要求
一般可以选用10/100MB自适应网卡。  阅读全文
posted @ 2010-03-24 15:55 rogerfan 阅读(316) | 评论 (0)编辑 收藏

     摘要: 汇总:
set autotrace on
set autotrace traceonly explain
set timing on

或通过SQL*PLUS trace,然后查看user_dump_dest下的跟踪文件,使用tkprof工具格式化后阅览。
alter session set events '10046 trace name context forever,level 12';
alter session set events '10046 trace name context off';
SELECT p.spid,s.username FROM v$session s,v$process p WHERE s.audsid=USERENV('sessionid') AND s.paddr = p.addr;

使用方法示例:
DBserver% sqlplus perf/perf
SQL*Plus: Release 9.2.0.6.0 - Production on Mon  阅读全文
posted @ 2010-03-24 14:51 rogerfan 阅读(644) | 评论 (0)编辑 收藏

     摘要: HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 HashMap 来实现的。
通过 HashMap、HashSet 的源代码分析其 Hash 存储机制

集合和引用

就像引用类型的数组一样,当我们把 Java 对象放入数组之时,并不是真正的把 Java 对象放入数组中,只是把对象的引用放入数组中,每个数组元素都是一个引用变量。


实际上,HashSet 和 HashMap 之间有很多相似之处,对于 HashSet 而言,系统采用 Hash 算法决定集合元素的存储位置,这样可以保证能快速存、取集合元素;对于 HashMap 而言,系统 key-value 当成一个整体进行处理,系统总是根据 Hash 算法来计算 key-val  阅读全文
posted @ 2010-03-23 09:37 rogerfan 阅读(1069) | 评论 (0)编辑 收藏

     摘要: java 集合框架详解
经常会看到程序中使用了记录集,常用的有Collection、HashMap、HashSet、ArrayList,因为分不清楚它们之间的关系,所以在使用时经常会混淆,以至于不知道从何下手。在这儿作了一个小例子,希望有助于帮大家理顺思路。
首先看一下它们的关系:
Collection
--List:-----------------------以特定次序存储元素。所以取出来的顺序可能和放入顺序不同。
---ArrayList
---LinkedList
---Vector
--Set :----------------------- 不含有重复的元素
--- HashSet
--- TreeSet
Map
---HashMap
---HashTable
---TreeMap   阅读全文
posted @ 2010-03-22 15:47 rogerfan 阅读(1882) | 评论 (0)编辑 收藏

     摘要: 现在在Java开发中,使用的开发工具大部分都是Eclipse,并且和Eclipse关系紧密的要数MyEclipse了,但是 MyEclipse是一个EXE可执行程序,对于没有安装Eclipse与MyEclilpse的电脑来说,首先得先解压Eclipse,然后再安装 MyEclipse,这不光很麻烦,而且还很费时,对于已经安装好的电脑来说,如果哪天电脑出了问题或是Eclipse崩溃了,导致工具不能用,这时又不得不重新安装时,那可真够郁闷滴~~~,因此,大象本着我为人人,人人为我的奉献精神,在此,将Eclipse+MyEclipse的完全绿色版制作方法写出来,和大家一起分享,让大家都能享受到这种方便。

在这里,大象采用Eclipse3.3.1与MyEclipse_6.0.1GA_E3.3.1_Installer版来举例说明,其它的版本做法与此相同。

第1步:下载Eclipse3.3.1和MyEclipse_6.0.1GA

这里我要提醒大家注意一下:下载3.2的版本,因为3.3版本以上的支持,另外就是下载MyEclipse6.0.1的插件  阅读全文
posted @ 2010-03-18 17:34 rogerfan 阅读(1524) | 评论 (0)编辑 收藏

     摘要: 最近项目中需要用到CXF,但是本人使用的MyEclipse Blue Edition 6.1居然没有集成CXF的支持。因此抽时间研究了下将Eclipse SOA Tools Platform插件集成到其中。

MyEclipse Blue Edition 6.1中使用的Eclipse Platform为3.3.2。因此本人下载了多个Eclipse 3.3.2版本的STP插件进行测试。最后发现STP R200710161054版可以和MyEclipse Blue Edition 6.1版完美集成。

此处可以下载STP R200710161054 all in one版。

具体安装其实超简单,将下载的ZIP包解压到MyEclipse安装目录下的myeclipse目录中。此处需要特别小心,注意:eclipse,feature和plugins目录可以覆盖;但是feature和plugins中的同名目录不能覆盖。

此外,由于STP插件中的文件的目录和文件名比较长,解压后可能会发生  阅读全文
posted @ 2010-03-18 17:33 rogerfan 阅读(1601) | 评论 (0)编辑 收藏

     摘要: 一、下载

1、PowerDesigner 12.5官方下载地址 +|'}kOAa
 http://download.sybase.com/eval/PowerDesigner/powerdesigner125_eval.exe
 大小125 MB (132,006,349 字节) uzR(8lA
  阅读全文
posted @ 2010-03-17 16:09 rogerfan 阅读(55586) | 评论 (36)编辑 收藏

     摘要: 这次发布的Spring Security-3.0.1是一个bug fix版,主要是对3.0中存在的一些问题进行修正。文档中没有添加新功能的介绍,但是将之前拼写错误的一些类名进行了修正,建议开发者以这一版本的文档为参考。

另:Spring Security从2010-01-01以后,版本控制从SVN换成了GIT,我们在翻译文档的时候,主要是根据SVN的变化来进行文档内容的比对,这次换成GIT后,感觉缺少了之前那种文本比对工具,如果有对GIT熟悉的朋友,还请推荐一下文本比对的工具,谢谢。  阅读全文
posted @ 2010-03-16 17:03 rogerfan 阅读(211) | 评论 (0)编辑 收藏

     摘要: 进入需要在项目中用java处理json格式的数据,因此封装了一个class,现将这个class共享出来和大家分享
1 /**
2
3 * Copyright (c) linkwise 2007-2009 corporation.
4
5 * All rights reserved
6
7 */
8
9 package com.linghui.common.util;
10
11 import java.util.ArrayList;
12
13 import java.util.Date;
14
15 import java.util.HashMap;
16
17 import java.util.Iterator;
18
19 import java.util.List;
20
21 import java.util.Map;
2  阅读全文
posted @ 2010-03-09 10:00 rogerfan 阅读(7189) | 评论 (1)编辑 收藏

     摘要: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

JSON建构于两种结构:

* “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
* 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
*

JSON具有以下这些形式:

对象是一个无序的“‘名称/  阅读全文
posted @ 2010-03-08 18:19 rogerfan 阅读(1213) | 评论 (0)编辑 收藏

     摘要: JSON定义

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于ECMA262语言规范(1999-12第三版)中JavaScript编程语言的一个子集。 JSON采用与编程语言无关的文本格式,但是也使用了类C语言(包括C, C++, C#, Java, JavaScript, Perl, Python等)的习惯,这些特性使JSON成为理想的数据交换格式。

JSON的结构基于下面两点

1. "名称/值"对的集合 不同语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),键列表(keyed list)等
2. 值的有序列表 多数语言中被理解为数组(array)
JSON使用:

JSON以一种特定的字符串形式来表示 JavaScript 对象。如果将具有这样一种形式的字符串赋给任意一个 JavaScript 变量  阅读全文
posted @ 2010-03-05 09:42 rogerfan 阅读(428) | 评论 (0)编辑 收藏

     摘要: 在笔记本电脑早已普及到会议室的这个年代,商务人士拿笔记本来演示PPT以及做电子版的会议记录;在笔记本电脑已经普及到教室的这个年代,学生们甚至在用笔记本翻阅资料进行开卷考试。
随着笔记本电脑正在成为人们生活中不可或缺的一部分,新的问题来了,盲目的追求性价比导致的是机身重量肆无忌惮的在力压人们的肩膀,也就是“扁担效应”。有笔记本常识的人都知道,性价比和便携性是笔记本领域的正反命题,它们之间永远对立而不可能和谐相处,即使国家在努力提倡和谐社会。

很多对移动性有要求的用户,在吃了第一个笔记本的性价比甜头的同时却都在忍受着“扁担效应”的副作用。因此他们开始选择只为便携而存在的第二台机器,而这种机器大多有一个特点,就是无光驱设计!在市场里放眼望去,不带光驱的笔记本通常都是轻便型机器的代表,它们的重量很轻,性能却不马虎,虽然售价高高在上,但依然获得了很多受不了“扁担效应”,追求移动性强的笔记本用户的青睐。

笔者就有不少朋友在使用不带光驱的笔记本,但是问题也来了,需要重装系统的时候,没有光驱,该怎么办?也许你会说可以在dos下硬盘安装,但有几个人会  阅读全文
posted @ 2010-02-11 09:57 rogerfan 阅读(18556) | 评论 (2)编辑 收藏

     摘要: Maven的基本原理很简单,采用远程仓库和本地仓库以及一个类似build.xml的pom.xml,将pom.xml中定义的jar文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的jar,同一个版本的jar只需下载一次,而且避免每个应用都去拷贝jar。如图1。同时它采用了现在流行的插件体系架构,只保留最小的核心,其余功能都通过插件的形式提供,所以maven下载很小(1.1M),在执行maven任务时,才会自动下载需要的插件。
这个基本原理与Pear――PHP扩展与应用库(the PHP Extension and Application Repository)的原理非常相似,都有一个官方的仓库,都是微内核,通过网络将需要的文件下载到本地,通过官方仓库将相应的类库进行统一管理。Pear已经成为PHP开发事实上的标准,而Maven在Java世界的地位也逐渐加强,成为标准指日可待。  阅读全文
posted @ 2010-02-04 22:41 rogerfan 阅读(451) | 评论 (0)编辑 收藏

     摘要: 为了方便ajax调用传输数据,在struts2中加入的json插件用来做对象的序列化和反序列化,json插件的下载地址

http://code.google.com/p/jsonplugin/

1. 下载json插件包,将jar包拷贝到WEB-INF/lib目录

注:struts2的json插件有两个版本0.32和0.34,我用的struts2的版本是2.0.11,在加入0.34版本json插件时启动发生异常,提示找不到相关方法,后来就换成了低版本的0.32一切OK,仔细查看文档后发现struts2的2.0.*版本的对应插件的0.32版本,struts2.1.*版本对应0.34版本
  阅读全文
posted @ 2010-01-26 11:36 rogerfan 阅读(19352) | 评论 (7)编辑 收藏

     摘要: 这是ntfs权限造成的,解决办法:

1、选择“工具” > “文件夹选项” >“查看”,去掉“使用简单文件共享”前的勾

2、找到数据库所在文件夹,点击右键“属性”并切换到“安全”选项卡,添加给EveryOne 用户所有权限。

添加方法为:安全>添加>高级>立即查找>选中everyone>确定>点上“修改”一项

3、同理给internet来宾帐户添加修改权限

4、找到数据库,右键>安全,为internet来宾帐户添加“修改”权限,确定。这项很重要,一定要做

现在数据库就可以顺利连上了

fat32系统一般不会出现这类问题  阅读全文
posted @ 2010-01-10 16:22 rogerfan 阅读(2147) | 评论 (0)编辑 收藏

     摘要: 前言
关于Struts2入门以及提高等在这里就不介绍了,但是关于Struts2的学习有以下推荐:

struts2-showcase-2.0.6.war:这个是官方自带的Demo(struts-2.0.6-all.zip\struts-2.0.6\apps目录下),非常全面,直接部署就可以了(很多朋友Struts2能学很好我估计还是直接从这里学来的)。
wiki-WebWork:入了门的朋友应该都知道,strust2由webwork2和struts1.x合并起来的,但主要还是以webwork2为主,所以如果找不到Struts2的资料可以找WebWork资料看看。
Max On Java的博客,他的博客的资料在中文的Struts2算是比较全的了,写得很详细。
The Code Project、Google - CodeSearch、Koders:这几个代码搜索网站在我找不到中文资料甚至英文文章的时候帮了我大忙!
关于JFreeChart入门等这里我也不打算介绍了,中文资料很多了。

阅读全文
posted @ 2010-01-06 17:08 rogerfan 阅读(2109) | 评论 (0)编辑 收藏

     摘要: 论坛上看了不少Spring Security的相关文章。这些文章基本上都还是基于Acegi-1.X的配置方式,而主要的配置示例也来自于SpringSide的贡献。

众所周知,Spring Security针对Acegi的一个重大的改进就在于其配置方式大大简化了。所以如果配置还是基于Acegi-1.X这样比较繁琐的配置方式的话,那么我们还不如直接使用Acegi而不要去升级了。所以在这里,我将结合一个示例,重点讨论一下Spring Security 2是如何进行配置简化的。

搭建基础环境

首先我们为示例搭建基本的开发环境,环境的搭建方式,可以参考我的另外一篇文章:http://www.javaeye.com/wiki/struts2/1321-struts2-development-environment-to-build   阅读全文
posted @ 2009-12-18 16:07 rogerfan 阅读(885) | 评论 (0)编辑 收藏

     摘要: 【图】黑莓8700精美桌面320x240(珍藏二)不断更新中……   阅读全文
posted @ 2009-12-09 22:20 rogerfan 阅读(2212) | 评论 (0)编辑 收藏

     摘要: 之前写过一篇“蹭网必备:BT3破解无线路由密码过程详解(第一篇:硬盘版)”的帖子,那个是将BT3安装在硬盘上的,操作起来比较麻烦。今天帖子的方法是将BT3安装在U盘或者SD卡上。

不明白BT3和无线信号密码破解是怎么回事的先自己百度一下吧,在这里就不详细介绍原理了。

本帖的思路:
在U盘(或者SD卡)上安装BT3系统,从U盘启动进入BT3,利用Spoonwep2来破解wep加密的无线信号。
  阅读全文
posted @ 2009-12-01 11:49 rogerfan 阅读(7284) | 评论 (0)编辑 收藏

     摘要: 已经修过两篇用Backtrack3(BT3)破解无线信号密码的教程了,其中一篇是将BT3安装到硬盘的方法;另外一篇是将BT3安装到U盘的方法。但是这两种方法都有一个共同的要求:那就是你的笔记本内置的无线网卡必须支持BT3破解才行,如果不在BT3所支持的无线网卡列表上,那就只能干瞪眼了。
从目前主流的一些上网本来看,大部分内置的无线网卡都是不支持BT3破解的,所以我们需要想一些别的办法让我们的Netbook支持BT3破解:那就是需要另外购买一个外置的USB接口的无限网卡。

所以本文即是利用外置的USB无线网卡来破解无线信号的密码。
首先是在选购USB无线网卡的时候一定要确认是支持BT3破解的才可以,这个在淘宝上购买的话一般商家都知道的,而且很多商家也都在商品的标题上注明了是否支持BT3破解。  阅读全文
posted @ 2009-12-01 11:38 rogerfan 阅读(11482) | 评论 (0)编辑 收藏

     摘要: 最近很多人问我怎么破解WiFi密码…看来大家都对免费的东西比较有兴趣。要么也可能是我太招摇了…囧…

好吧,我就写篇小小的教程,看完后,你应该能够破解大部分无线路由器密码了,写这个教程也是为了加强大家对无线网络安全性的重视,后面也有简单的防破解的办法。

好了,正式开始。

首先,你需要的工具:

软件:

① BackTrack 3(简称BT3)

BT3有光盘版,硬盘版还有U盘版,由于本本基本上可以刻碟,我就懒得弄那些U盘版,硬盘版了,直接刻了张碟,所以这篇教程使用光盘版。

下载地址:

U盘版:http://backtrack.unixheads.org/bt3final_usb.iso

光盘版:http://www.remote-exploit.org/cgi-bin/fileget?version=bt3-cd
  阅读全文
posted @ 2009-12-01 11:29 rogerfan 阅读(9249) | 评论 (0)编辑 收藏

     摘要: 目前从实际应用来看,ORM的老大自然是Hibernate,可是iBatis因为相对比较直观、学习曲线相对较低,因而也赢得了不少用户的青睐。
本文主要介绍作为iBatis辅助工具的iBator的使用方法。
iBator是一个iBatis相关代码的自动生成工具。
1、安装iBator的插件
在Eclipse中,使用添加站点的方法,输入网址http://ibatis.apache.org/tools/ibator,进行iBator的安装。
2、建议不要直接在使用iBatis的项目里直接使用iBator,推荐另外单独建立一个项目来生成。比如,建立一个项目叫:IbatorPrj
3、右键点击IbatorPrj这个项目,如果刚才的插件安装正确的话,就会看到一个“Add iBATOR to the build path”的选项,点击一下。
4、创建iBator的配置文件。下面是我的例子,大家在实际使用的过程中,需要根据自己的情况进行相应的修改。  阅读全文
posted @ 2009-11-24 10:26 rogerfan 阅读(2154) | 评论 (0)编辑 收藏

     摘要: OSCache是当前运用最广的缓存方案,JBoss,Hibernate,Spring等都对其有支持,
下面简单介绍一下OSCache的配置和使用过程。

1.安装过程
从http://www.opensymphony.com/oscache/download.action下载合适的OSCache版本,
我下载的是oscache-2.0.2-full版本。
解压缩下载的文件到指定目录

从解压缩目录取得oscache.jar 文件放到 /WEB-INF/lib 或相应类库目录 目录中,
jar文件名可能含有版本号和该版本的发布日期信息等,如oscache-2.0.2-22Jan04.jar

如果你的jdk版本为1.3.x,建议在lib中加入Apache Common Lib 的commons-collections.jar包。
如jdk是1.4以上则不必

从src或etc目录取得oscache.properties 文件,放入src根目录或发布环境的/W  阅读全文
posted @ 2009-11-17 14:36 rogerfan 阅读(180) | 评论 (0)编辑 收藏

     摘要: 一。简介

OSCache是OpenSymphony组织提供的一个J2EE架构中Web应用层的缓存技术实现组件,它的出现解决了我们面临的问题。 OSCache目前最新的稳定版本是2.3.2,本文中的例子都是基于这个版本的,如果大家运行例子的过程中发生问题,请首先确认是否采用了正确的软件版本。

二。安装

1. 下载、解压缩OSCache

请到OSCache的主页http://www.opensymphony.com/oscache/download.action下载Oscache的最新版本,作者下载的是OSCache的最新稳定版本2.3.2。

将下载后的。Zip文件解压缩到c:\oscache(后面的章节中将使用%OSCache_Home%来表示这个目录)目录下

2. 新建立一个web应用

3. 将主要组件%OSCache_Home%\oscache.jar放入WEB-INF\lib目录

4. commons-log  阅读全文
posted @ 2009-11-17 14:34 rogerfan 阅读(196) | 评论 (0)编辑 收藏

     摘要: 为了减轻DBA的工作,数据库自动备份当然少不了,今天我和大家一起来学习通过crontab实现mysql数据的自动备份

我们在/etc/cron.daily/目录下创建文件backup内容如下

#!/bin/bash
#定义变量name的值,/bin/date日期格式为Y年-m月-d日
name=`/bin/date "+%Y-%m-%d"`
#/usr/bin/mysqldump 备份数据库的命令路径
#-u root 数据库的用户名
#-p password 数据库的密码把password替换成你自己的密码  阅读全文
posted @ 2009-08-19 11:54 rogerfan 阅读(658) | 评论 (0)编辑 收藏

     摘要: 首先,设置mysql的环境变量(在path中添加%MYSQL_HOME%\bin),重启电脑。
完整代码:
/**
* @param args
*/
public static void main(String[] args) {
/*
* 备份和导入是一个互逆的过程。
* 备份:程序调用mysql的备份命令,读出控制台输入流信息,写入.sql文件;
* 导入:程序调用mysql的导入命令,把从.sql文件中读出的信息写入控制台的输出流
* 注意:此时定向符">"和"<"是不能用的
*/
backup();
load();
}
  阅读全文
posted @ 2009-08-18 17:38 rogerfan 阅读(598) | 评论 (0)编辑 收藏

     摘要: 用java实现打印,java.awt中提供了一些打印的API,要实现打印,首先要获得打印对象,然后继承Printable实现接口方法print,以便打印机进行打印,最后用用Graphics2D直接输出直接输出。
下面代码实现了简单的打印功能:  阅读全文
posted @ 2009-08-18 09:59 rogerfan 阅读(353) | 评论 (0)编辑 收藏

     摘要: 什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什么任务,但任务的定时是不确定的(是由客户制定)。
这样总不能修改配置文件每定制个定时任务就增加一个trigger吧,即便允许客户修改配置文件,但总需要重新启动web服务啊,研究了下Quartz在Spring中的动态定时,发现
《bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean" 》
《property name="jobDetail" ref="schedulerJobDetail"/》
《property name="cronExpression"》
《value》0/10 * * * * ?《/value》
《/property》
中cronExpression是关键,如果可以动态设置cronExpression的值,也就说如果我们可以直接调用CronTrigge  阅读全文
posted @ 2009-08-11 10:00 rogerfan 阅读(3495) | 评论 (1)编辑 收藏

     摘要: 一、前言
早就知道maven 在java 项目的管理方面名声显赫,于是就想着学习掌握之,于是查阅了大量文档。发现这些文档的作者都是java 的大腕,大多都是站在掌握了一定maven 基础的角度上进行介绍,让我这初学者看的云里雾里不知所云。于是又去查看maven 的官方网站,总算是有所了解,但一旦动手实际操作却又雾里看花。唉,没办法,就只有一遍一遍的动手尝试,经过种
种磨难总算是有一点眉目了。现在就将我的经验写出来,一来避免将来遗忘,二来也给和我一样的菜鸟们提供一点点的方便。呵呵。本文的主题在于实用操作,个中原理还是麻烦大家去查一下java大腕们的文章吧。这里推荐两篇文章:

Maven 2.0:编译、测试、部署、运行
http://www.ideagrace.com/html/doc/2006/06/14/00847.html

Maven2 的新特性
http://www-128.ibm.com/developerworks/cn/opensource/os-maven2/index.html  阅读全文
posted @ 2009-07-13 14:55 rogerfan 阅读(607) | 评论 (0)编辑 收藏

     摘要: 简介
Maven作为Apache的一个开源项目,旨在给项目管理提供更多的支持,主页地址为http://maven.apache.org 。它最早的意图只是为了给apache组织的几个项目提供统一的开发、测试、打包和部署,能让开发者在多个项目中方便的切换。很多伟大的事业,出发点都很简单,ebay就是很好的例证。而maven的成功又一次验证了这一点,越来越多的项目开始使用maven。
基本原理
Maven的基本原理很简单,采用远程仓库和本地仓库以及一个类似build.xml的pom.xml,将pom.xml中定义的jar文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的jar,同一个版本的jar只需下载一次,而且避免每个应用都去拷贝jar。如图1。同时它采用了现在流行的插件体系架构,只保留最小的核心,其余功能都通过插件的形式提供,所以maven下载很小(1.1M),在执行maven任务时,才会自动下载需要的插件。
  阅读全文
posted @ 2009-07-13 14:35 rogerfan 阅读(186) | 评论 (0)编辑 收藏

     摘要: 近期在学习Maven,主要是想把Ant构建的项目换成Maven构建,查了不少资料,也做了一些实践,感觉已经有些入门,现将自己的学习过程整理出来,希望对看到这篇文章的人员有所帮助。由于查了不少资料,参考了不少文档,在此表示感谢!

1、下载

开源网址:http://maven.apache.org/
下载网址:http://maven.apache.org/download.html  阅读全文
posted @ 2009-07-13 11:44 rogerfan 阅读(288) | 评论 (0)编辑 收藏

     摘要: UML建模软件目前用的主要有3种:

商业版本:Telelogic TAU 和 Rational Rose

开源版本:StarUML

Telelogic TAU与Rational Rose的功能很强,但是需要买License。

StarUML就是希望能提供和TAU/Rose一样功能的开源版本。

目前使用起来还是不错的。

能熟练使用其中一个是软件设计人员的基本功。
  阅读全文
posted @ 2009-06-19 17:31 rogerfan 阅读(1972) | 评论 (0)编辑 收藏

     摘要: 导读:
StarUML是专业的UML建模工具,又因为它是免费开源的,因此是初学者的首选软件。废话少说,开始:
1、界面介绍:
主要是四个方面:工具栏、工作区、浏览区和属性区。结构如下图:  阅读全文
posted @ 2009-06-19 10:43 rogerfan 阅读(1732) | 评论 (2)编辑 收藏

posted @ 2009-06-11 17:33 rogerfan 阅读(810) | 评论 (0)编辑 收藏

     摘要: 一、了解备份的重要性

  可以说,从计算机系统出世的那天起,就有了备份这个概念,计算机以其强大的速度处理能力,取代了很多人为的工作,但是,往往很多时候,它又是那么弱不禁风,主板上的芯片、主板电路、内存、电源等任何一项不能正常工作,都会导致计算机系统不能正常工作。当然,这些损坏可以修复,不会导致应用和数据的损坏。但是,如果计算机的硬盘损坏,将会导致数据丢失,此时必须用备份恢复数据。

  其实,在我们的现实世界中,已经就存在很多备份策略,如RAID技术,双机热备,集群技术发展的不就是计算机系统的备份和高可用性吗?有很多时候,系统的备份的确就能解决数据库备份的问题,如磁盘介质的损坏,往往从镜相上面做简单的恢复,或简单的切换机器就可以了。但是,上面所说的系统备份策略是从硬件的角度来考虑备份与恢复的问题,这是需要代价的。我们所能选择备份策略的依据是:丢是数据的代价与确保数据不丢失的代价之比。还有的时候,硬件的备份有时根本满足不了现实需要,假如你误删了一个表,但是你又想恢复的时候,数据库的备份就变的重要了。ORACLE本身就提供了强大的备份与恢复策略,这里我  阅读全文
posted @ 2009-06-02 16:07 rogerfan 阅读(299) | 评论 (0)编辑 收藏

     摘要: ----------------------------------------------------------------
用户授权:
GRANT ALTER ANY INDEX TO "user_id "
GRANT "dba " TO "user_id ";
ALTER USER "user_id " DEFAULT ROLE ALL
创建用户:
CREATE USER "user_id " PROFILE "DEFAULT " IDENTIFIED BY " DEFAULT TABLESPACE "USERS " TEMPORARY TABLESPACE "TEMP " ACCOUNT UNLOCK;
GRANT "CONNECT " TO "user_id ";
用户密码设定:
ALTER USER "CMSDB " IDENTIFIED BY "pass_word "
表空间创建:
CREATE TABLESPACE "table_space " LOGGING DATAFILE '  阅读全文
posted @ 2009-06-02 16:06 rogerfan 阅读(717) | 评论 (0)编辑 收藏

     摘要: 13-4 Lob类型
13.4.1 基本介绍
Oracle和plsql都支持lob(large object) 类型,用来存储大数量数据,如图像文件,声音文件等。Oracle 9i realse2支持存储最大为4g的数据,oracle 10g realse1支持最大8到128万亿字节的数据存储,依赖于你的db的block size。
在plsql中可以申明的lob类型的变量如下:
类型 描述
BFILE 二进制文件,存储在数据库外的操作系统文件,只读的。把此文件当二进制处理。
BLOB 二进制大对象。存储在数据库里的大对象,一般是图像声音等文件。
CLOB 字符型大对象。一般存储大数量文本信息。存储单字节,固定宽度的数据。
NCLOB 字节字符大对象。存储单字节大块,多字节固定宽度,多字节变宽度数据。  阅读全文
posted @ 2009-06-02 16:02 rogerfan 阅读(1748) | 评论 (0)编辑 收藏

     摘要: 环境区域是用来处理SQL语句的一个oracle存储区域。游标是指向它的指针或句柄。通过游标,PL/SQL程序可以控制这个环境区域中被处理的语句。

Oracle中的游标有两种:显式游标、隐式游标。

显示游标是用cursor...is命令定义的游标,它可以对查询语句(select)返回的多条记录进行处理,而隐式游标是在执行插入(insert)、删除(delete)、修改(update)和返回单条记录的查询(select)语句时由PL/SQL自动定义的。
  阅读全文
posted @ 2009-06-02 16:01 rogerfan 阅读(3549) | 评论 (0)编辑 收藏

     摘要: ORACLE 游标

一. PL/SQL 是用游标来管理 SQL 的 SELECT 语句的 . 游标是为了处理这些语句而分配的一大块内存 . 它提供了对一个结果集进行逐行处理的能力 , 可看作是一种特殊的指针 . 它与某个查询结果集相关联 , 可以指向结果集的任意位置 , 以便对指定位置的数据进行处理 . 使用它可以在查询数据的同时对数据进行处理 .

二. 游标的分类 : 静态游标和动态游标

1. 在说明游标分类之前, 先说明一下PL/SQL 的两个操作, 游标属性, 变量属性

SET SERVEROUTPUT ON ;-- 此语句用于开启打印输出功能

DMBS_OUTPUT.PUT_LINE();-- 打印输出并换行.
  阅读全文
posted @ 2009-06-02 16:00 rogerfan 阅读(1217) | 评论 (0)编辑 收藏

     摘要: Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。

Java NIO非堵塞技术实际是采取Reactor模式,或者说是Observer模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。
  阅读全文
posted @ 2009-05-31 15:17 rogerfan 阅读(718) | 评论 (0)编辑 收藏

     摘要: //根据不同的难度产生随机字母和数字
for(int i=0; readomNumStart.length()<4; i++) {
if(difficult == 1) {

//产生随机的0-9的数字
a = String.valueOf((int)(Math.random() * 10)) ;
}   阅读全文
posted @ 2009-05-14 11:40 rogerfan 阅读(488) | 评论 (1)编辑 收藏

     摘要: 归纳一些网上取JAVA路径的方法:

注明:如果从ANT启动程序,this.getClass().getResource("")取出来的比较怪,直接用JAVA命令行调试就可成功。
 
得到classpath和当前类的绝对路径的一些方法

获得CLASSPATH之外路径的方法:
URL base = this.getClass().getResource(""); //先获得本类的所在位置,如/home/popeye/testjava/build/classes/net/
String path = new File(base.getFile(), "../../../"+name).getCanonicalPath(); //就可以得到/home/popeye/testjava/name   阅读全文
posted @ 2009-05-14 11:39 rogerfan 阅读(448) | 评论 (0)编辑 收藏

     摘要: 主要使用的是java.util.Robot类来捕获屏幕,可以实现对屏幕一个矩形区域的捕获,通过这个类,我们也可以实现一个远程桌面控制的程序。


package com.qiu.util;
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.imageio.*;
import java.io.*;
/** *//**@Author Qiu_BaiChao
*一个简单的屏幕抓图
  阅读全文
posted @ 2009-05-14 11:37 rogerfan 阅读(333) | 评论 (0)编辑 收藏

     摘要: 由于本人的一个低级失误,造成结论错误,for才是最终的胜者。foreach和iterator是类似的机制,性能都不是很好。以下代码已经重新调整,再次道歉。

以前一直有人说,foreach的性能有损失,不建议使用,今天特意测试了一下,结果是 for方式的性能最好,foreach次之,而Iterator循环性能最差..

1 完整的测试代码
view plaincopy to clipboardprint?
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* 测试JAVA各种循环的性能。

* for 方式的性能最好,foreach次之,而Iterator循环性能最差。
  阅读全文
posted @ 2009-05-14 11:34 rogerfan 阅读(377) | 评论 (0)编辑 收藏

     摘要: Collection接口
  Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些 Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类, Java SDK提供的类都是继承自Collection的“子接口”如List和Set。
  所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数用于创建一个空的Collection,有一个 Collection参数的构造函数用于创建一个新的 Collection,这个新的Collection与传入的Collection有相同的元素。后一个构造函数允许用户复制一个Collection。
  如何遍历Collection中的每一个元素?不论Collection的实际类型如何,它都支持一个iterator()的方法,该方法返回一个迭代子,使用该迭代子即可逐一访问Collection中每一个元素。典型的用法如下:
    Iterat  阅读全文
posted @ 2009-05-14 09:58 rogerfan 阅读(897) | 评论 (0)编辑 收藏

     摘要: 编辑
作用域 功能 快捷键
文本编辑器 查找上一个 Ctrl+Shift+K
文本编辑器 查找下一个 Ctrl+K
全局 恢复上一个选择 Alt+Shift+↓
全局 快速修正 Ctrl1+1
全局 内容辅助 Alt+/
全局 上下文信息 Alt+?Alt+Shift+?Ctrl+Shift+Space
Java编辑器 显示工具提示描述 F2
Java编辑器 选择封装元素 Alt+Shift+↑
Java编辑器 选择上一个元素 Alt+Shift+←
Java编辑器 选择下一个元素 Alt+Shift+→
文本编辑器 增量查找 Ctrl+J
文本编辑器 增量逆向查找 Ctrl+Shift+J
全局 重做 Ctrl+Y   阅读全文
posted @ 2009-05-13 11:47 rogerfan 阅读(402) | 评论 (0)编辑 收藏

     摘要: 1.java.util.Calendar
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

例:

1Calendar cal = Calendar.getInstance();//使用默认时区和语言环境获得一个日历。
2cal.add(Calendar.DAY_OF_MONTH, -1);//取当前日期的前一天.
3
4cal.add(Calendar.DAY_OF_MONTH, +1);//取当前日期的后一天.
5
6//通过格式化输出日期
7java.text.SimpleDateFormat format = new java.text.S  阅读全文
posted @ 2009-05-13 11:32 rogerfan 阅读(328) | 评论 (0)编辑 收藏

     摘要: Maven1.0已经历了几年的时间,并且作为Ant的替代品已被广大的开发人员所接收,但它并没有在很大程度使开发人员从Ant的build.xml文件中解脱出来。Maven1.0速度慢并且笨拙,使用起来的困难度并不亚于使用Ant的项目。事实上,它的核心是基于Ant实现的。在经过了几乎彻底的重写后,Maven2.0诞生了。

一个Java项目中最困难的地方就是如何着手启动它。在启动项目之前,我们必须配置好所有的逻辑关系。比如,Java源代码应该放在何处?单元测试应该在何处进行?依赖的jar包应该如何放置?如何构建项目,如何形成文档,如何测试和部署项目?在这种情况下,开发人员不同的处理选择将会影响项目的余下部分。您的选择可能会使你陷入困境,也可能会在将来证明您是一位Java架构大师。我们假定后者是我们奋斗的目标,接下来就进入我们的正题。  阅读全文
posted @ 2009-03-20 11:21 rogerfan 阅读(430) | 评论 (0)编辑 收藏

     摘要: maven2 起步
相信maven1 大家都已经很熟悉了,具体maven能做什么,就不详细说了。个人觉得maven在开源项目中用的还是比较多的,公司内部,就不太清楚了。我以前的公司用过一段时间,不过后来就没有下文了。
与maven1 相比,maven2可算是几乎重写了,不过从速度来说应该更快。
主要的几个新特性包括:(详细参考http://www.ibm.com/developerworks/cn/opensource/os-maven2/index.html)
1. 更快、更简单
速度方面可以比上ant了
2. 更少的配置文件
现在的配置文件只剩下了settings.xml和pom.xml了。
  阅读全文
posted @ 2009-03-20 11:17 rogerfan 阅读(809) | 评论 (0)编辑 收藏

     摘要: Abator动作环境:
* Eclipse 3.0 or higher
(including Rational Application Developer/Software rchitect 6.0)
* JDK 1.4 or Higher


Abator可以自动生成:
・POJO
・DAO接口和实装
・SqlMapConfigXML


Abator Eclipse插件
Update URL:http://ibatis.apache.org/tools/abator  阅读全文
posted @ 2009-03-20 11:10 rogerfan 阅读(359) | 评论 (0)编辑 收藏

     摘要: 有关Maven:http://maven.apache.org/


m2eclipse主要功能特点
1,支持Eclipse环境直接启动Maven build
2,Maven项目, pom.xml等创建向导功能


m2eclipse首页:
http://m2eclipse.codehaus.org/

m2eclipse在线安装:
http://m2eclipse.codehaus.org/update/  阅读全文
posted @ 2009-03-20 11:05 rogerfan 阅读(750) | 评论 (0)编辑 收藏

     摘要: 测试任何可能的错误。单元测试不是用来证明您是对的,而是为了证明您没有错。

2、单元测试代码和被测试代码使用一样的包,不同的目录。
--junit4.0使用注意说明;

3、测试方法必须按照规范书写
1. 测试方法必须使用注解 org.junit.Test 修饰。
2. 测试方法必须使用 public void 修饰,而且不能带有任何参数。
@Test public void wordFormat4DBegin(){
String target = "EmployeeInfo";
String result = WordDealUtil.wordFormat4DB(target);

assertEquals("employee_info", result);
}  阅读全文
posted @ 2009-03-06 11:30 rogerfan 阅读(866) | 评论 (0)编辑 收藏

     摘要: 提要 本文将向你介绍如何实现从JUnit 3.8向JUnit 4的迁移。同时,还讨论JUnit 4中的一些新特征,特别包括对注解的使用;最后,简要介绍这个新版本的IDE集成现状。

  一、 引言

  在本文开始,我将假定,你已经了解由Kent Beck和Erich Gamma发明的这个Java单元测试框架并因此而略过必要的简介。所以,我将集中分析从JUnit 3.8到最新版本-JUnit 4的迁移过程以及其在IDE和Ant中的集成。

  JUnit 4是一种与其之前的版本完全不同的API,它根据Java 5.0中的新特征(注解,静态导入等)构建而成。如你所见,JUnit 4更简单、更丰富和更易于使用,而且它引入了更为灵活的初始化和清理工作,还有限时的和参数化测试用例。   阅读全文
posted @ 2009-03-06 10:46 rogerfan 阅读(361) | 评论 (0)编辑 收藏

     摘要: Struts简介
Struts是一个基于Sun J2EE平台的MVC框架,很好地实现了MVC模式,它由Craig McClanahan创建。Struts最早是作为Apache Jakarta项目的组成部分问世运作,Struts这个名字来源于在建筑中使用的金属架。使用它的目的是为了减少运用MVC设计模型来开发Web应用的时间。它只有一个中心控制器,采用XML定制转向的URL,采用Action来处理逻辑。

Struts通过一个配置文件,即可把握整个系统各部分之间的联系,但这样做不容易查找错误。Struts 其实就是在Model2基础上实现的一个MVC框架。Model2的示意图如图11.1所示。

图11.1 Model2的示意图

与Spring一样,通过在web.xml中的配置,使得所有的视图层请求都要通过ActionServlet,由它进行客户端的请求处理。它主要通过struts-config.xml文件来进行用户请求的动作和对应Action的请求,将请求传递给Action,并将处理后的结果返回给视图层。Struts的体系结构  阅读全文
posted @ 2009-03-06 10:32 rogerfan 阅读(1971) | 评论 (0)编辑 收藏

     摘要: JUnit简介
JUnit主要用来帮助开发人员进行Java的单元测试,其设计非常小巧,但功能却非常强大。

下面是JUnit一些特性的总结:

— 提供的API可以让开发人员写出测试结果明确的可重用单元测试用例。

— 提供了多种方式来显示测试结果,而且可以扩展。

— 提供了单元测试批量运行的功能,而且可以和Ant很容易地整合。

— 对不同性质的被测对象,如Class,JSP,Servlet等,JUnit有不同的测试方法。
  阅读全文
posted @ 2009-03-06 10:29 rogerfan 阅读(1124) | 评论 (0)编辑 收藏

     摘要: 1. 美国Segue公司的Silk系列产品Segue公司一直专注于软件质量优化领域。在Segue的产品套件中,拥有业内最强劲且最容易使用的、用于企业应用测试、调优和监测的自动化工具,能够帮助用户保障应用在其生命周期内的可靠性和性能。
 
  (1) SilkPerformer——企业级性能测试工具u 企业级自动化测试工具能够支持多种系统,如Java、。Net、Wireless、COM、CORBA、Oracle、Citrix、MetaFrame、客户机/服务器、以及各种ERP/CRM应用u 多项专利技术精确模拟各种复杂的企业环境u 可视化脚本记录功能及自定义工具简化了测试创建工作u SilkPerformer的Java/.NET浏览器以及JUnit/NUnit测试输入功能简化了对并发访问情况下远程应用组件的早期负载测试工作u 方便易用,工作流向导会逐步引导用户完成整个测试流程  阅读全文
posted @ 2009-03-06 10:06 rogerfan 阅读(367) | 评论 (0)编辑 收藏

     摘要: 引言

  一个例子

  我们先看一个例子,以了解对”规则”做单元测试的特点。我们有一个性能调优工具 WPA, 它能够将与性能相关的参数的值进行评估并推荐最优值。它的评估和推荐最优值算法都是基于”规则”的。

  Java 虚拟机的初始堆大小(JVM initial heap size)是一个影响 JVM 的性能的关键参数。性能调优工具 WPA 有一套规则对“ JVM initial heap size ”的值进行评估(参见清单 1)。评估的结果有 5 个级别。级别“ 1 ”表示设置良好,可提高性能;级别“ 5 ”表示设置很差,会降低性能。
  阅读全文
posted @ 2009-03-06 10:04 rogerfan 阅读(413) | 评论 (0)编辑 收藏

     摘要: 引言

毋庸置疑,程序员要对自己编写的代码负责,您不仅要保证它能通过编译,正常地运行,而且要满足需求和设计预期的效果。单元测试正是验证代码行为是否满足预期的有效手段之一。但不可否认,做测试是件很枯燥无趣的事情,而一遍又一遍的测试则更是让人生畏的工作。幸运的是,单元测试工具 JUnit 使这一切变得简单艺术起来。

JUnit 是 Java 社区中知名度最高的单元测试工具。它诞生于 1997 年,由 Erich Gamma 和 Kent Beck 共同开发完成。其中 Erich Gamma 是经典著作《设计模式:可复用面向对象软件的基础》一书的作者之一,并在 Eclipse 中有很大的贡献;Kent Beck 则是一位极限编程(XP)方面的专家和先驱。

麻雀虽小,五脏俱全。JUnit 设计的非常小巧,但是功能却非常强大。Martin Fowler 如此评价 JUnit:在软件开发领域,从来就没有如此少的代码起到了如此重要的作用。它大大简化了开发人员执行单元测试的难度,特别是 JUnit 4 使用 Java 5 中的注解(annotatio  阅读全文
posted @ 2009-03-06 09:59 rogerfan 阅读(381) | 评论 (0)编辑 收藏

     摘要: 单元测试基础

  当今软件测试十分盛行时,本人通过项目实践和个人亲身体会浅谈单元测试,本人一直坚持“用代码说话的原则”,同时也希望个人能给出宝贵意见,共同探讨、共同进步,为中国软件事业有更大的发展共同奋斗!

  最早我们项目组开发的项目时,写代码都是从底层一直写到表现层到jsp,然后开发人员在web层调试页面,近乎98%都会报一大堆exception,然后再在代码中加断点一步一步查到底哪一层代码出现问题……,比较好点做法就是在各个类中加上main方法测试,但总体很不理想,给web层开发人员的调试和质量控制人员带来繁重的工作压力;使用单元测试后,针对每一个方法都做严格的把关,大大减少调试的时间;同时质量控制人员返回过来的bug少了近60%,现在对于开发人员写测试用例非常熟练,并且本人根据实际情况对测试用例做了点小小改动(这部分主要在后面代码中详述),带来很好的效果!
  阅读全文
posted @ 2009-03-06 09:55 rogerfan 阅读(1103) | 评论 (0)编辑 收藏

     摘要: String String = "Hello";



System.out.println(String);



一开始,看到这句的时候,还以为,这条代码是错的呢.后来,在运行的时候,发现没报错..仔细研究了一下..



原来String 是可以被打印的..因为String是对象,不是关键字,所以程序是不会报错的.



所以,大家可别跟我一样.搞错了..
  阅读全文
posted @ 2009-03-02 11:03 rogerfan 阅读(188) | 评论 (0)编辑 收藏

     摘要: 说明
Iptalbes 是用来设置、维护和检查Linux内核的IP包过滤规则的。
可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。每个链都是一个规则列表,对对应的包进行匹配:每条规则指定应当如何处理与之相匹配的包。这被称作'target'(目标),也可以跳向同一个表内的用户定义的链。  阅读全文
posted @ 2009-03-02 11:01 rogerfan 阅读(5036) | 评论 (0)编辑 收藏

     摘要: 一:安装前必备

1.首先要下载Jdk,Tomcat,Oracle这三个文件。

2.为了方便别他人查看,与个人习惯,把这三个文件最好放在

1)Jdk放在/home下

---如:/home/jdk-1_5_0_09-linux-i586-rpm.bin (文件.bin:是执行文件)

2)Tomcat放在/usr/local下

---如:/usr/local/apache-tomcat-5.5.20.zip (文件.zip:是解压文件)

3)Oracle放在/home下

---如:/home/oracle-xe-univ-10.2.0.1-1.0.i386.rpm夹 (文件.rpm:是安装文件)
  阅读全文
posted @ 2009-03-02 10:59 rogerfan 阅读(604) | 评论 (0)编辑 收藏

     摘要: 由于我们误操作或病毒侵害等意外情况发生,难免会删除硬盘上的有用数据或文件,此时请记住:千万不要再往这个硬盘里复制文件或写入数据了,哪怕已经清空了回收站,甚至格式化了硬盘,利用数据恢复软件会有很大机把他们找回来的。记住这个网址吧:http://hi.baidu.com/zhaodx/blog/item/bad20f46203f08086b63e558.html 哪天你真的遇到了麻烦,就来下载他们吧,他们可全是绿色版免安装的哦,呵。。。说不定哪天真能帮上你的大忙呢!  阅读全文
posted @ 2009-02-11 11:46 rogerfan 阅读(524) | 评论 (0)编辑 收藏

     摘要: 女用安全套由女性用手放入阴道,提高了使用率,保护更自主!
与男用避孕套不同的是,女用安全套事前置入,它无需男性勃起的阴茎作为避孕套置入取出的辅助,从而不会使性爱过程产生停顿或中断,同时也缓解了以往男性对戴套的抵触情绪。即使男子阴茎没有完全勃起,也可插入阴道,对举而不坚者尤为适用!
由于其独特的设计与特殊的材料,使它最大限度地防止了各种艾滋病病毒和性病的传染,例如衣原体、生殖道疱疹、淋病、梅毒等。保护更全面!
天然超薄胶乳制造,性伴侣双方都能达到最大的敏感度以得到最大的欢愉感觉!
倍力乐 -- 比不带套更好的感觉!  阅读全文
posted @ 2009-02-07 09:58 rogerfan 阅读(396) | 评论 (0)编辑 收藏

     摘要: 这些主题是ROM里面抽取出来,用朋友发我的ALX软件生成,每一个主题都通过8700真机测试可用!

注:暂时只有我手机中的7款主题,大家不妨也贡献出来其它的COD,我收下来测试再发出来也成。  阅读全文
posted @ 2009-02-04 15:22 rogerfan 阅读(3907) | 评论 (1)编辑 收藏

     摘要: 1. UltraEdit官方网站下载所需文件格式的语法方案
http://www.ultraedit.com/index.php?name=Content&pa=showpage&pid=40#wordfiles
也可以打包下载所有的wordfiles,1.32MB

2. 每个wordfile是一个*.txt文件,第一行:/L20"Fortran 90" FORTRAN_LANG Line Comment =......
/L20指的就是它将被设置为UltraEdit的第20种高亮显示语言(在View->Syntax Highlighting)下可以看到已有哪些类型了。可以将该数字改为1-20(因为UltraEdit只一次支持20种)的任何一个数字,只要不和其它的高亮方案冲突即可。  阅读全文
posted @ 2009-01-15 17:45 rogerfan 阅读(1843) | 评论 (0)编辑 收藏

     摘要: Log4J日志管理类使用详解,java开发必备,不多说了

一、前言:
log4j 是一个开放源码项目,是广泛使用的以Java编写的日志记录包。由于log4j出色的表现, 当时在log4j完成时,log4j开发组织曾建议sun在jdk1.4中用log4j取代jdk1.4 的日志工具类,但当时jdk1.4已接近完成,所以sun拒绝使用log4j,当在java开发中实际使用最多的还是log4j, 人们遗忘了sun的日志工具类。 它的一个独有特性包括在类别中继承的概念。通过使用类别层次结构,这样就减少了日志记录输出量,并将日志记录的开销降到最低。

它允许开发者控制以任意间隔输出哪些日志语句。通过使用外部配置文件,完全可以在运行时进行配置。几乎每个大的应用程序都包括其自己的日志记录或跟踪 API。经验表明日志记录是开发周期中的重要组成部分。同样,日志记录提供一些优点。首先,它可以提供运行应用程序的确切 上下文。一旦插入到代码中,生成日志记录输出就不需要人为干涉。其次,日志输出可以保存到永久媒体中以便以后研究。最后,除了在开发阶段中使用,十分丰富的日志记  阅读全文
posted @ 2009-01-08 15:15 rogerfan 阅读(340) | 评论 (0)编辑 收藏

     摘要: 【IT168 快讯】11月22日消息,据市场分析机构Evans Data的一项调查报告显示,接近半数的Java企业使用了轻量级开源Java框架Spring。另外,73%的受访机构表示,它们有的已经在使用Spring框架,有的则计划在两年之内使用它。这些机构在企业应用开发过程中使用Spring框架的关键原因是,该框架简单易用,可以让应用程序开发者具有很高的开发效率。
  最近Evans Data的一个调查报告显示,Spring框架市场已经颇具规模,而且仍然在继续高速增长。
  阅读全文
posted @ 2009-01-07 11:38 rogerfan 阅读(237) | 评论 (0)编辑 收藏

     摘要: 18.14 系统初始化模块
用户登录后,选择“系统管理”→“系统初使化”菜单项,进入到系统初使化,在该页面中将显示提示信息,单击【进行系统初使化】按钮,将进行系统初使化操作。系统初始化页面运行结果如图18.31所示。
18.15 疑难问题分析与解决
18.15.1 在Struts中解决中文乱码
通常情况下解决中文乱码采用的是编写一个将ISO-8859-1编码转换为gb2312编码的方法,然后在出现乱码的位置调用该方法即可达到解决中文乱码的目的,但是这样做很不方便。Struts提供了一个快速解决中文乱码的方法,那就是通过配置和扩展RequestProcessor类实现。下面将详细介绍在Struts中解决中文乱码的方法。
  阅读全文
posted @ 2009-01-07 10:46 rogerfan 阅读(295) | 评论 (0)编辑 收藏

     摘要: 18.13 查询统计模块
18.13.1 查询统计模块总体架构
查询统计模块主要包括以下功能。

● 采购单查询:用于根据不同的条件查询采购单信息。

● 入库查询:用于根据不同的条件查询入库单信息。

● 部门领用查询:用于根据不同的条件查询部门领用信息。

● 部门领用汇总:用于根据不同的条件对部门领用信息进行汇总。

● 部门报损查询:用于根据不同的条件查询部门报损信息。

● 部门报损汇总:用于根据不同的条件对部门报损信息进行汇总。

● 借出查询:用于根据不同的条件查询物资借出及归还信息。

● 部门汇总:用于对全部或指定时间段内部门领用及报损的物资信息进行汇总。
  阅读全文
posted @ 2009-01-07 10:44 rogerfan 阅读(291) | 评论 (0)编辑 收藏

     摘要: 18.12 物资处理模块
18.12.1 物资处理模块总体架构
物资处理模块主要包括以下功能。

● 库存盘点:用于分页打印库存盘点表;

● 部门报损:用于对部门报损信息进行登记。
  阅读全文
posted @ 2009-01-07 10:43 rogerfan 阅读(270) | 评论 (0)编辑 收藏

     摘要: 18.11 物资出库模块
18.11.1 物资出库模块总体架构
物资出库模块主要包括以下功能:

● 部门领用:用于对部门领用信息进行登记;

● 物资借出:用于对物资借出信息进行登记;

● 借出审核:用于对物资借出信息进行审核。
  阅读全文
posted @ 2009-01-07 10:42 rogerfan 阅读(195) | 评论 (0)编辑 收藏

     摘要: 18.10 物资入库模块
18.10.1 物资入库模块总体架构
物资入库模块主要包括以下功能。

● 采购登记:用于进行采购登记。

● 审核入库:用于对采购单进行审核操作,审核合格的采购单将进行入库操作,审核不合格的采购单将作废。

● 借出归还:用于对已借出的物资进行归还登记。
  阅读全文
posted @ 2009-01-07 10:41 rogerfan 阅读(528) | 评论 (0)编辑 收藏

     摘要: 18.9 物资管理模块
18.9.1 物资管理模块总体架构
1.模块功能介绍
物资管理模块主要包括以下功能。

● 查看物资列表:用于分类显示未删除的和已删除的物资信息;

● 添加物资信息:用于添加物资信息;

● 修改物资信息:用于修改物资信息;

● 删除/恢复物资信息:用于删除或恢复物资信息。
  阅读全文
posted @ 2009-01-07 10:40 rogerfan 阅读(298) | 评论 (0)编辑 收藏

     摘要: 18.8 用户管理模块
18.8.1 用户管理模块总体架构
1.模块功能介绍
用户管理模块主要包括以下功能。

● 用户登录:用于登录系统。

● 添加用户:用于添加用户信息。

● 查看用户列表:用于查询并显示系统中的除超级用户mr之外的用户及其权限信息。

● 修改用户权限:用于修改或设置用户权限。

● 删除用户:用于删除系统中的用户及权限信息。

● 修改密码:用于用户登录后修改自己的密码。
  阅读全文
posted @ 2009-01-07 10:39 rogerfan 阅读(591) | 评论 (0)编辑 收藏

     摘要: Hibernate作为一个成熟且功能强大的持久层框架,它对JDBC进行了轻量级的对象封装,使程序员可能随心所欲地使用面向对象编程思想来操纵数据库。Struts作为一款优秀的基于MVC的Java Web框架,已经得到了广大企业和Java Web程序员的认可。Struts+Hibernate可谓开发Web程序的黄金组合。

本章将介绍运用Struts+Hibernate开发物资管理系统的全过程。本系统具有以下亮点。

● 通过Struts框架实现MVC模式,不但可以提高网站的开发速度,而且可以增强程序的可读性和易维护性。

● 系统中采用了Struts的RequestProcessor类解决中文乱码问题,使原本繁琐的工作变得非常简单。

● 通过Hibernate的HQL查询及关联操作使数据检索操作变得简单易行。
  阅读全文
posted @ 2009-01-07 10:37 rogerfan 阅读(483) | 评论 (0)编辑 收藏

     摘要: 1. MD5加密,常用于加密用户名密码,当用户验证时。}   }  2. SHA加密,与MD5相似的用法,只是两者的算法不同。}   }  3. RSA加密,RAS加密允许解密。常用于文本内容的加密。  阅读全文
posted @ 2009-01-06 15:57 rogerfan 阅读(554) | 评论 (0)编辑 收藏

     摘要: Java 加密技术:消息摘要。

一个消息摘要就是一个数据块的数字指纹。即对一个任意长度的一个数据块进行计算,产生一个唯一指印(对于SHA1是产生一个20字节的二进制数组)。

消息摘要有两个基本属性:

两个不同的报文难以生成相同的摘要
难以对指定的摘要生成一个报文,而由该报文反推算出该指定的摘要
代表:美国国家标准技术研究所的SHA1和麻省理工学院Ronald Rivest提出的MD5
  阅读全文
posted @ 2009-01-06 15:55 rogerfan 阅读(1995) | 评论 (0)编辑 收藏

     摘要: 命令行 Subversion 入门
如果您参与的项目正在使用 Subversion 进行版本控制,您将需要使用 Subversion 访问和更改项目源文件。您可以点击项目的左侧导航窗格上的“Subversion”链接,在线浏览源代码以查看该项目的目录结构和文件。

“Subversion”页面显示三个子目录:branches/、tags/、trunk/ 和一个自述文件。自述文件可以使您对 Subversion 存储库有一个整体了解。您可以点击“访问选项”,查看 Subversion 客户端安装说明。您的本地计算机上必须安装有 Subversion 客户端。
  阅读全文
posted @ 2009-01-04 11:10 rogerfan 阅读(141) | 评论 (0)编辑 收藏

     摘要: 1、先下载一个linux版的JDK ,如:jdk-6u1-linux-i586.bin

2、登录linux 系统后,新建一个终端,然后安装jdk-6u1-linux-i586.bin文件
(1)、booleanlab%chmod u+x jdk-6u1-linux-i586.bin //为了不出现当前用户没有执行权
(2)、booleanlab%./jdk-6u1-linux-i586.bin //运行jdk-6u1-linux-i586.bin文件
(3)、一直空格进行,直到要你输入 yes或no 时,则填入:y 或yes ,回车直到安装完成

3、设置环境变量(以Fedora 6 为例)
(1)、再新建一个终端(即打开多一个终端窗口),然后经编辑.bash_profile文件
booleanlab%vi .bash_profile 然后按i 字母   阅读全文
posted @ 2008-12-12 10:31 rogerfan 阅读(286) | 评论 (0)编辑 收藏

     摘要: 准备软件:

  1. J2SDK(1.5.0): jdk-1_5_0-linux-i586-rpm.bin
  2. Apache(2.0.53): httpd-2.0.53.tar.gz
  3. Resin(3.0.13): resin-3.0.13.tar.gz
  4. MySQL(4.1.12): Server: MySQL-server-4.1.12-1.i386.rpm
Client: MySQL-client-4.1.12-1.i386.rpm
  5. MySQL-JBDC Connector: mysql-connector-java-3.1.10.tar.gz
  将上述软件全部放到一个目录下,假设在/down中。

  安装过程:
  阅读全文
posted @ 2008-12-10 15:29 rogerfan 阅读(224) | 评论 (0)编辑 收藏

     摘要: 根文件系统一般应该比较小,因为包括严格的文件和一个小的不经常改变的文件系统不容易损坏。损坏

的根文件系统一般意味着除非用特定的方法(例如从软盘)系统无法引导,所以不应该冒这个险。

  根目录一般不含任何文件,除了可能的标准的系统引导映象,通常叫/vmlinuz 。所有其他文件在根

文件系统的子目录中。

  /bin
  引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。
  /sbin
  类似/bin ,但不给普通用户使用,虽然如果必要且允许时可以使用。
  /etc
  特定机器的配置文件。
  阅读全文
posted @ 2008-12-10 09:35 rogerfan 阅读(230) | 评论 (0)编辑 收藏

     摘要: 在搜索引擎,语音识别等领域常会统计单词的出现频率,下面给出Groovy实现,打印出现频率最高的6个单词以及相应的出现次数:  阅读全文
posted @ 2008-12-04 10:59 rogerfan 阅读(395) | 评论 (0)编辑 收藏

     摘要: GORM就是以前我刚学Groovy没多久时想实现的功能,它使开发人员不需要关心数据库方面,也不需要任何配置,只需专心用OO思想设计自己的系统,还有一个好处就是开发时不用备份数据库,因为GORM会自动帮你建表以及约束(但数据库需要你自己建),让我们来看一下用Grails开发是多么简单高效吧!
在写域类时,无须添加与业务无关的属性,比如在用Hibernate时,我们需要(不强制)在类中定义id,但用GORM时,id无须自己声明,GORM 会帮我们自动添加id和version。GORM通过反射机制获得域类属性信息决定数据库字段类型,所以在定义域类时不要使用def关键字来定义属性,务必明确定义属性类型,比如在下面的域类Article中,用String来定义content(而不是def content),在默认情况下,String映射到数据库中的字段类型是VARCHAR(Date映射到数据库中的字段类型是DATETIME),如果通过类变量contraints定义了String的长度范围,且长度过长,映射到数据库中的字段类型会变为TEXT,十分智能。  阅读全文
posted @ 2008-12-04 10:40 rogerfan 阅读(297) | 评论 (0)编辑 收藏

     摘要: Groovy和Java的相同点有:
3+, 4+, 6+, 8+, 10+, 12+, 13, 14, 15, 18+, 20+, 21, 22, 23, 28+, 29+, 30+, 31+, 32+

+表示Groovy不但涵盖了Java的语法,而且还有增强部分。

Groovy和Java的不同点有:
0, 1, 2, 5, 7, 9, 11, 16, 17, 19, 24, 25, 26, 27

下面所列序号不分先后顺序:

0. 在Groovy可以用def定义无类型的变量(定义变量方面def与JavaScript中的var相似),和返回值为无类型的方法,而在Java中没有def。
  阅读全文
posted @ 2008-12-04 10:36 rogerfan 阅读(342) | 评论 (0)编辑 收藏

     摘要: 在学习任何东西之前,最重要的是培养兴趣,Groovy世界最耀眼的技术之一--Grails相信大家早已耳闻,我将通过Grails实战系列文章向您展现Grails的迷人风采,使您感受到Grails的魅力,以至疯狂地爱上Grails,并坠入Groovy的爱河。学Groovy,Grails与学Java一样,在实战之前需要搭建开发环境,您可以在 Groovy轻松入门--搭建Groovy开发环境 学习到如何搭建Groovy环境,之后我会讲一下如何搭建Grails环境,然后手把手地写个Demo程序告终,我还会抽空写篇“Groovy轻松入门--Grails实战之进阶篇”

一,搭建Grails环境

0,下载Grails( http://dist.codehaus.org/grails/grails-bin-0.4.2.zip ,请留意朝花夕拾——Groovy & Grails中的“最新版本”提示)并解压到自己指定位置(我的位置是D:DMY_DEVgrails)
  阅读全文
posted @ 2008-12-04 10:25 rogerfan 阅读(317) | 评论 (0)编辑 收藏

     摘要: 既然是入门,我先不介绍那些IDE的东西,比如Eclipse中的Groovy插件(如果您迫不及待的话,可以先看一下安装Groovy的Eclipse插件),我先讲一下如何设置Groovy的环境变量(我目前所用的系统是Windows XP),最后运行一个Hello, world程序告终。

Groovy既然是Java帝国的王储,当然少不了Java的支持。

0,先安装JDK(推荐版本为1.5及1.5以上,当然1.4也可以)。

然后设置Java的环境变量:

1,设置环境变量java_home(设置环境变量XXX_home的一个好处是只要修改XXX_home的值,与之相关的%XXX_home%\bin等的值都相应改变,这样就能做到‘一处修改,处处修改’)。
右击‘我的电脑’-> ‘属性’ ->‘高级’-> ‘环境变量’-> 点击‘新建’(用户变量与系统变量均可,挑一便是)-> 输入‘变量名’为java_home -> 输入‘变量值’为JDK的所在目录(默认安装位置为C:\  阅读全文
posted @ 2008-12-04 10:00 rogerfan 阅读(252) | 评论 (0)编辑 收藏

     摘要: /*设置字体格式*/
public static HSSFFont getHdrFont(HSSFWorkbook wb) {
fontStyle = wb.createFont();
fontStyle.setFontName("宋体");
fontStyle.setFontHeightInPoints((short)20);
fontStyle.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
return fontStyle;
}
public static HSSFFont getFtrFont(HSSFWorkbook wb) {
fontStyle = wb.createFont();
fontStyle.setFontName("宋体");
fontStyle.setFontHeightInPoints((short)12);
fontStyle.setBoldweight(HSSFFont.BOLDWEIGHT_NORM  阅读全文
posted @ 2008-11-25 10:17 rogerfan 阅读(1240) | 评论 (1)编辑 收藏

     摘要: 这是我测试的时候写的,摘出来存放

Properties props=System.getProperties(); //系统属性
System.out.println("Java的运行环境版本:"+props.getProperty("java.version"));
System.out.println("Java的运行环境供应商:"+props.getProperty("java.vendor"));
System.out.println("Java供应商的URL:"+props.getProperty("java.vendor.url"));
System.out.println("Java的安装路径:"+props.getProperty("java.home"));
System.out.println("Java的虚拟机规范版本:"+props.getProperty("java.vm.specification.version"));
System.out.println  阅读全文
posted @ 2008-11-21 10:14 rogerfan 阅读(514) | 评论 (0)编辑 收藏

     摘要: 文件的建立/检查与删除
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>


文件的建立、检查与删除


<%
String path=request.getRealPath("");
//out.println(path);
File f=new File(path,"File.txt");
//out.println(f);
//out.println(f.exists());

if(f.exists()){//检查File.txt是否存在
f.delete();//删除File.txt文件
out.println(path + "\\File.txt 存在,已删除。");
}else{
f.createNew  阅读全文
posted @ 2008-11-21 10:08 rogerfan 阅读(188) | 评论 (0)编辑 收藏

     摘要: 最近在做我们的JAVA课程设计,我的设计里面涉及到了对信息的导出,包括导出Excel和Pdf.在网上查了有关Poi的资料查了很久终于写出了满足自己需求的程序.以下是程序的全部代码:

(一)SheetDataSource.java   阅读全文
posted @ 2008-11-18 15:18 rogerfan 阅读(1310) | 评论 (0)编辑 收藏

     摘要: package xls;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.a  阅读全文
posted @ 2008-11-18 10:40 rogerfan 阅读(566) | 评论 (0)编辑 收藏

     摘要: 一、Excel基础

二、HSSF概况

三、通过usermodel读取文件

四、通过usermodel写入文件

五、通过eventusermodel读取文件

六、HSSF电子表格结构

七、通过HPSF读取文档属性

八、文档摘要信息

九、附录   阅读全文
posted @ 2008-11-18 10:25 rogerfan 阅读(1048) | 评论 (0)编辑 收藏

     摘要: 从shell中启动可视化编辑器
vi filename 指示shell启动vi编辑器,并将参数filename传给它。如果当前目前中存在该文件,则vi编辑器将它解释为要打开的文件;如果没有该文件,则vi编译器创建新文件
vi file1 file2 file3 shell传递3个参数给vi,vi将它们解释为要打开的文件。可以使用:w命令保存文件,使用:n命令访问下一个文件
vi +# filename 打开文件,并将光标移到指定的行。例如,命令vi +100 records 从第100行开始编辑文件records
vi +/the filename 打开文件,并将光标移动包含有目标字符串的行。例如,命令vi +/Jason friends 从第1个含有字符串Jason的行开始编辑文件friends
view filename 打开文件进行编辑,但是拒绝保存对文件的修改,除非使用w!命令
光标移动命令
hjkl 将光标分别向左、下、上、右移动一个字符
0(零) 将光标移到当前行的行首
^(脱字符)   阅读全文
posted @ 2008-11-07 17:30 rogerfan 阅读(316) | 评论 (0)编辑 收藏

     摘要: vi用法
 VI命令可以说是Unix/linux世界里最常用的编辑文件的命令了,但是因为它的命令集众多,很多人都不习惯使用它,其实您只需要掌握基本命令,然后加以灵活运用,就会发现它的优势,并会逐渐喜欢使用这种方法。本文旨在介绍VI的一些最常用命令和高级应用技巧。
一、基本命令介绍
---- 1.光标命令
k、j、h、l——上、下、左、右光标移动命令。虽然您可以在linux中使用键盘右边的4个光标键,但是记住这4个命令还是非常有用的。这4个键正是右手在键盘上放置的基本位置。
nG——跳转命令。n为行数,该命令立即使光标跳到指定行。
Ctrl+G——光标所在位置的行数和列数报告。
w、b——使光标向前或向后跳过一个单词。  阅读全文
posted @ 2008-11-07 17:29 rogerfan 阅读(263) | 评论 (0)编辑 收藏

     摘要: 当你打开浏览器,自由地游弋于浩如烟海的互联网世界之时,是否也沉迷于下载各种实用软件?其中也许有很大一部分就是网络工具吧!但请你不要忽视你的面前——windows(包括win98和nt)作系统中本来就带有不少的网络实用工具,虽然比较简单,却并不简陋。本着“简单就是美”的原则,下面就为你展现windows网络实用工具的丰采……
ping

  ping是个使用频率极高的实用程序,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。根据返回的信息,你就可以推断tcp/ip参数是否设置得正确以及运行是否正常。需要注意的是:成功地与另一台主机进行一次或两次数据报交换并不表示tcp/ip配置就是正确的,你必须执行大量的本地主机与远程主机的数据报交换,才能确信tcp/ip的正确性。  阅读全文
posted @ 2008-11-07 17:27 rogerfan 阅读(318) | 评论 (0)编辑 收藏

     摘要: gpedit.msc-----组策略 sndrec32-------录音机
Nslookup-------IP地址侦测器 explorer-------打开资源管理器
logoff---------注销命令 tsshutdn-------60秒倒计时关机命令
lusrmgr.msc----本机用户和组 services.msc---本地服务设置
oobe/msoobe /a----检查XP是否激活 notepad--------打开记事本
cleanmgr-------垃圾整理 net start messenger----开始信使服务
compmgmt.msc---计算机管理 net stop messenger-----停止信使服务
conf-----------启动netmeeting dvdplay--------DVD播放器
charmap--------启动字符映射表 diskmgmt.msc---磁盘管理实用程序  阅读全文
posted @ 2008-11-07 17:26 rogerfan 阅读(353) | 评论 (0)编辑 收藏

     摘要: 一.Linux进入与退出系统

进入Linux系统:

必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号:
  1.root--超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情。
  2.普通用户--这个帐号供普通用户使用,可以进行有限的操作。
  一般的Linux使用者均为普通用户,而系统管理员一般使用超级用户帐号完成一些系统管理的工作。如果只需要完成一些由普通帐号就能完成的任务,建议不要使用超级用户帐号,以免无意中破坏系统。影响系统的正常运行。
  用户登录分两步:第一步,输入用户的登录名,系统根据该登录名识别用户;第二步,输入用户的口令,该口令是用户自己设置的一个字符串,对其他用户是保密的,是在登录时系统用来辨别真假用户的关键字。
  当用户正确地输入用户名和口令后,就能合法地进入系统。屏幕显示:   阅读全文
posted @ 2008-11-07 17:25 rogerfan 阅读(244) | 评论 (0)编辑 收藏

     摘要: 每一种操作系统都是由成千上万个不同种类的文件所组成的。其中有系统本身自带的文件,用户自己的文件,还有共享文件等等。我们有时候经常忘记某份文件放在硬盘中的哪个地方。在微软的WINDOWS操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击“开始”-“搜索”中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档。

可是使用Linux的用户就没有那么幸运了,在Linux上查找某个文件确实是一件比较麻烦的事情。毕竟在Linux中需要我们使用专用的“查找”命令来寻找在硬盘上的文件。Linux下的文件表达格式非常复杂,不象WINDOWS,DOS下都是统一的AAAAAAA.BBB格式,那么方便查找,在WINDOWS中,只要知道要查找的文件的文件名或者后缀就非常容易查找到。Linux中查找文件的命令通常为“find”命令,“find”命令能帮助我们在使用, 管理Linux的日常事务中方便的查找出我们需要的文件。
  阅读全文
posted @ 2008-11-07 17:22 rogerfan 阅读(278) | 评论 (0)编辑 收藏

     摘要: 指令名称 : chmod


使用权限 : 所有使用者


使用方式 : chmod [-cfvR] [--help] [--version] mode file...


说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉

以控制档案如何被他人所存取。  阅读全文
posted @ 2008-11-07 17:19 rogerfan 阅读(681) | 评论 (1)编辑 收藏

     摘要: 我们将使用Ext,来完成一些JavaScript任务。

Zip文件包括三个文件:ExtStart.html, ExtStart.js和ExtStart.css。解包这三个文件到Ext的安装目录中(例如,Ext是在“C:\code\Ext\v1.0”中,那应该在"v1.0"里面新建目录“tutorial”。双击ExtStart.htm,接着你的浏览器打开启动页面,应该会有一条消息告诉你配置已完毕。如果是一个Javascript错误,请按照页面上的指引操作。

在你常用的IDE中或文本编辑器中,打开ExtStart.js看看:

Ext.onReady可能是你接触的第一个方法。这个方法是指当前DOM加载完毕后,保证页面内的所有元素能被Script引用(reference)。你可删除alert()那行,加入一些实际用途的代码试试:

Ext.onReady(function() {
alert("Congratulations! You have Ext configured correctly!");
}  阅读全文
posted @ 2008-11-06 13:55 rogerfan 阅读(503) | 评论 (0)编辑 收藏

     摘要: 目前一些中小企业公司论坛主要通过以下几种网络编程语言来建立,包括直接使用CGI程序或ASP语言,PHP语言等。不过对于普通用户来说可能会觉得ASP语言和PHP语言建立的论坛需要使用相应的数据库,例如ACCESS,SQL SERVER,MY SQL等。数据库这个概念对门外汉来说比较陌生,深感难度大。那么有没有一种论坛可以在windows以及linux下运行,而他又不用数据库呢?

雷傲论坛(LeoBBS)是目前互联网上唯一一个可以同时在Win2000的IIS环境下以及Linux的Apache环境下同时运行并且无须数据库的论坛程序。在安装过程中,你可以选择是安装在windows系统的iis环境下还是安装在linux的apache系统中,不同的环境,安装的方法略有不同。说到这里肯定很多读者已经等不及了,那么下面就由笔者带领大家在windows系统的IIS环境下安装并使用雷傲论坛(LEOBBS)吧!
  阅读全文
posted @ 2008-11-06 10:38 rogerfan 阅读(502) | 评论 (0)编辑 收藏

     摘要: maven2 起步
相信maven1 大家都已经很熟悉了,具体maven能做什么,就不详细说了。个人觉得maven在开源项目中用的还是比较多的,公司内部,就不太清楚了。我以前的公司用过一段时间,不过后来就没有下文了。
与maven1 相比,maven2可算是几乎重写了,不过从速度来说应该更快。
主要的几个新特性包括:(详细参考http://www.ibm.com/developerworks/cn/opensource/os-maven2/index.html)
  阅读全文
posted @ 2008-11-05 14:08 rogerfan 阅读(4654) | 评论 (0)编辑 收藏

     摘要: ArcSoft PhotoStudio Darkroom(照相馆暗室)是一款专用于对RAW、JPEG和TIFF图片作无损编辑的全新软件。程序拥有为您贴心设计的专业用户界面、一整套图片增强工具和导出选项,无论是专业用户,还是一般摄影爱好者都会对它爱不释手。

* 内置的图片查看器
* 从相机或移动存储器中导入文件
* 无损的图片处理
* 支持RAW、JPEG和TIFF文件
* 支持Canon、Nikon、Panasonic, Adobe DNG, Sony、Kodak、Olympus、Sigma、Mamiya和Epson RAW格式
* 快速缩略图预览
* 曝光调整
* 白平衡调整
* 镜头校正
* 曲线与色阶
* 裁剪与导正
* 自动去除红眼
* 一键 去除污点与瑕疵
*   阅读全文
posted @ 2008-11-04 17:50 rogerfan 阅读(811) | 评论 (0)编辑 收藏

     摘要: Flash Slideshow Maker是一款强大但不失简便的Flash图片秀制作工具,友好的中文界面让你很容易就能熟悉使用,只需顺着主界面上的3个步骤(选择图片、选择模板、设置输出)就可以做出迷人、专业的Flash幻灯相册了,支持图片编辑与背景音乐的添加。Flash Slideshow Maker有"简单"与"高级"两中模式的模板,简单的模板将输出单个的SWF文件,图片和声音将嵌入到SWF文件中;而高级模板是XML驱动的,所有的图片和声音都是从外部文件加载,比较适合网页的图片展示,高级模板下自带了约38中类别的模板,每种类别下都有几个不同样式的模板,很强很专业!最后的输出也有3个输出选项:仅创建Flash文件、制作CD/DVD碟片、创建Flash并上传,考虑的很细致。

绿化/使用说明:Flash Slideshow Maker给人的总体感觉是非常地简单易用、模板多且漂亮以及XML模式驱动的高级模板,推荐使用。使用前请先运行"@Install_绿化.exe"以完成软件的注册,主程序为"fssmpro.exe",第一次启动会有点慢,请耐心等待,软件会自动检  阅读全文
posted @ 2008-11-04 17:44 rogerfan 阅读(492) | 评论 (0)编辑 收藏

     摘要: [软件名称] Windows Live Messenger v8.5.1302.1018 去广告中文绿色版
[界面语言] 简体中文
[软件类别] 国外软件 - 即时通讯
[官方主页] HomePage
[软件发布] PortableSoft
[操作系统] Windows
[软件大小] 11.8 MB

[功能介绍]

Windows Live Messenger 是下一代的 MSN Messenger。它仍包含您所喜爱的msn的一切功能 — 您的联系人名单、图释以及使用文本、声音和视频与您的朋友即时联系。此外,还提供了轻松连接并共享照片和文档的新方式。与以前一样,下载MSN Messenger 和使用其大部分功能都是免费的。  阅读全文
posted @ 2008-11-04 17:43 rogerfan 阅读(273) | 评论 (0)编辑 收藏

     摘要: Inpaint可以从您的图片中删除不想要的部分,如额外的线、人物、文字等......选定后Inpaint会自动进行擦除,同时Inpaint会根据附近图片区域重建擦除的区域,使看起来完美无暇,没有痕迹。

Inpaint用的最多的就是去除图片水印吧,小众软件也介绍过了(Teorex.Inpaint - 我就是要去水印),现在Giveaway of the Day提供了注册版,心想还是将这"限时免费"的大餐一直保存下来吧~~使用前先导入注册文件"@Install_注册.reg"就是注册版了,帮助文件里有详细的操作步骤。功能上跟Image Mender应该是一样的。  阅读全文
posted @ 2008-11-04 17:37 rogerfan 阅读(1195) | 评论 (0)编辑 收藏

     摘要: 原先的Wondershare DVD Slideshow Builder如今已升级并更名为Wondershare Movie Story了。Movie Story可以将数码照片、视频剪辑、音乐片段等组合转换为专业的DVD电子相册,它提供了好莱坞风格的DVD菜单模板、支持背景音乐、2D/3D的转换特效及录制声音旁白等。

Movie Story具有独特的实时预览功能,能帮住你更准确地控制时间,All-in-One的创作能力让你能够创建CD/DVD/HD-DVD/Blu-ray并在TV等上欣赏,或者转换为iPhone、iPod、PSP所支持的视频格式。Movie Story v4.5中添加了16:9的DVD菜单预览,支持多种视频格式的导入,同时升级了音频组件。

绿化/使用说明:使用前先运行绿化程序"@Install_绿化.exe",会提示选择简体中文界面还是繁体中文界面,根据自己需要选择即可,需要切换时请再次运行。主程序为"MS.exe"。  阅读全文
posted @ 2008-11-04 17:35 rogerfan 阅读(422) | 评论 (0)编辑 收藏

     摘要: TVUPlayer是一款免费的网络电视软件。电视频道在程序的左边会列出。只要双击频道名字就可以观看该频道节目。刚开始会有短暂的延时然后出现画面,画面要经过极短暂的调整后就会播放稳定高质的影像。双击左边的频道列表中的频道来切换电视频道。用右底部的音量滑动条来控制音量。

TVU networks提供了通过宽带网络连接在您Windows个人电脑上观看的免费实时直播电视服务。这项服务致力于带给您在当地有线电视或卫星电视上看不到的节目,如全球的新闻、体育节目等。 TVUPlayer应用了类似点对点文件共享的新广播技术。该技术可以使观看者在观看一个节目频道的同时也协助提供给观看同一频道的其他观众高质量的电视信号。我们的网络电视收视软件不会在您电脑的硬盘上创建存储新的文件,因为您观看的是实时电视节目。查看官方的网络电视收看软件使用指南!

绿化/使用说明:TVUPlayer在2008年10月10日更新到了2.4.0.1。TVUPlayer提供的频道非常之多,频道主要有以下分类:英文、中文、新闻、体育、综合、电影、动画片、音乐、娱乐、时尚、科  阅读全文
posted @ 2008-11-04 12:35 rogerfan 阅读(734) | 评论 (0)编辑 收藏

     摘要: Wondershare Photo Collage Studio是一款可以将喜爱的照片整理为艺术专辑的数码照片实用工具。使用它你可以既快速又简单地制作出带有相片框架和特殊蒙版效果的极好看照片专辑,也可以从丰富的Cliparts和Wordarts当中进行创造性的选择。并且每幅作品可以重复地打印输出。

作为一款数码照片拼贴工具,它可以将你喜欢的照片进行艺术编辑,从而制作出漂亮的照片照片拼贴画。你可以尽情发挥创意,在Photo Collage Studio提供的各种精美背景图案、蒙板以及边框基础上,制作各种漂亮的照片拼贴画、壁纸、CD和DVD封面,以及各种网页图片等;制作过程中可以任意选择背景,同时把多个图像放到背景上,对每个图像进行缩放、旋转、剪裁以及加边框等操作,并用蒙板把这些图像、背景融合在一起,并添加文字说明...

绿化/使用说明:使用前先双击运行绿化程序 @Install_绿化.exe 以完成软件的注册,主程序为 pcls.exe 。Photo Collage Studio自带了英语、法语、西班牙语的语言文件,有兴趣的可以  阅读全文
posted @ 2008-11-04 12:33 rogerfan 阅读(426) | 评论 (0)编辑 收藏

     摘要: Xara Xtreme Pro是Xara出品的一套很棒的图形图像编辑处理软件包,用来绘图、处理图像、制作WEB图形,具有制图速度快、软件体积小、界面美观等特点,被誉为“世界上速度最快的绘图软件”。

所有的矢量绘图软件都有笔刷工具,但是Xara Xtreme的笔刷工具(Freehand and Brush Tool)更加好用,它所绘出的线条可以进行编辑,不仅可以拉伸、改变方向,还可以选择不同的线条样式。Xara Xtreme带有一些特殊效果工具如阴影工具(Shadow Tool)、斜角工具(Bevel Tool)、周线工具(Contour Tool)、重叠工具(Blend Tool),使用这些工具,只要一步就能作出相应的效果。

绿化/使用说明:是 yangxn 留言要绿化此软件的,做好了之后发给他想让他给测试下,但一直没回应,索性直接发布出来吧;据 yangxn 所讲,Xara Xtreme基本相当于Illustrator和Photoshop,可以说是两者的精彩结合吧!使用前请先绿化,双击运行 @Install_绿化.exe  阅读全文
posted @ 2008-11-04 12:30 rogerfan 阅读(380) | 评论 (0)编辑 收藏

     摘要: 想天天都可以免费看到全国各种的最新报纸的电子版么?只要您的电脑连接到网络上,你就可以足不出户的免费浏览到多种国内报纸的最新消息、新闻。有报天天读,读报、读书、知天下事也!让我们来体验一下在电脑里阅读当天报纸的方便吧。

  天天八点,免费看报。在每天8点钟之前发布当天最新的本地知名报纸,让用户每天上班时坐到电脑面前,就可以看到本地的权威报纸,而且是原汁原味的、与当地发行的纸质报纸一模一样,让您看的舒舒服服。

绿化/使用说明:应 zjbaoce2008 的绿化要求而作;使用前务必运行 @Install_绿化.bat 以完成必要的初始化设置,否则软件将报错,然后再打开主程序 8DB.exe 就可以了,需要卸载及清理请运行 @Uninstall_清理.bat 。8点报的一个特点是以原样呈现报纸,色彩和谐不伤眼睛,要是有阅读报纸的爱好,8点报阅读器是个很不错的选择。要是从官方网站上直接阅读的话,请绿化后先打开一下主程序 8DB.exe 就能阅读了!有什么问题可以看看官方的介绍及使用说明。  阅读全文
posted @ 2008-11-04 12:28 rogerfan 阅读(1327) | 评论 (0)编辑 收藏

     摘要: QQ影音是腾讯公司最新推出的一款支持任何格式影片和音乐文件的本地播放器。QQ影音追求更小、更快、更流畅,让您在没有任何插件和广告的专属空间里,真正拥有五星级的视听享受!

通过下载安装后发现,QQ影音可算是一款非常不错的绿色免安装播放器,感觉这样的软件最好了,无需任何操作,下载解压就能用;只是运行后会在系统留下一些注册表信息和配置文件,不过通过我写的一个清理补丁 @清理.bat 可以很容易地清理掉。

QQ影音的 1.0 Beta1 Build196 版早在10.13就发布了,只是一直没去更新;QQ影音感觉做的还不错,不管是播放器主界面还是设置界面布置地都很清爽、细致,比较耐看,关联图标也挺好看;是我最近一直在用的绿色播放器。
  阅读全文
posted @ 2008-11-04 09:51 rogerfan 阅读(2906) | 评论 (0)编辑 收藏

     摘要: CursorWorkshop跟著名的IconWorkshop是同一家公司Axialis的产品,可以用来制作高质量的系统或网站的静态、动画鼠标、图标等;它有一个综合性的工作空间(称得上WorkShop,跟IconWorkshop一模一样)让你高效率地创建专业的鼠标方案等。

绿化/使用说明:使用前先绿化,写入配置信息与注册信息,我把 CursorWorkshop 的素材文件夹 Axialis Librarian 转移到了程序所在目录,从而变得比较独立,这次一并提供完整绿色版与精简绿色版  阅读全文
posted @ 2008-11-04 09:51 rogerfan 阅读(799) | 评论 (0)编辑 收藏

     摘要: AptEdit是一款功能丰富的文本/HEX/HTML/程序编辑器,它具有强大的二进制模版,可以直观的理解和编辑二进制文件、显示编辑本地磁盘;内含完整的UNICODE支持,通过另存文件可以转换文件的字符编码。AptEdit也它为网页作者提供了方便的HTML编辑功能,设置了单独的HTML工具栏,大部分HTML编辑操作可以通过操作这个工具栏完成,可以直接预览设计的网页。同时软件特别增强了对于二进制文件编辑的支持,可以分组显示HEX值,可以把选中的HEX字节转换成C/C++、Java、Pascal数组形式,支持HEX编辑的重做/撤销及高亮编辑过的HEX字节。

此外,AptEdit还支持把文本文件转换成HTML格式,同时还保持文本文件的显示格式和颜色。其他功能如可以把用字符分割字段的文本文件转换成用字段长度固定的文本文件、在列编辑模式下可以调整选中文本的对齐方式(左对齐、右对齐、居中)等。 查看AptEdit Pro所有支持特性;查看AptEdit Pro最近更新情况。  阅读全文
posted @ 2008-11-04 09:50 rogerfan 阅读(338) | 评论 (0)编辑 收藏

     摘要: 电脑使用时间长了,可能就有很多重复的文件了,最常见的是图片文件和音乐文件,就用Duplicate Cleaner帮你查找下吧;这是 dynasty 推荐的一款免费软件!

Duplicate Cleaner可以指定一些过滤条件进行查找,如查找图像/图片文件、音乐数据文件、影片文件、文本文件、Office文档等;可设定文件内容、文件名、文件大小、日期等条件;而音乐文件的查找可以按照音乐tag指定搜索,如艺术家、标题、专辑等。特别的是它可以查找以Hard Link形式存在的重复文件。
  阅读全文
posted @ 2008-11-04 09:50 rogerfan 阅读(356) | 评论 (0)编辑 收藏

     摘要: ybchen08 留言推荐的这款不错的免费工具;iSpring是一款免费的PowerPoint转Flash工具,可以轻松地将PPT演示文档转换为对Web友好的Flash影片格式,转换的同时将会保留原有的可视化与动画效果,而Flash格式的最大特点是体积小巧、易于分发,兼容所有的操作系统和浏览器等。而这一切都是免费的,虽然收费的Pro版能自定义更多的选项,Free版的对我们日常情况也已经够用了!

* 支持PowerPoint 2000/XP/2003/2007;
* 支持超链接和动作按钮;
* 超过180中的PowerPoint动画效果;
* 支持所有的PowerPoint幻灯片切换效果;
* 单击即可轻松转换;
* 嵌入式的音乐、音频支持;
* 自动同步动画与声音;
* 嵌入视频剪辑与Flash影片;
* 基于Flash的播放器。  阅读全文
posted @ 2008-11-04 09:49 rogerfan 阅读(452) | 评论 (0)编辑 收藏

     摘要: StarBurn是一个功能强大的 CD/DVD/ Blu-Ray/HD-DVD光盘抓取、刻录以及管理工具。除了提供刻录功能之外,StarBurn还集成了许多方便实用的相关功能。

* ISO镜像制作:通过工具栏上的UDF和ISO镜像制作按钮制作自己的镜像文件;
* 镜像抓取:抓取盘片上的文件并制作为本地镜像;
* CD翻录和压缩:可以抓取CD上的音频文件并转化为OGG,WMA,MP3等多种格式;
* 盘片擦除:支持所有可擦写盘片的文件擦除工作;
* 此外还支持更换皮肤等功能,兼容32和64位系统。  阅读全文
posted @ 2008-11-04 09:48 rogerfan 阅读(279) | 评论 (0)编辑 收藏

     摘要: Adobe Reader是美国Adobe公司开发的一款优秀的PDF文档阅读软件。文档的撰写者可以向任何人分发自己制作(通过Adobe Acobat制作)的PDF文档而不用担心被恶意篡改。PDF (Portable Document Format) 文件格式是电子发行文档的事实上的标准,Adobe Acrobat Reader是一个查看、阅读和打印PDF文件的最佳工具。而且它是免费的。新版增加了两个Acrobat plugs-ins (Acrobat Search and AutoIndx),它可以在硬盘、CD和局域网中搜索用Acrobat Catalog tool创建了索引文件的多个PDF文件。

这次更新主要添加了繁体中文显示包,能正常阅读繁体PDF文档了;还有其他必要的字体显示组件,兼容性更好;多谢 严明(0451yanming) 反馈问题并多次邮件参与这次更新的测试!  阅读全文
posted @ 2008-11-04 09:48 rogerfan 阅读(1050) | 评论 (0)编辑 收藏

     摘要: AMS Photo Effects可以方便地通过多种多样的滤镜处理图片,它自带了多达50种的特殊效果,包括传统的和一些独创的效果,比如可以将照片置于雨雪云雾环境中看看是什么效果,或者添加阳光照射、及台风涡旋效果等。

AMS Photo Effects有3方面的照片效果处理,首先是添加特效(Effects),包括颜色效果、图案效果、传统特效、扭曲效果及艺术效果等;其实是图片装饰(Decoration),包括添加按钮、遮罩、边框处理等;最后是空间架构处理(Composition);只要有心,处理的效果还是不错的;PS高手就无视了,这个软件无非是将一些操作自动化了,适合懒人用哦,不过功能感觉不如 Wondershare Photo Collage Studio 强大!
  阅读全文
posted @ 2008-11-04 09:46 rogerfan 阅读(313) | 评论 (0)编辑 收藏

     摘要: 今天为博客添加了一个 免费软件 分类,就介绍一些我碰到过的免费软件吧,大家有什么好的免费软件也希望能推荐下;先介绍一个图片素描工具——FotoSketcher,它是一款很简便的图片素描化工具,处理速度很快,可以帮助你创建类似真实素描的艺术作品,FotoSketcher主要有5种素描方式:

* Pencil sketch
* Pen & Ink sketch
* Painting 1 (recursive filter)
* Painting 2 (bilateral filter)
* Painting 3 (median + bilateral filter)
* Frame and texture only
  阅读全文
posted @ 2008-11-04 09:45 rogerfan 阅读(517) | 评论 (0)编辑 收藏

     摘要: Wondershare DemoCreator是一个得心应手的屏幕录制工具。全屏桌面、窗口或区域都可以录制。你可以加入图片,诠释和叙述,并加强它作为一个Flash视频演示。它让您轻松地创建软件演示,演示产品讲解和互动式培训。作为一款视频教程的很好的解决办法,DemoCreator录制出来的视频带有时间轴,可在任何时间点添加注释文字、图片等等。DemoCreator一个特色是可以选择当前运行的某个程序进行录制动作,且有两种录制模式,分别是屏幕截图与录制屏幕全部动作。同时基于时间轴操作,非常方便地加入各种注释!DemoCreator录制的视频支持Flash、视频AVI及LMS格式输出。  阅读全文
posted @ 2008-11-04 09:44 rogerfan 阅读(403) | 评论 (0)编辑 收藏

     摘要: Camtasia Studio是TechSmith旗下一款专门录制屏幕动作的工具,它能在任何颜色模式下轻松地记录屏幕动作,包括影像、音效、鼠标移动轨迹、解说声音等等;另外,它还具有即时播放和编辑压缩的功能,可对视频片段进行剪接、添加转场效果。它输出的文件格式很多,包括Flash(SWF/FLV)、AVI、WMV、M4V、CAMV、MOV、RM、GIF动画等多种常见格式,是制作视频演示的绝佳工具。

TechSmith公司出品了很多精品软件,包括著名的抓图软件Snagit,而Camtasia Studio是该公司一个专门用于录制屏幕动作的软件,且TechSmith还专门对Codec进行开发,研究开发了属于自己的一套压缩编码算法,叫做"TSCC" (TechSmith Screen Capture Codec),专门用于对动态影像的编码!  阅读全文
posted @ 2008-11-04 09:43 rogerfan 阅读(472) | 评论 (0)编辑 收藏

     摘要: Adobe Photoshop Lightroom 2软件是当今数字拍摄工作流程中不可或缺的一部分。现在您可以快速导入、处理、管理和展示图像。其增强的校正工具、强大的组织功能以及灵活的打印选项可以帮助您加快图片后期处理速度,将更多的时间投入拍摄当中去。

Adobe公司最近发布了Lightroom 2.1 Final版, Adob Lightroom是一种适合专业摄影师输入,选择,修改和展示大量的数字图像的高效率软件。这样,用户可以花费更少的时间整理和完善照片。它界面干净整洁,可以让用户快速浏览和修改完善照片以及数以千计的图片。

绿化/使用说明:为了汉化绿色版的正常运行,使用前请运行 @Adobe LightRoom 2.1_绿化工具.exe ,根据提示选择 绿化 操作,目的是写入非常干净绿色的 Visual C++ Runtime Library 运行库支持文件及写入注册信息,打开即为中文界面;如果需要清理该软件时请选择 卸载 即可  阅读全文
posted @ 2008-11-04 09:42 rogerfan 阅读(203) | 评论 (0)编辑 收藏

     摘要: Dr.eye译典通8.0是一款功能强大的中英日语翻译和应用工具软件,融合最先进的中英日三语双向翻译技术,采用独创的人性化多窗口显示,提供外语日常办公、商务外贸沟通、英语/日语学习三大主体功能。

绿化/使用说明:应 limxc 的要求而绿化;使用前请先绿化(@绿化.exe),虽然我以尽最大努力减少与现有Dr.eye的冲突,但可能仍不能完全避免冲突,请严格安装绿化程序的提示操作,选择 绿化 后,会弹出安装提示,如安装过该软件的话会先保存原有信息,保存的信息会在选择 卸载 操作时进行恢复。如果没有安装过这个软件的话就无所谓了!

这次的Dr.eye 8.0绿色版没有做过多精简,Office插件工作正常,不过去掉了IE插件支持,词库放置在软件目录中的 DreyeDict 文件夹中,请勿重命名;这样下来,这款绿色软件体积有点大了,因此为了更新的方便,程序文件与绿化补丁分别提供下载。不保证绿色版一定能工作,有问题请反馈并尽量截图表示!  阅读全文
posted @ 2008-11-04 09:33 rogerfan 阅读(2281) | 评论 (3)编辑 收藏

     摘要: Eclipse的商业智能和报表工具(BIRT)项目是一个基于当今流行的Eclipse IDE的开源项目,用于在Java或者J2EE环境下构建和部署报表。该项目提供的主要下载项中包括以下内容:
BIRT设计器—用来构建报表。
Web查看器—一个用来部署报表的J2EE示例,其中包含了一个JSP标签库以降低与现存的web应用的耦合。
BIRT制图包—支持构建复杂的图表。
  阅读全文
posted @ 2008-09-05 14:29 rogerfan 阅读(1678) | 评论 (0)编辑 收藏