Archive

Archive for February, 2005

进来看看,据说知道10条以上的人不多

February 18th, 2005

进来看看,据说知道10条以上的人不多
a..人类全身上下,最强韧有力的肌肉,竟是舌头。
b..张开眼睛打喷嚏是不可能的。
c..憋气自杀也是不可能成功的。
d..每一次你舔一张邮票的背胶,你就吸收了十分之一卡路里。
e..右撇子平均比左撇子多活九年。
f..鳄鱼无法伸出它们的舌头。
g..北极熊都是左撇子。
h..某些狮子可以一天之内交配50次以上。果真是万兽之王呀…
i..鸵鸟的眼睛比脑袋大;而海星至今还没演化出脑。
j..跳蚤可以跳过它们350倍身长的距离,相当于一个人跳过一个美式足球场。
k..一只被摘掉头的蟑螂可以存活9天,9天后死亡的原因则是过度饥饿?所以还是当场立刻打死好

平常不知道的知识
1..长颈鹿没办法咳嗽
2..猫头鹰是唯一能够分辨蓝色的鸟类
3..一只鲸鱼一分钟心跳只有九下
4..平均来说,一个成人在清晨时,比在傍晚时高上0.4吋,因为在白天脊椎的软骨组织容易遭到压迫
5..我们喝到肚子里头的水已经有三亿岁了
6..巧克力含有一种称为苯基的化学物质,跟你谈恋爱时大脑里头可以制造出来的东西一样
7..只有百分之三十的人可以放大缩小自己的鼻孔
8..英文是所有语言中所含单字最多的,有接近一百万个,德语的字汇少于十八万字,而法语更糟,只有不到万字..
9..一只牡蛎的性别会由男变女,此后一生中还会变个几次
10.艾菲尔铁塔的草稿蓝图摊开来有超过14000平方呎的面积
11..根据一项1845年由英国通过的法律,自杀是非常严重的罪最重可以处以吊死的极刑
12..在太空中太空人是没办法哭的,因为没有地心引力,眼泪流不出来
13..一只变色龙的舌头是它自己身体的两倍长
14..最常用牙签的人是美国人
15..瞎眼的变色龙还是有能力变色来适应周遭环境
16..有百分之二十七的美国男性大学生认为人生是一个没啥意义的活地狱
17..一个正常人的眼部肌肉一天平均要动上一万到一万五千次
18..大象死后还会保持站立姿势
19..有些昆虫没有头还可以再活上一年
20..达芬奇光是画蒙娜丽莎的嘴唇就花上十二年
21..玻璃破掉时,玻璃碎片的时速最高可达每小时三千英哩
22..乳牛听音乐时可以供应更多牛奶
23…下午摘下的玫瑰比清晨摘下的玫瑰更能持久不枯萎
24..虎鲨的胚胎在母亲的子宫里需经过激烈的搏斗,胜利者就是可以活著出生的小虎鲨
25..一只70磅的章鱼可以穿过一个仅一枚银币大小的洞因为他们没有脊椎
26..贝多芬坐著写歌时习惯用冰水冲他的脸,他相信这样可以刺激他的大脑做出更好的东西
27..印尼的竹节虫是全世界最大的昆虫,有些光是身长就有一呎长
28..男人身体含有比女性身体更多的血液,通常一名男子身上的血液可多达1.5加仑,但女子身上却只有0.875加仑
29..降落伞的发明人把第一次乘坐降落伞的机会让给了一只狗
30..一台波音747的机翼长度恰巧是莱特兄弟第一次飞行的距离
31..一只倭寇大螃蟹可能长达12呎
32..一只鲨鱼可以侦测到水中仅百万分之一含量的血液
33..森巴舞的森巴原来的意思是一起磨肚脐吧
34..小孩子在春天长的比较快
35..你知道亚马逊河流入大西洋的水有多少吗?在河流出海口一百英里以内的大西洋,你所喝到的水都还淡水
36..刚出生的小火鸡要有爸爸妈妈教导如何吃东西,不然会饿死
37..月亮有多重?八百一十亿磅.
38..蝙蝠是唯一能飞的哺乳动物
39..一只毛虫身上有超过两千条的肌肉
40..其实, 河马跑得比人快

我就是未分类

jar 应用

February 16th, 2005

先打开命令提示符(win2000或在运行筐里执行cmd命令,win98为DOS提示符),输入jar –help,然后回车(如果你盘上已经有了jdk1.1或以上版本),看到什么:

用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 …

选项:

-c 创建新的存档
-t 列出存档内容的列表
-x 展开存档中的命名的(或所有的〕文件
-u 更新已存在的存档
-v 生成详细输出到标准输出上
-f 指定存档文件名
-m 包含来自标明文件的标明信息
-0 只存储方式;未用ZIP压缩格式
-M 不产生所有项的清单(manifest〕文件
-i 为指定的jar文件产生索引信息
-C 改变到指定的目录,并且包含下列文件:

如果一个文件名是一个目录,它将被递归处理。

清单(manifest〕文件名和存档文件名都需要被指定,按’m’ 和 ‘f’标志指定的相同顺序。

示例1:将两个class文件存档到一个名为 ‘classes.jar’ 的存档文件中:
jar cvf classes.jar Foo.class Bar.class

示例2:用一个存在的清单(manifest)文件 ‘mymanifest’ 将 foo/ 目录下的所有文件存档到一个名为 ‘classes.jar’ 的存档文件中:
jar cvfm classes.jar mymanifest -C foo/ .

来个小例子试试看:
我们只有一个HelloWorld,如下:

public class HelloWorld{
public static void main(String[] args){
System.out.println(“Hi, Hello World!”);
}
}

我将这个java文件存到C盘跟目录下,ok,接下来,

在先前打开的命令提示符下(跳转到C盘提示符下),我们输入javac HelloWorld.java,然后继续输入:jar cvf hello.jar HelloWorld.class,回车后去你的C盘看看,多了什么,没错 hello.jar 。

基本的步骤我们现在都知道了,你可以自己去尝试一下随着jar后面的参数的不同,结果有什么变化。

紧接着我们看看如何运行我们的jar包。

在进入正题之前,你要先打开我们刚刚做好的jar包看看,多了什么呢,META-INF目录?再看看里面是什么,还有一个MANIFEST.MF文件是不是?用文本编辑器(我这里是UltraEdit)打开它看看:
Manifest-Version: 1.0
Created-By: 1.4.2 (Sun Microsystems Inc.)

就是这样。这里我们对它进行修改,加一句:Main-Class: HelloWorld (在第三行)。这个就是我们之前写的那个类,也就是我们的入口类。也即,
Manifest-Version: 1.0
Created-By: 1.4.2 (Sun Microsystems Inc.)
Main-Class: HelloWorld

接下来,我们在命令提示符里执行:
jar umf MANIFEST.MF app.jar

这样我们使用了我们自己的MANIFEST.MF文件对原来默认的进行了更新。你不妨可以再进去看看是不是添上了Main-Class: HelloWorld这一句。

Ok,这个最后的一步了,来验证我们做的一切,在命令提示符中输入:
java -jar hello.jar(执行)

出现了什么,――Hi, Hello World!
我们再来看看jar文件在tomcat中发布,注意:在tomcat中我们就不能再用jar这种格式,而改war格式,它是专门用于web应用的,其实整个过程下来基本上和jar是类似的:

先准备我们要打包的资源。

找 到存放tomcat的webapps目录,进到其中,新建一个文件夹,这里命名为hello,再进去新建WEB-INF文件夹,再进去新建classes 文件夹,此时我们也将我们唯一的servlet,HelloWorld.java放到这里,在与classes目录同级下建立一文件web.xml。 Ok,目前我们初步建立了一个简单的web应用。

在命令提示符下进到先前创制的hello目录下,执行 jar cvf hello.war * ,我们便得到hello.war。将它拷贝至webapps目录下,ok,来看最后一步,打开tomcat的目录conf中的server.xml,加入:
reloadable=”true”/>
大功告成!运行它,启动tomcat,后在浏览器中输入http://localhost:8080/hello/HelloWorld,有了吗?

好了,就这么多,希望对你有点帮助。
补充:
############

jar基本操作:

############

1. 创建jar文件
jar cf jar-file input-file(s)
c—want to Create a JAR file.
f—want the output to go to a file rather than to stdout.
eg: 1)jar cf myjar.jar query_maintain_insert.htm
2)jar cvf myjar.jar query_maintain_insert.htm
v—Produces verbose(详细的) output.
3)jar cvf myjar.jar query_maintain_insert.htm mydirectory
4)jar cv0f myjar.jar query_maintain_insert.htm mydirectory
0—don’t want the JAR file to be compressed.
5)jar cmf MANIFEST.MF myjar.jar yahh.txt
m—Used to include manifest information from an existing manifest file.
6)jar cMf MANIFEST.MF myjar.jar yahh.txt
M—the default manifest file should not be produced.
7)jar cvf myjar.jar *
*—create all contents in current directory.
2. 察看jar文件
jar tf jar-file
t—want to view the Table of contents of the JAR file.
eg: 1)jar vft yahh.jar
v—Produces verbose(详细的) output.
3. 提取jar文件
jar xf jar-file [archived-file(s)]
x—want to extract files from the JAR archive.
eg: 1)jar xf yahh.jar yahh.txt(仅提取文件yahh.txt)
2)jar xf yahh.jar alex/yahhalex.txt(仅提取目录alex下的文件yahhalex.txt)
3)jar xf yahh.jar(提取该jar包中的所有文件或目录)
4. 修改Manifest文件
jar cmf manifest-addition jar-file input-file(s)
m—Used to include manifest information from an existing manifest file.

5. 更新jar文件

jar uf jar-file input-file(s)
u—want to update an existing JAR file.

我就是未分类

java初学者必读-经验总结 选择自 rickylan 的 Blog

February 7th, 2005

一个不错的东东,整理好了放在这里:)

1:jdk开发中系统环境变量设置:
方法如下:
Win2000中:
右键我的电脑–》属性–》高级–》环境环境变量
classpath=.;jdk安装目\lib
path=jdk安装目录\bin
注意:一定不可忽略”.”。
Win98中:
修改autocexe.bat 就是修改自动批处理文件。
添加:
set classpath=.;jdk安装目\lib
set path=jdk安装目录\bin;%path%

2:(前提设置好了系统环境变量)
不带包的编译,相当简单:
javac 类名.java
java 类名

关于带包的编译问题:
如果你的类是带包的,应该用如下方法编译:
javac -d  包的父目录 类名.java
java  包名.类名

3:Tomcat服务器配置:
1):设置好系统环境变量。
2):JAVA_HOME=G:\JBuilder6\jdk1.3.1
G:\JBuilder6\jdk1.3.1为jdk安装目录
3):TOMCAT_HOME=tomcat安装目录
4:修改serlet而不重新启动tomcat
修改
%TOMCAT_HOME%\conf\server.xml
大致如下:
<Context path=”” docBase=”ROOT” debug=”0″  reloadable=”true”/>
其中reloadable就是配置是否自动reload的,把它设为true,如果没有这一项,加上。
5:修改webshpere中的servlet而不重新启动服务:
修改..\WEB-INF下面的web.xml:
加入<webappext:WebAppExtension xmi:version=”2.0″ xmlns:xmi=”http://www.omg.org/XMI” xmlns:webappext=”webappext.xmi” xmlns:webapplication=”webapplication.xmi” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“xmi:id=”WebApp_ID_Ext” reloadInterval=”3″ reloadingEnabled=”true”fileServingEnabled=”true” directoryBrowsingEnabled=”true”serveServletsByClassnameEnabled=”true”& gt;其中reloadInterval=”3″reloadingEnabled=”true” fileServingEnabled=”true”directoryBrowsingEnabled=”true”serveServletsByClassnameEnabled=”true” 是主要的,reloadInterval=”3″reloadingEnabled=”true” 是说修改后3秒自动重新载
入。
6:配置jbuilder6+webshpere4.0AE,其实jb7可以参照:
首先安装j2ee,然后把j2ee加入到jb的libraries里面。方法如下
1:)tools—>configurelibraries–>new—>name:里面填写j2ee,Location:里面默认的旧可以了。—->add–>选在j2ee安装路径,选中lib文件夹--ok–oK.
2:)返回到configure libraries也面后,选中Required Libraries–>add--》选中你刚才创建的j2ee,点ok就可以了。
然后配置webshpere应用服务器和database pilot:
第一步:tools–>enterprise setup–>Application servers设置安装路径以及IBM的JAVA路径,DB2你自己看着办
第二步:project–>Defaults project properties里servers选择Ws4.0,应该可以用了
webshpere4.0不支持ejb2.0,webshpere5.0支持。
配置database pilot
第一步:添加类库tools–>config libraries添加你的数据库驱动程序类
第二步:tools–>enterprise setup–>Database Drivers里面添加你刚添加的那个类库
第三步:重启JBilder后,tools–>database pilot–>option–>drivers,添加驱动程序
第四步:在database pilot点新建就可以了,driver:COM.ibm.db2.jdbc.app.DB2Driver。url:jdbc:db2:db_sdbc.(db_sdbc为服务器上的db2数据库).
7:解决java中文问题:
针对applet和awt:
1:)
Font f = new Font(UIResource.getString(      “Default_font”),Font.PLAIN,12);
UIManager.put(“Label.font”,f);
UIManager.put(“Label.foreground”,Color.black);
UIManager.put(“Button.font”,f);
UIManager.put(“Menu.font”,f);
UIManager.put(“MenuItem.font”,f);
UIManager.put(“List.font”,f);
UIManager.put(“CheckBox.font”,f);
UIManager.put(“RadioButton.font”,f);
UIManager.put(“ComboBox.font”,f);
UIManager.put(“TextArea.font”,f);
2:)
Font f = new Font(“隶书”,Font.PLAIN,15);
UIManager.put(“Button.font”,font);
UIManager.put(“ToggleButton.font”,font);
UIManager.put(“RadioButton.font”,font);
UIManager.put(“CheckBox.font”,font);
UIManager.put(“ColorChooser.font”,font);
UIManager.put(“ToggleButton.font”,font);
UIManager.put(“ComboBox.font”,font);
UIManager.put(“ComboBoxItem.font”,font);
UIManager.put(“InternalFrame.titleFont”,font);
UIManager.put(“Label.font”,font);
UIManager.put(“List.font”,font);
UIManager.put(“MenuBar.font”,font);
UIManager.put(“Menu.font”,font);
UIManager.put(“MenuItem.font”,font);
UIManager.put(“RadioButtonMenuItem.font”,font);
UIManager.put(“CheckBoxMenuItem.font”,font);
UIManager.put(“PopupMenu.font”,font);
UIManager.put(“OptionPane.font”,font);
UIManager.put(“Panel.font”,font);
UIManager.put(“ProgressBar.font”,font);
UIManager.put(“ScrollPane.font”,font);
UIManager.put(“Viewport”,font);
UIManager.put(“TabbedPane.font”,font);
UIManager.put(“TableHeader.font”,font);
UIManager.put(“TextField.font”,font);
UIManager.put(“PasswordFiled.font”,font);
UIManager.put(“TextArea.font”,font);
UIManager.put(“TextPane.font”,font);
UIManager.put(“EditorPane.font”,font);
UIManager.put(“TitledBorder.font”,font);
UIManager.put(“ToolBar.font”,font);
UIManager.put(“ToolTip.font”,font);
UIManager.put(“Tree.font”,font);

3:)针对jsp和servlet:
解决办法:
第一:
在jsp页面加入:
<%@ page contentType=”text/html; charset=gb2312″ %>
或者在servlet里面
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(“text/html; charset=gb2312″);//这是重要的
上面的如果在不行就用如下的方法在数据入库前进行调用:
public static String UnicodeToChinese(String s){
try{
if(s==null||s.equals(“”)) return “”;
String newstring=null;
newstring=new String(s.getBytes(“ISO8859_1″),”gb2312″);
return newstring;
}
catch(UnsupportedEncodingException e)
{
return s;
}
}

public static String ChineseToUnicode(String s){
try{
if(s==null||s.equals(“”)) return “”;
String newstring=null;
newstring=new String(s.getBytes(“gb2312″),”ISO8859_1″);
return newstring;
}
catch(UnsupportedEncodingException e)
{
return s;
}
}

3:)解决weblogic/webshpere中文问题:
在web.xml文件中需要配置中文环境。r如下:
<context-param>
<param-name>weblogic.httpd.inputCharset./*</param-name>
<param-value>GB2312</param-value>
</context-param>
4:)javamail附件中文乱码:
/*
@从BodyPart中提取使用ISO-8859-1编吗的文件名
@因为BodyPart.getFilename()过程已经对文件名作了一次编码,有时不能直接使用
*/
public static String getISOFileName(Part body){
//设置一个标志,判断文件名从Content-Disposition中获取还是从Content-Type中获取
boolean flag=true;
if(body==null){
return null;
}
String[] cdis;
try{
cdis=body.getHeader(“Content-Disposition”);
}
catch(Exception e){
return null;
}
if(cdis==null){
flag=false;
}
if(!flag){
try{
cdis=body.getHeader(“Content-Type”);
}
catch(Exception e){
return null;
}
}
if(cdis==null){
return null;
}
if(cdis[0]==null){
return null;
}
//从Content-Disposition中获取文件名
if(flag){
int pos=cdis[0].indexOf(“filename=”);
if(pos<0){
return null;
}
//如果文件名带引号
if(cdis[0].charAt(cdis[0].length()-1)=='”‘){
return cdis[0].substring(pos+10,cdis[0].length()-1);
}
return cdis[0].substring(pos+9,cdis[0].length());
}
else{
int pos=cdis[0].indexOf(“name=”);
if(pos<0){
return null;
}
//如果文件名带引号
if(cdis[0].charAt(cdis[0].length()-1)=='”‘){
return cdis[0].substring(pos+6,cdis[0].length()-1);
}
return cdis[0].substring(pos+5,cdis[0].length());
}
}
8:字符串分割:
public int getCount(String str,String sign){//查找某一字符串中str,特定子串s的出现次数
if(str==null) return 0;
StringTokenizer s=new StringTokenizer(str,sign);
return s.countTokens();
}
public String[] getArray(String str,String sign){//按特定子串s为标记,将子串截成数组。
int count=getCount(str,sign);
int j=0;
String[] arr=new String[count];
for(int i=0;i<count;i++){
if(str.indexOf(sign)!=-1){
j     =str.indexOf(sign);
arr[i]=str.substring(0,j);
str   =str.substring(j+1);
}else{
arr[i]=str;
}
}
return arr;

}
9:jdk1.3没有字符串替换函数,(jdk1.4有)。
解决1.3中的个这个问题如下:

public String stringReplace(String sourceString, String toReplaceString, String replaceString)
{
String returnString = sourceString;
int stringLength = 0;
if(toReplaceString != null)
{
stringLength = toReplaceString.length();
}
if(returnString != null && returnString.length() > stringLength)
{
int max = 0;
String S4 = “”;
for(int i = 0; i < sourceString.length(); i++)
{
max = i + toReplaceString.length() > sourceString.length()? sourceString.length():i + stringLength;
String S3 = sourceString.substring(i, max);
if(!S3.equals(toReplaceString))
{
S4 += S3.substring(0,1);
}else{
S4 += replaceString;
i += stringLength -1 ;
}
}
returnString = S4;
}
return returnString;
}
9:设置weblogic连接池:

pool的配置:
假设已配置服务:expserv
且数据库服务器机器名为:expserv
数据库sid:expservSID,用户名和密码都为:expserv
以weblogic7.0为例,首先启动服务
http://localhost:port/console
打开service\jdbc\connection pools
配置oraclePool如下:
Configuration:
Name: oraclePool
URL: jdbc:oracle:thin:@expserv:1521:expservSID
Driver Classname: oracle.jdbc.driver.OracleDriver
Properties(key=value): user=expserv
Targets:
Targets-Server:expserv
在weblogic7.0中除了数据库密码,其他的pool参数都可以在config.xml中直接用文本编辑器直接修改。

10:数字转货币大写(js)
function ChangeToBig(value)
{
var intFen,i;
var strArr,strCheck,strFen,strDW,strNum,strBig,strNow;

if(trim(value)==””)   //数据为空时返回”零”
return “零”;
if (isNaN(value))   //数据非法时提示,并返回空串
{
strErr = “数据”+value+”非法!”
alert(strErr);
return “”;
}
strCheck = value+”.”;
strArr = strCheck.split(“.”);
strCheck = strArr[0];
if(strCheck.length>12)   //数据大于等于一万亿时提示无法处理
{
strErr = “数据”+value+”过大,无法处理!”
alert(strErr);
return “”;
}
try
{
i = 0;
strBig = “”;
intFen = value*100;          //转换为以分为单位的数值
strFen = intFen.toString();
strArr = strFen.split(“.”);
strFen = strArr[0];
intFen = strFen.length;      //获取长度
strArr = strFen.split(“”); //将各个数值分解到数组内
while(intFen!=0)   //分解并转换
{
i = i+1;
switch(i)              //选择单位
{
case 1:strDW = “分”;break;
case 2:strDW = “角”;break;
case 3:strDW = “元”;break;
case 4:strDW = “拾”;break;
case 5:strDW = “佰”;break;
case 6:strDW = “仟”;break;
case 7:strDW = “万”;break;
case 8:strDW = “拾”;break;
case 9:strDW = “佰”;break;
case 10:strDW = “仟”;break;
case 11:strDW = “亿”;break;
case 12:strDW = “拾”;break;
case 13:strDW = “佰”;break;
case 14:strDW = “仟”;break;
}
switch (strArr[intFen-1])              //选择数字
{
case “1”:strNum = “壹”;break;
case “2”:strNum = “贰”;break;
case “3”:strNum = “叁”;break;
case “4”:strNum = “肆”;break;
case “5”:strNum = “伍”;break;
case “6”:strNum = “陆”;break;
case “7”:strNum = “柒”;break;
case “8”:strNum = “捌”;break;
case “9”:strNum = “玖”;break;
case “0”:strNum = “零”;break;
}

//处理特殊情况
strNow = strBig.split(“”);
//分为零时的情况
if((i==1)&&(strArr[intFen-1]==”0″))
strBig = “整”;
//角为零时的情况
else if((i==2)&&(strArr[intFen-1]==”0″))
{    //角分同时为零时的情况
if(strBig!=”整”)
strBig = “零”+strBig;
}
//元为零的情况
else if((i==3)&&(strArr[intFen-1]==”0″))
strBig = “元”+strBig;
//拾-仟中一位为零且其前一位(元以上)不为零的情况时补零
else if((i<7)&&(i>3)&&(strArr[intFen-1]==”0″)&&(strNow[0]!=”零”)&&(strNow[0]!=”元”))
strBig = “零”+strBig;
//拾-仟中一位为零且其前一位(元以上)也为零的情况时跨过
else if((i<7)&&(i>3)&&(strArr[intFen-1]==”0″)&&(strNow[0]==”零”))
{}
//拾-仟中一位为零且其前一位是元且为零的情况时跨过
else if((i<7)&&(i>3)&&(strArr[intFen-1]==”0″)&&(strNow[0]==”元”))
{}
//当万为零时必须补上万字
else if((i==7)&&(strArr[intFen-1]==”0″))
strBig =”万”+strBig;
//拾万-仟万中一位为零且其前一位(万以上)不为零的情况时补零
else if((i<11)&&(i>7)&&(strArr[intFen-1]==”0″)&&(strNow[0]!=”零”)&&(strNow[0]!=”万”))
strBig = “零”+strBig;
//拾万-仟万中一位为零且其前一位(万以上)也为零的情况时跨过
else if((i<11)&&(i>7)&&(strArr[intFen-1]==”0″)&&(strNow[0]==”万”))
{}
//拾万-仟万中一位为零且其前一位为万位且为零的情况时跨过
else if((i<11)&&(i>7)&&(strArr[intFen-1]==”0″)&&(strNow[0]==”零”))
{}
//万位为零且存在仟位和十万以上时,在万仟间补零
else if((i<11)&&(i>8)&&(strArr[intFen-1]!=”0″)&&(strNow[0]==”万”)&&(strNow[2]==”仟”))
strBig = strNum+strDW+”万零”+strBig.substring(1,strBig.length);
//单独处理亿位
else if(i==11)
{
//亿位为零且万全为零存在仟位时,去掉万补为零
if((strArr[intFen-1]==”0″)&&(strNow[0]==”万”)&&(strNow[2]==”仟”))
strBig =”亿”+”零”+strBig.substring(1,strBig.length);
//亿位为零且万全为零不存在仟位时,去掉万
else if((strArr[intFen-1]==”0″)&&(strNow[0]==”万”)&&(strNow[2]!=”仟”))
strBig =”亿”+strBig.substring(1,strBig.length);
//亿位不为零且万全为零存在仟位时,去掉万补为零
else if((strNow[0]==”万”)&&(strNow[2]==”仟”))
strBig = strNum+strDW+”零”+strBig.substring(1,strBig.length);
//亿位不为零且万全为零不存在仟位时,去掉万
else if((strNow[0]==”万”)&&(strNow[2]!=”仟”))
strBig = strNum+strDW+strBig.substring(1,strBig.length);
//其他正常情况
else
strBig = strNum+strDW+strBig;
}
//拾亿-仟亿中一位为零且其前一位(亿以上)不为零的情况时补零
else if((i<15)&&(i>11)&&(strArr[intFen-1]==”0″)&&(strNow[0]!=”零”)&&(strNow[0]!=”亿”))
strBig = “零”+strBig;
//拾亿-仟亿中一位为零且其前一位(亿以上)也为零的情况时跨过
else if((i<15)&&(i>11)&&(strArr[intFen-1]==”0″)&&(strNow[0]==”亿”))
{}
//拾亿-仟亿中一位为零且其前一位为亿位且为零的情况时跨过
else if((i<15)&&(i>11)&&(strArr[intFen-1]==”0″)&&(strNow[0]==”零”))
{}
//亿位为零且不存在仟万位和十亿以上时去掉上次写入的零
elseif((i<15)&& (i>11)&&(strArr[intFen-1]!=”0″)&&(strNow[0]==”零”)& amp;&(strNow[1]==”亿”)&&(strNow[3]!=”仟”))
strBig = strNum+strDW+strBig.substring(1,strBig.length);
//亿位为零且存在仟万位和十亿以上时,在亿仟万间补零
elseif((i<15)&& (i>11)&&(strArr[intFen-1]!=”0″)&&(strNow[0]==”零”)& amp;&(strNow[1]==”亿”)&&(strNow[3]==”仟”))
strBig = strNum+strDW+”亿零”+strBig.substring(2,strBig.length);
else
strBig = strNum+strDW+strBig;
strFen = strFen.substring(0,intFen-1);
intFen = strFen.length;
strArr = strFen.split(“”);
}
return strBig;
}catch(err){
return “”;      //若失败则返回原值
}
}

11:删除文件夹下的所有目录:
/*
* 删除一个目录下的所有文件
*/
public static void delAllFile(String path) {
File file = new File(path);
if(!file.exists()) return;
if(!file.isDirectory()) return;
String[] tempList = file.list();
File temp = null;
for(int i = 0; i < tempList.length; i++) {
if(path.endsWith(File.separator))
temp = new File(path + tempList[i]);
else
temp = new File(path + File.separator + tempList[i]);
if(temp.isFile()) temp.delete();
if(temp.isDirectory()) delAllFile(path + tempList[i]);
}
}
12:字符串转换成时间及时间相减:
1:) SimpleDateFormat formatter = new SimpleDateFormat (”yyyy.MM.dd”);
//假定像2002.07.04的是合法日期其他都非法。
String str=”2002.07.04″;
ParsePosition pos = new ParsePosition(0);
Date dt=formatter.parse(str,pos);
if(dt!=null)
{
//是合法日期
}
else
{
//非法日期
}
2:)
两个日期相减
import java.util.*;
import java.text.*;
class a
{
public static void main(String[] args)
{
String s1 = “2003/08/15 17:15:30″;
String s2 = “2002/09/14 14:18:37″;
try{
SimpleDateFormat formatter = new SimpleDateFormat (“yyyy/MM/dd HH:mm:ss”);

ParsePosition pos = new ParsePosition(0);
ParsePosition pos1 = new ParsePosition(0);
Date dt1=formatter.parse(s1,pos);
Date dt2=formatter.parse(s2,pos1);
System.out.println(“dt1=”+dt1);
System.out.println(“dt2=”+dt2);
long l = dt1.getTime() – dt2.getTime();

System.out.println(“Hello World!=”+l);
}catch(Exception e){
System.out.println(“exception”+e.toString());
}

}
}
3:)得到2个月后的日期:
import java.util.*;
import java.text.DateFormat;
public class test2
{
public static void main(String args[]) throws Exception
{
String date=”2001/11/30″;

DateFormat dateFormat =
DateFormat.getDateInstance(DateFormat.MEDIUM);
GregorianCalendar grc=new GregorianCalendar();
grc.setTime(new Date(date));
grc.add(GregorianCalendar.MONTH,2);
System.out.println(“grc=”+dateFormat.format(grc.getTime()));
}
}

13:jsp/servet重定向问题:
不改变url的:
1:)servlet:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

getServletContext().getRequestDispatcher(test2URL).forward(request, response);
2:)jsp
<jsp:forward page=”/jsp/forward/one.jsp”/>
改变url的:
1:)response.sendRedirect(“/web/mail/pop3.jsp”);

14:jb7+weblogic6.x配置方法如下:
Win 2000 Temp、Tmp 的配置

因为我们生成的 ejb 相关代码要进行一系列的编译,那么所生成的临时文件就要有个地方放啊,但 Win2000中的 Temp、Tmp 目录却偏偏有空格 如%USERPROFILE%\Local Settings\Temp,接下来我们来配置一下:

1) 右击 《我的电脑》 选属性,在弹出的对话框中选 《高级》 ,再选 《环境变量》 按钮,

2) 修改 《Administrator 的用户变量》和《系统变量》中的 TEMP、TEMP、TMPDIR选项,单击每一个选项,然后点《编辑》(右图),把每个 变量名为  TEMP、TEMP、TMPDIR 的值都改为 c:\WINNT\temp,当然这不是必须的,只是我建议你这么做。

其实也没什么难的,若改完,则Win2000环境这么应该没什么问题了。
WebLogic 6.X 部分

一、JDBC Connection Pool 的配置    以Mysql 小型数据库为例

在 进行此项配置之前,先将欲使用的 数据库JDBC 驱动 Jar 文件放到D:\bea\wlserver6.1\lib\jdbc目录下(建议这样做,没有jdbc目录就建一个呗),然后编辑D:\bea \wlserver6.1\config\mydomain 下的startWebLogic.cmd 文件,在 classpath 中加入数据库的JDBC驱动文件,如红字部分:

:runWebLogic
echo on
set PATH=.\bin;.\bin\oci817_8;d:\oracle\ora81\bin;%PATH%
set CLASSPATH=.\lib\cr_wls60f.jar;.\lib\weblogic_sp.jar;.\lib\weblogic.jar;.\lib\jdbc\mysql.jar

这样 Weblogic 启动时才会加载欲使用的数据库JDBC驱动,配置也才会正常,否则会报错。
1)在Weblogic控制台中依次展开Services \ JDBC \ Connection Pools
2)单击 Configure a new JDBC Connection Pool…

3)填入每一项参数,结果如下:
url: jdbc:mysql://127.0.0.1:3306/test
driver classname:org.gjt.mm.mysql.Driver
properties(key=value):user=root
4) 别忘了点一下 Apply 即应用一下:)
5) Connections 签下的 初始容量、最大容量、容量增长等可根据自已需要配置
6) 还有至关重要的最后一步,我们做的以上配置工作还没有真正的应用到 Weblogic 上,所以还差一步,
选 Targets 签,选 Servers 签,选 Available (可用)中的 myserver ,然后点”–>”  ,再点 Apply 应用一下。
这样我们所做的工作才会真正有效, Weblogic 也才会认识我们配置的 JDBC Connection Pool
二、配置数据源

1)在Weblogic控制台中依次展开Services \ JDBC \ Tx Data Sources
2)单击 Configure a new JDBC Tx Data Source…
3)填入每一项参数,结果如下:

jndi name: MysqlDataSoruce
PoolName:MysqlPool
row prefetch size :48
stream chunk size: 2564) 别忘了点一下 Apply 即应用一下:)
5) 同样,选 Targets 签,选 Servers 签,选 Available (可用)中的 myserver ,然后点”–>”  ,再点 Apply 应用一下。
这样我们所做的工作才会真正有效, Weblogic 也才会认识我们配置的 DataSource。

JBuilder 7 的相关配置

一、数据库驱动的加载

同 weblogic 一样,在进行此项配置之前,先将欲使用的 数据库JDBC 驱动 Jar 文件放到 D:\JBuilder7\lib\jdbc 目录下(建议这样做,没有jdbc目录就建一个呗)

1) 开启 JBuilder 7,单击 Tools \ EnterPrise Setup …….

2) 在弹出窗口中选择 Database Drivers 签
3) 再点 Add 按钮,弹出新窗口(可能你的与图上的略有不同)
4) 再单击 New … 按钮,弹出新窗口,并改变 Name: 的默认值为 mysql (只要有意义,起个什么名都成)
5) 单击 Add… 按钮来查找并添加数据库的 JDBC 驱动,当然了,我们到 D:\JBuilder7\lib\jdbc 下去找,选 mysql.jar ,注意,不要把mysql.jar 展开,象图那样选中再按 OK 就行了。
提示:可以配合 Shift 和 Ctrl 键同时选多个 .jar 文件。
6) 结果如下图,如果有多个需要添加的 .jar 文件,还可点 Add… 按钮继续添加。
7) OK 退出.
8) 再OK ,则 mysql JDBC 驱动就已经加入了。
9) 再一次的 Ok ,JBuilder 提示要重起后上述配置才会生效,确定并重启 JBuilder。
二、EJB 2.0 和 应用服务器的配置,以 WebLogic 6.X为例

在 进行此项配置之前要安装 Borland Enterprise Servler 5.02 ,IAS 4.5也成,它俩是一回事,当然了我是有新的不用旧的,安装过程略,因为安装它很 easy ! 基本是一路回车,我把我的安装在D:\BorlandEnterpriseServer 下了。

1) 开启 JBuilder 7,单击 Tools \ EnterPrise Setup …….

2) 选择 CORBA 签,在 Configuration 下的下拉列表框,选择 VisiBroker

3) 选择 Edit… ,弹出 Edit Confiuration 窗口
点击path for orb tools
4) 单击 Path for ORB tools: 旁边的 … 浏览按钮,弹出 Select Directory 窗口,选择 D:\BorlandEnterpriseServer5\bin 并 OK。

5) 再 两遍 OK ,JBuilder 又要求你重启,没办法,照它说的做,重启 JBuilder 。

6) 重启后,还要到 Tools \ EnterPrise Setup ……. ,选 CORBA 项,选 Edit ,在弹出窗口中选 Library for projects: 旁边的 … 按钮
7) 在弹出的新窗口的 User Home 中你会发现多了一个选项 Borland Enterprise Server 5.0.2+ Client
即 选择图中所示 黑亮的选项,然后 三遍 OK 退出。
8) 再选择 Project \ Default Project Properties 项
9) 在弹了对话框中选 Server 签,如图,点击 … 按钮,
10) 在弹出的新对话框中,选择 WebLogic Application Server 6.x +,然后复选 Enable server ,见图中红框。
11) 复选 Enable server 后,其它各项可选或可填,点击 … 按钮,
选择 Home directory ;
选择 Working directory ;
为你机器所装 Weblogic 的位置。
12) 点击 Class 签内的Add 按钮,如上图,将 D:\bea\wlserver6.1\lib\cr_wls60f.jar 文件添加进来。如上图红线。
再用 Move Up 按钮,将  D:\bea\wlserver6.1\lib\cr_wls60f.jar 文件移至最项端,因为一般后加的 .jar 文件在最下边。
这一步也比较重要,因为在JBuilder 环境下可以直接启动 Weblogic ,那它就要首先检测 license 是否合法,即 cr_wls60f.jar文件
是否存在。

13) 再选择 Custom 签,按如下红线所示配置,可能您装的 Weblogic 目录位置与我的有不同,但大概意思是一样的。
配置完后,点击 OK 按钮退出
domain name :mydomain
server name: myserver
version:6.1 Service Pack1(d:/bea/wlserver6.1)
14) 再在如图窗口中的 Single server for all services in project 下拉列表框中选择 WebLogic Application Server 6.x+ 如图所示,然后 OK 退出。
15) 至此 JBuiler 7 下与 WebLogic 6.x 的配置完成,那我们就开工吧!

15.计算日期间隔
public int getDays(Date sd,Date ed){
return (ed.getTime()-sd.getTime())/(3600*24*1000)
}

16.日期加减
SimpleDateFormat sdf=new SimpleDateFormat(“yyyyMMdd”);
String str=”20011230″;
Date dt=sdf.parse(str,new ParsePosition(0));
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.DATE,2);//你要加减的日期
Date dt1=rightNow.getTime();
String reStr=sdf.format(dt1,””,new FieldPosition(0));
System.out.println(reStr);

17.时间显示控制
第一种方式:
<html>
<head><title>取得系统时间</title></head>
<body>
<%java.util.Date date=new java.util.Date();%>
现在是:<%=date%>
</body>
</html>
运行结果:
现在是:Tue Jul 31 10:32:52 CST 2001

第二种方式:
<%@ page import=”java.util.*, java.text.*” %>
<HTML>
<HEAD><TITLE>显示当前时间</TITLE></HEAD>
<BODY>
当前时间:
<%
Date now = new Date();
out.println(DateFormat.getTimeInstance().format(now));
%>
</BODY>
</HTML>
运行结果:
10:31:42 AM

第三种方式:
<%
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat(“yyyy年MM月dd日”);
java.util.Date currentTime_1 = new java.util.Date();
out.print(formatter.format(currentTime_1));
%>
运行结果:
2001年07月31日

第四种方式:
<%
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat(“yyyy/MM/dd HH/mm/ss”);
java.util.Date currentTime_1 = new java.util.Date();
out.print(formatter.format(currentTime_1));
%>
运行结果:
2001/07/31 10/32/52
第三四两种方式其实是一样的他可以产生千变万化的格式。

18.加密&解密
在插入数据库前先将字符串str进行加密:
java.net.URLEncoder.encode(String str);
从数据库中取出时再解码:(可以先不加密,只解码,试一试;不行再加密)
java.net.URLDecoder.decode(String str);

19.页面刷新:
有三种方法:
1,在html中设置:
<title>xxxxx</title>之後加入下面这一行即可!
定时刷新:<META HTTP-EQUIV=”Refresh” content=”10; URL=http://自己的URL”>
10代表刷新间隔

2.jsp
<% response.setHeader(“refresh”,”1″); %>
没一秒刷新一次

3.使用javascript:
<script language=”javascript”>
setTimeout(“self.location.reload();”,1000);
<script>
一秒一次

20.打印:
1.直接调用windows函数
<input type=”button” value=”print”
onclick=”window.focus();window.print()”>

2.调用js
//放在head 与 head 之间
<SCRIPT LANGUAGE=javascript>
<!–
function setPrint()
{
WB.ExecWB(8,1);
}
function previewPrint()
{
WB.ExecWB(7,1)
}
//–>
</SCRIPT>

//放在body与body之间
<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WB width=0>
</OBJECT>
<INPUT type=”button” value=”打印设置” id=button1 name=button1 onclick=”setPrint();”>
<INPUT type=”button” value=”打印预览” id=button2 name=button2 onclick=”previewPrint();”>

21.将数据用execl在客户端展现:
<style type=”text/css”>
{
.showTD {color: #003366; }
.hiddenTD {display:none; }
.onFocue  {color: #CC66FF;}
.offFocue {color:#003366;}
}
#floater {
LEFT: 445px; POSITION: absolute; TOP: 15px; VISIBILITY: visible; WIDTH: 125px; Z-INDEX: 10}
</STYLE>

<object classid=”clsid:0002E510-0000-0000-C000-000000000046″ id=”Spreadsheet1″ width=”676″ height=”388″>
<param name=”HTMLURL” value>
<param name=”HTMLData” value=””>
<param name=”DataType” value=”HTMLDATA”>
<param name=”AutoFit” value=”0″>
<param name=”DisplayColHeaders” value=”-1″>
<param name=”DisplayGridlines” value=”-1″>
<param name=”DisplayHorizontalScrollBar” value=”-1″>
<param name=”DisplayRowHeaders” value=”-1″>
<param name=”DisplayTitleBar” value=”-1″>
<param name=”DisplayToolbar” value=”-1″>
<param name=”DisplayVerticalScrollBar” value=”-1″>
<param name=”EnableAutoCalculate” value=”-1″>
<param name=”EnableEvents” value=”-1″>
<param name=”MoveAfterReturn” value=”-1″>
<param name=”MoveAfterReturnDirection” value=”0″>
<param name=”RightToLeft” value=”0″>
<param name=”ViewableRange” value=”1:65536″>
</object>
<div class=”hiddenTD” id=”tablers”>
<table width=95% align=center border=1 cellspacing=0 cellpadding=0>
<tr>
<td>客户名称A</td>
<td>客户名称B</td>
<td>客户名称C</td>
<td>客户名称D</td>
<tr>
<td>abc</td>
<td>def</td>          <td>111</td>          <td>222</td>        <tr>
<td>ddd</td>
<td>dfdf</td>
<td>ddd</td>
<td>ddd</td>
</table>
</div>
<script language=”javascript”>
Spreadsheet1.HTMLData = tablers.innerHTML ;

我就是未分类

为什么都做不对呢?这题见了n次了~

February 6th, 2005

一道看起来简单的小学算术题,却总是得不到正确答案。不信,你试试看!!!!
一人拿一张百元钞票 到商店买了25元的东西,店主由于手头没有零钱,便拿这张百元钞票到隔壁的小摊贩那里换了100元零钱,并找回了那人75元钱。那人拿着25元的东西和 75元零钱走了。过了一会儿,隔壁小摊贩找到店主,说刚才店主拿来换零的百元钞票为假币。店主仔细一看,果然是假钞。店主只好又找了一张真的百元钞票给小 摊贩。
问:在整个过程中,店主一共亏了多少钱财?

75,100,125,175,200………………什么答案都有,真的很难吗?

我就是未分类

当今最最最强的15个笑话(转)

February 6th, 2005

1、 一人在办公室老是放响屁,同事忍不住说:你能不能不出声?然后便见他坐在那摇来晃去抖个不停,问:干什么?回答说:我调成振动的了

2、一民工大便不通去医院作检查,医生检查后给此人开了一个药方,民工到取药处一看是一卷手纸,不解,医生说:以后不要再用水泥袋擦屁股了!

3、某人第一次见到大海,感叹道:“大海啊!母亲!”话音刚落,一个浪头打过来,正好打在他的脸上,此人怒道:“**!还他****是个后妈!

4、猴子拣到一个卡,于是爬到树枝上想看清楚是啥卡。不料一个雷击中了它,猴子哭着说:“原来是‘IP’(挨劈)卡呀!!”

5、局长与科长共乘电梯,局长放一屁后对科长说:你放屁了!科长说:不是我放的。不久科长被免职。局长在会上说:屁大的事你都担待不起,要你何用?

6、在一家时装店,我看到一个等得不耐烦的青年人对一个漂亮女孩说:“你介意和我说几句话吗?”女孩好奇地问:“为什么?”“我妻子进这个店已经一个多 小时了,但她如果看见我和你说话,她会马上出来的……”没等他说完,他妻子已快步走出时装店,挽着他离开了。

7、某君开车内急 情急之下尿在空雪碧瓶里,趁堵车时奔下车想把瓶仍到垃圾桶里被一敬职的巡警拦住 瓶里装的啥 喝剩的雪碧 那你喝一口给我看看!

9、想你的感觉就想:炒菜没放盐;苹果不太甜;喝酒少了烟;逛街忘带钱。有空时我会想你,没空时我会抽空想你,实在抽不出空我就–什么都不做了,光想你!

10、儿子每晚要和妈妈睡。
妈说:你长大了娶了媳妇也和妈睡呀?
儿答:嗯!
妈说:那你媳妇咋办?
儿说:让她跟爸睡。
爸听后激动的说:这孩子从小就懂事!

11、食人族父子打猎,其子擒一瘦子,其父曰:放,没肉!其子又擒一胖子,其父曰:放,太腻!其子又擒一美女,其父曰:带回家,晚上把你妈吃了!

12、一条警犬看到马路上过来一条普通狗,就气势凶凶地跑去质问它:我是警犬,你是什么东西?普通狗不屑一顾地看看它说:蠢货,看清楚点,老子是便衣!

13、男人有外遇之症状:公司天天加班,家务从来不沾,手机回家就关,短信回完就删,上床呼噜震天,内裤经常反穿。对照检查符合三条属于疑似,四条可确诊。

14、财政是爹,银行是娘,管土地的是霸王,工商税务两条狼。电老虎水阎王,公检法是****。白衣天使黑心肠,人民教师象蚂蝗。***,没法过了!

15、大熊猫生日,吹灭生日蜡烛后,朋友们问它,许了什么愿望。大熊猫回答说 :“我这辈子有2个最大的愿望,一个是希望能把我的黑眼圈治好,还有一个嘛!就是希望我也能照张彩色照片

我就是未分类

一个号码

February 2nd, 2005

黑R32168——车牌

我就是未分类