2006年4月23日
有时候为了更方便快捷的部署和执行Java程序,要把java应用程序打包成一个jar包。而这个基础的操作有时候也很麻烦,为了方便java程序员们能够方便的打包java应用程序,下面对jar命令进行介绍,并举出几个简单例子针对不同情况进行打包。
一. jar命令用法:
在cmd命令窗口下输入jar,回车,就会提示改命令的用法:
二.例子(这里介绍的都是生成双击可执行的jar包):
1.首先介绍如何在命令行下执行打包程序。
1.1.没有包结构的最简单的工程。
(1)在c:盘下新建文件“HelloWorld.java”:
1 public class HelloWorld
2 {
3 public static void main(String[] args){
4 System.out.println("Hello world!");
5 }
6 }
(2)在命令行下输入c:\javac HelloWorld.java,在c:盘下编译生成“HelloWorld.class”。
(3)在c:盘下新建文件“menefest”(没有后缀名):
Main-Class: HelloWorld
注意最后要有一个空行,否则会出现找不到类的错误。
(4)打包:输入c:\jar cvmf menifest HelloWorld.jar HelloWord.jar HelloWorld.class,在c:盘下生成“HelloWorld.jar”。
(5)执行:输入c:\java -jar HelloWord.jar。屏幕回显“HelloWorld”。
1.2.有包结构的java工程。
(1)在c:\com\gosyl\demo\下新建文件“HelloWorld.java”:
package com.gosyl.demo;
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
(2)在命令行下输入c:\javac com/gosyl/demo/HelloWorld.java,在c:\com\gosyl\demo\文件夹下编译生成“HelloWorld.class”。
(3)在c:盘下新建文件“menefest2”(没有后缀名):
Main-Class: com.gosyl.demo.HelloWorld
注意最后要有一个空行,冒号后面要一个空格。否则会出现找不到类的错误。
(4)打包:输入c:\jar cvmf menifest2 HelloWorld.jar HelloWord.jar com/,在c:盘下生成“HelloWorld.jar”。
(5)执行:输入c:\java -jar HelloWord.jar。屏幕回显“HelloWorld”。
1.3.引用到外部jar包的java工程。
(1)在c:\com\gosyl\demo\下新建文件“Car.java”:
package com.gosyl.demo;
public class Car
{
public static void main(String[] args){
Light.on();
}
}
(2)在c:\com\gosyl\demo\下新建文件“Light.java”:
package com.gosyl.demo;
class Light
{
public static void on(){
System.out.println("Light is on!");
}
}
(3)打包1:输入c:\jar cvf Light.jar com/gosyl/demo/Light.class,在c:盘下生成“Light.jar”。
(4)在c:盘下新建文件“menefest-car”(没有后缀名):
Main-Class: com.gosyl.demo.Car
Class-Path: Light.jar
注意最后要有一个空行,冒号后面要一个空格。否则会出现找不到类的错误。
(5)打包2:输入c:\jar cvmf menifest-car Car.jar com/gosyl/demo/Car.class,在c:盘下生成“Car.jar”。
(6)执行:输入c:\java -jar Car.jar。屏幕回显“Light is on”。
三.总结
1.清单文件menifest,对格式要求很高,注意每个冒号后面要有一个空格,文件最后要有一个空行。
2.对于引用到外部jar包的工程,需要在manifest中定义好Class-Path属性。
3.对于双击.bat文件出现刷屏现象的情况,请直接把.bat文件的内容键入命令行执行。
4.对于重复签名的jar包,在META-INF里面会出现多个签名文件,删除掉多余的,保存其中一个才能保证jws正常启动。
posted @
2008-04-18 20:52 gosyl 阅读(26274) |
评论 (3) |
编辑 收藏
5岁的时候,我说我爱你。你歪着脑袋,眨着水晶般的大眼睛,疑惑地问我:“什么意思呀?”
15岁的时候,我说:"我爱你".你的脸红得像火烧云,头深深地低着,摆弄著衣襟,你好像在笑。
20岁的时候,我说我爱你,你把头靠在我的肩上,紧紧地挽住我的手臂,像是下一秒我就要消失一样。
25岁的时候,我说我爱你,你把早餐放在桌上,跑过来刮了一下我的鼻子说:“知道了!懒虫,该起床了!”
30岁的时候,我说我爱你,
你笑着说:“你呀!要是真的爱我,就别下了班到处跑,
还有,别再忘了我叫你买的菜!”
40岁的时候,我说我爱你,
你边收拾碗筷边无表情的嘟囔着:
“行了,行了,快去帮孩子复习功课去吧!”
50岁的时候,我说我爱你,
你打着毛线头也不抬:“真的?
你心里是不是巴不得我早点儿死掉。”
然后就咯咯咯地笑个不停。
60岁的时候,我说我爱你,
你笑着捶了我一拳:
"死老头子!孙子都这么大了,还贫嘴!
70岁的时候,我们坐在摇椅上,戴着老花镜,
欣赏着50年前我给你的情书,我们已经布满皱纹的手又握在了一起,
那时侯我说我爱你, 你深情地望着我,
你那已经皱纹满面的脸仍是那么美丽……
炉子上的开水咕嘟咕嘟地冒烟, 温馨的暖意充满了整个屋子......
80岁的时候,你说你爱我。
我什么也没说,因为我流泪了,
但是那是我人生最最快乐的日子,
因为你终于说出了那句“我--爱--你"。
致我所有的朋友
无论已婚与未婚
这是篇很好的文章。
如果你暂时没有时间细细品味
也请你有时间的时候将自己的心沉淀下来,
用心的看。
好的文章真的不多了……
单身,有时不一定是贵族。
单身也许会比较自由,
但自由也有一个同义词,叫作寂寞。
因为人不是什麽时候都喜欢一个人独处的;
有时好东西需要跟人分享,
有时候难过需要人安慰。
单身贵族产生的原因,是因为
经济上的独立、人格上的独立以及感情上的独立。
独立是什麽?
独立是需要而不依赖,
一个独立的人需要异性,而不依赖异性。
做情人之前,她应该先是朋友。
她成为你的朋友之後,出现在你的生活里,
才有可能认识你、了解你、知道你的长处
而对你产生好感,进一步发展感情,
变成情人、对象。
世界上的颜色并非只有白色和黑色,
黑与白之间还有很漫长的灰色地带。
只要多相处,便能发现对方的优点、产生好感,
这才是发展感情的自然过程。
『一见锺情』以及『从一而终』的感情是不切实际的,
我们需要的不是这种不切实际而虚幻的感情。
有人形容跟异****往,
就好像在海边捡石头,大家都会捡喜欢的那一颗。
一旦捡到一颗你最喜欢的石头,便把它带回家去,
好好对待它,因为那是你唯一的石头。
而且要记住,从此後不要再到海边去。
永远相信,
我已经找到最大、最美、最适合我的那一颗。
跟异****往最重要的不是他有多好,
而是他对你有多好。
一个人如果条件很好,有一百分,
可是这一百分之中,他只给你三四十分,或一二十分;
相反地,另一个人也许只有七八十分,
可是他却是全心全意的对待你,
那你应该选择那一个?
其实,每一个人的条件都是一样的。
不管你有多好,都还有人比你更好。
你虽然做不到一个『最好的人』,
可是你却做得到一个『对对方最好的人』。
每一个男孩子都可以说:
『虽然我不是世界上最好的男人,但我是世界上对你最好的男人』。
反过来女孩子也是一样,这是每一个人都做得到的。
感情最重要的是在於他对你的好,
而不是他自己有多好。
但是如果有一个人本身已经很好了,
对你又是真心真意,真心爱你,
那麽你真的可以把一生托付给他。
现在女性考虑婚姻的唯一条件,
应该就是你爱不爱他,他爱不爱你,
是不是真心真意对你,
跟他在一起会不会有压力,会不会快乐,
而非他有什麽!
人间的真爱是很难得的。
在人的一生中,
很难找到一个
你真正爱,真正可以跟他过一辈子的人。
如果你怯於表达,
或害怕会有什麽事,
错失一辈子可能只有一次的真爱,
那就太可惜了,
所以一定要采取主动,把心里的话说出来。
如果一个男孩子
因为女孩子对他采取主动而看不起她,
那麽这个男孩子不是男生,而是畜生。
更何况,幸福比面子重要,
如果牺牲一时的面子可以换得一生的幸福,
是非常值得的,勇敢把心里的话说出来,
不要隐藏自己的真心。
千万别说缘份未到,其实缘份到处都有,
但却是稍纵即逝,如果『缘』不及时把握,
那就没有『份』了。
大多数的女性对感情是偏重於精神,
男性则偏於物质。
男孩子除了对女孩子殷勤体贴外,
也要学会对女孩子负责任,
要将对天下所有女孩子的殷勤体贴,
全部用来对一个女孩子。
另外,
刚毅木纳并不能讨女孩欢心,
所以要学习对女孩子甜言蜜语,多说好话。
男人,为性而爱;
女人,为爱而性。
一个维持起来轻松、愉快的感情容易长久!
一个维持起来艰难而痛苦的感情不易长久,
这时後就应该有所选择。
我们都是凡夫俗子,
要的是平凡而幸福并且快乐的爱情。
对所有的感情而言,过程远比结果重要。
为什麽?因为所有的感情都是没有结果的。
什麽是结果?结婚吗?
结婚之後就过着幸福快乐的日子吗?
可见我们不以感情的结果来评断它的价值感情,
也不以时间的长短来论定它的价值。
对感情而言,凡是发生过的都存在,
凡是存在过的都有价值。
世界上的感情每一段、每一分、每一秒
都是值得珍惜的。
婚姻是人生里最大的一场赌局。
在这无限长的时间里,
我们还要互相呈现最丑陋的一面给对方看。
婚姻和恋爱不同的是:
恋爱可以花二个小时打扮自己,
精神奕奕的向对方献殷勤、体贴,轻松完成任务。
可是婚姻就无法随时维持高亢的状态。
所以,婚姻是一场大赌注,
需有万全的准备、周详的计划、十足的信任,
然後再去押它一把,即使是这样都还有可能输掉。
因此如果在赌之前,就知道自己
不是心甘情愿、不是很爱他、并不想跟他过一辈子,
那麽这一场赌注注定是要输的。
千万不要
为了爱情之外的任何一个理由结婚。
感情的可贵
不在於可从对方获得什麽,
一方面是一种被依赖、被需要的感觉。
有人依赖我,需要我,
我会得到满足
。
面对感情,我们所要采取的就是三不政策:
第一是不急:不要急着结婚。
结婚虽然是很美好的事,但是不要着急,
该是你的就是你的。
第二是不怕:不要害怕付出。
彼此必需一辈子努力,才能把感情维持好。
你不可能『得到』一个美好的感情,
你只能找到一个你心爱的人,
来共同经营、造就、完成一段美好的感情。
如果你没决心做好男人,那你就得不到好女人。
世界上没有一个坏男人会有一个好女人,
坏男人只会有可怜的女人;
同样的,也没有一个坏女人会有一个好男人。
何况感情中还有一个
跟我们共同努力、想把它做好的人。
这个合夥事业成功的机会是很大的,
关键就在於你是否愿意努力、付出而已。
第三是不要放弃。
当你受了打击、挫折、伤害,
当你感到灰心、失望时,
有一个人无条件的、永远站在你这一边,
支持你、鼓励你、安慰你,
让你重新站起来面对这个世界。
这个力量,是再亲的父母不能给我们的,
是再要好的朋友也不能给我们的,
只有在人生的旅程中所找到的心爱的伴侣,
才能够给我们。
其实爱情是人生唯一的、真正珍贵的;
也是唯一的、真正值得追求的东西。
只要你有一个心爱的人,
你就有了原动力,
你就能面对全世界。
亲爱的朋友们,人生难得一知己,遇上了,就用心去把握吧!
posted @
2008-04-18 10:17 gosyl 阅读(278) |
评论 (0) |
编辑 收藏
“我 不需要你一个人承担太多的压力
假如有一天你觉得累
那我们一起回家
去哪里 过什么样的生活
我都愿意跟你在一起”
----------我朋友的女朋友对我朋友说的话。实在是令人艳羡,摘过来自己yy一下!
posted @
2008-04-17 21:30 gosyl 阅读(282) |
评论 (1) |
编辑 收藏
4月14日的GRE机考,终于结束了。
跟我一起考试的3个同学都没带齐两个证件,一个是从北京飞过来广州考试的,可怜巴巴的求情,最终还是被拒考。。。。另外两个从大学城那边过来的同学也没有带齐证件,叫同学临时打的送过来才得以进考场考试,我心里琢磨,咋都这么潇洒了,看来都是牛人呀。
时间很紧迫。当时写下人生第一篇Issue离考试还不到30天了,对于短时间备考,要考虑性价比的问题。特别对于白天还要在实验室做事,有时候还得打打篮球,踢踢足球什么的。时间不够的话就练高频题,Issue我只练过全国高频前20,Argument就写了个模板,随便看了看一些提纲,不超过30篇。在这里我要感谢一下在我之前考试的程浩同学,捷飞同学,在作文上给了我不少帮助,还有小芬,tiger,感谢你们批改我漏洞百出的作文,哈哈,想必是非常辛苦的一件差事。当然还有广外的猫子MM,无私的贡献出了她的模板.Thank you all!!
心态很重要。考试前两天我就开始放松了,并且安慰自己,Issure毕竟是2选一,中奖的概率还是蛮高的,Argument就那些主要错误,写了模板,到时候临场发挥。最终考试的情形如我所料,Issue是那篇NO.11:"All nations should help support the development of a global university designed to engage students in the process of solving the world's most persistent social problems."所有的国家都应该帮助建立起一个全球性的大学用来培养学生们解决世界上最顽固的社会问题. 这个题目总频率排在14,我写过。Argument不记得是那篇,没看过,像猫子所说,题目没看清,我的模板就已经写好啦 hoho。写完之后时间还很多,又没什么好些的了。
总结。跟某些大牛艰苦(有人说是痛苦)的准备过程相比,我算是极其轻松的,这是我为什么至今不是牛人的原因之一。还有,发现自己在考场上好容易满足,感觉发挥了80%,看看没啥错误了,剩下的时间就在那里悠闲的发呆。有时候,心态太好了,不见得是好事。
posted @
2008-04-14 15:29 gosyl 阅读(410) |
评论 (0) |
编辑 收藏
新的火焰可以把旧的火焰扑灭;
大的苦痛可以使小的苦痛减轻。
《罗密欧与朱丽叶》
聪明人变成了痴愚,是一条最容易上钩的游鱼;因为他凭恃才高学广,看不见自己的狂妄。
愚人的蠢事算不得稀奇,聪明人的蠢事才叫人笑痛肚皮;因为他用全副的本领,证明他自己愚笨。
《爱的徒劳》
对自己忠实,才不会对别人欺诈。
习惯简直有一种改变气质的神奇力量,它可以使魔鬼主宰人类的灵魂,也可以把他们从人们的心里驱逐出去。
《哈姆雷特》
我没有路,所以不需要眼睛;当我能够看见的时候,我也会失足颠仆,我们往往因为有所自恃而失之于大意,反不如缺陷却能对我们有益。
《李尔王》
要一个骄傲的人看清他自己的嘴脸,只有用别人的骄傲给他做镜子;倘若向他卑躬屈膝,不过添长了他的气焰,徒然自取其辱。
《特洛伊罗斯与克瑞西达》
外观往往和事物的本身完全不符,世人都容易为表面的装饰所欺骗。
没有比较,就显不出长处;没有欣赏的人,乌鸦的歌声也就和云雀一样。要是夜莺在白天杂在聒噪里歌唱,人家绝不以为它比鹪鹩唱得更美。多少事情因为逢到有利的环境,才能达到尽善的境界,博得一声恰当的赞赏。
《威尼斯商人》
懦夫在未死以前,就已经死了好多次;勇士一生只死一次,在一切怪事中,人们的贪生怕死就是一件最奇怪的事情。
行为胜于雄辩,愚人的眼睛是比他们的耳朵聪明得多的。
《英雄叛国记》
疑惑足以败事。一个人往往因为遇事畏缩的原故,失去了成功的机会。
最好的好人,都是犯过错误的过来人;一个人往往因为有一点小小的缺点,更显出他的可爱。
《量罪记》
他赏了你钱,所以他是好人;有了拍马的人,自然就有爱拍马的人。
《黄金梦》
世界是一个舞台,所有的男男女女不过是一些演员,他们都有下场的时候,也都有上场的时候。一个人的一生中扮演着好几个角色。
《皆大欢喜》
赞美倘从被赞美自己的嘴里发出,是会减去赞美的价值的;从敌人嘴里发出的赞美才是真正的光荣。
《特洛伊罗斯与克瑞西达》
黑暗无论怎样悠长,白昼总会到来。
世界上还没有一个方法,可以从一个人的脸上探察他的居心。
《麦克佩斯》
要是你做了狮子,狐狸会来欺骗你:
要是你做了羔羊,狐狸会来吃了你;
要是你做了狐狸,万一骗子向你告发,狮子会对你起疑心;
要是你做了骗子,你的愚蠢将使你受苦,而且你也不免做豺狼的一顿早餐……
《黄金梦》
魔鬼为了陷害我们起见,往往故意向我们说真话,在小事情上取得我们的信任,然后我们在重要的关头便会堕入他的圈套。
《麦克佩斯》
上天生下我们,是要把我们当做火炬,不是照亮自己,而是普照世界。因为我们的德行倘不能推及他人,那就等于没有一样。
《一报还一报》
一个骄傲的人,结果总是在骄傲里毁灭了自己,他一味对镜自赏,自吹自擂,遇事只顾浮夸失实,到头来只是事事落空而已。
无论一个人的天赋如何优异,外表或内心如何美好,也必须在他们德性的光辉照耀到他人身上发生了热力,再由感受他的热力的人把那热力反射到自己身上的时候,才会体会到他本身的价值的存在。
posted @
2008-04-08 17:33 gosyl 阅读(233) |
评论 (0) |
编辑 收藏
目的:
为了使Applet或者Java Web Start程序能够访问客户端本地资源,需要对Applet或者JWS程序jar包进行数字签名,之后客户端打开Applet或者JWS程序的时候会提示是否允许该程序访问本地资源,用户如果要用你的程序,当然只能选择OK了。这样你的程序就能按照某种访问权限来访问客户机的本地资源了。
签名步骤:
1.将程序打成jar包。
这个我就不多说了,用eclipse,netbeans等开发工具很方便就能打包的。
2.用keytool命令生成.store文件。
在任意文件夹下建立一个keytool.bat文件,输入
keytool -genkey -keystore xxx.keystore -alias xxx -validity 3650
保存,双击执行。将在当前目录下生成一个xxx.keystore文件, -alias后接的是别名,-validity后面接的是该证书有效天数,这里3650表示10年。(用这个证书签名的程序10年内有效)。
3.用jarsigner程序对jar包进行签名。
新建jarsinger.bat文件,输入
jarsigner -keystore xxx.keystore helloworld.jar xxx
保存,双击执行,helloworld.jar就被签名了。
简单吧,有不懂的请联系我gosyl@yahoo.com.cn
posted @
2008-04-08 15:19 gosyl 阅读(1879) |
评论 (1) |
编辑 收藏
我们生活在一个残酷的世界,在这个世界里许多人都跟你一样有雪亮的眼睛,许多人都非常善于发现生活中的宝藏.如果你有足够的智慧发现这个宝藏,你是幸运的,同时你可能也是不幸的.如果你没有足够的勇气,眼睁睁的看着别人去掘那个宝藏,自己不敢动手,那结果只有看着别人把宝藏捧在怀里,才开始羡慕嫉妒的份.非常可悲.有了足够的勇气还得要那么点运气,俗话说的要拼一拼"人品".因为有些宝藏可能只属于第一个动手挖掘的人.如果别人很幸运的成为那个人,你就要明智点啦,宝藏常有,挖宝藏的力气不常有,适时的抽身挖另外的宝藏去.不过有一点是肯定的,大部分宝藏是属于那个不停的挖掘一直坚持到最后的人.
希望自己能做个勇敢的,积极的,明智的,有毅力的掘宝人.
posted @
2007-10-14 20:30 gosyl 阅读(304) |
评论 (2) |
编辑 收藏
http://v.youku.com/v_show/id_cb00XMTQ0NjA2MA==.html爱情是什么
http://v.youku.com/v_show/id_cb00XMTQ3NTkxNg==.html爱情的哲理
posted @
2007-10-11 14:31 gosyl 阅读(337) |
评论 (0) |
编辑 收藏
posted @
2007-10-08 08:10 gosyl 阅读(298) |
评论 (2) |
编辑 收藏
在饭桌上跟室友一起聊起创业大赛的事情,立即得到他们的积极响应.回到实验室,胖子找到了一个学经济的女同学帮忙.忙活了2天,就把创业大赛的初稿给弄出来的.提交上去没几天,我们队就已经从80多只队伍中挤近了前24名,也就是进入了复赛.再过一轮进入前8就是决赛了,最终会挑选出前3名去参加省赛.
望着我们的初稿,能进入复赛,已经是个不小的奖励了.我们深知要做到能拿得出手的计划书我们还有很多工作要做.趁此机会锻炼一下自己的组织才能和补充一下经济方面的知识吧.最近看了美国的<<学徒>>,很受感染,原来自己骨子里是个喜欢竞争的人.遇到竞争,总是能让我热血沸腾,是不是说明我还有点斗志.不错,呵呵.像我同学说的那样,我想我还可以抢救一哈.
posted @
2007-10-06 16:02 gosyl 阅读(287) |
评论 (3) |
编辑 收藏
今天想查点家乡的新闻,于是打开
www.baidu.com,结果发现打不开首页。截止此发文时间,依然打不开。能ping通
www.baidu.com。但是使用浏览器浏览说找不该页面。第一次碰到这么大公司出现此类故障,做个记号。
posted @
2007-09-15 21:45 gosyl 阅读(1917) |
评论 (5) |
编辑 收藏
linux至少需要两个分区,根目录(/)和交换分区(swap)。对工作站来说这种方法很适合,但如果用linux做服务器,那么就有必要为某些目录单独创建它们自己的分区。下面一一介绍这些特殊的目录。
/home:在有许多用户的系统上(如服务器),主目录通常在一个标准的位置创建,如/home。
如果把/home放在根文件系统中,用户会把系统的根磁盘写满文件,所以应该把/home目录单独放在一个分区中。这样,顶多是用户的这个分区被写满,系统根目录依然可以正常运行,毕竟用户不能够再创建文件的错误比系统无法创建文件的错误小的多。
/var: 用于存储要打印的文件,揭发的电子邮件等。可放在单独的分区中,其他分区写满不会影响到这些数据。
/tmp:用于存储大量临时文件的系统目录也非常适合建立单独的文件系统。
此外,/usr是安装系统文件的系统目录,/opt是安装可选软件的系统目录,它们也可以放在单独的分区中。
具体这些分区占多大空间,就要看具体的需要了。
posted @
2007-09-15 10:35 gosyl 阅读(355) |
评论 (0) |
编辑 收藏
获得华工南校区第二届3人制足球比赛冠军,做个记号。
posted @
2006-12-10 10:26 gosyl 阅读(199) |
评论 (0) |
编辑 收藏
前段时间不知什么原因不能在blogjava发贴,于是在oioj新申请了blog。然而用过一段时间之后,又开始怀念blogjava了。作为一个技术爱好者,只有在这里,才有家的感觉。
同学介绍了一款代理软件,fastInternet。在教育网内也可以上外网了,用起来很爽,给了我重新回到blogjava的机会,感谢部长的帮助,thanks!
posted @
2006-11-24 23:10 gosyl 阅读(266) |
评论 (0) |
编辑 收藏
在湘大的时候,还是碰到过几个好老师的.曾经有一个研究生助教说过这么一句话:"读了研究生又怎么样,你把专业学得再精通又怎么样.你这个人还是很肤浅的."
不知道他当时说这句话是一种什么心态.也许老师只是随便说说.可我对这句话印象比较深.雪儿说过,她要做一个智者.她所谓的智慧,是说智慧既包括智商,也包括情商.而我认为,这样定义过于狭隘.
智慧应该是懂得生活的真谛.生活的意义.真正懂生活的人,才是智慧的人.
posted @
2006-10-06 17:36 gosyl 阅读(267) |
评论 (0) |
编辑 收藏
我院非常重视对学生就业的指导,从学生入学便开始指导学生规划人生,早做准备,明确自己毕业后的去向,达到高就业率。我院每届学生的一次性就业率都高于本校的平均数值,按照北京市关于统计一次性就业办法的规定,就业率达 90% 左右(含就业、出国和考研人数),另有 10% 左右的学生选择继续考研。在就业学生当中, 70% 左右去向为英国渣打银行、花旗银行、恒生银行、中信实业银行、中国工商银行、中国农业银行、中国建设银行、北京银行、中国进出口银行、中国国际金融有限公司等金融机构; 15% 左右去向毕马威、普华、安永等会计师事务所;到中国五矿集团公司、 IBM (中国公司)、华北电力集团财务公司、马士基(中国)航远有限公司、三星(中国)投资有限公司、雀巢(中国)有限公司等单位的也不在少数;之外,也有部分毕业生到国务院发展研究中心企业研究所、中国航空工业技术研究院、中国海关等部门工作 。
posted @
2006-10-06 16:55 gosyl 阅读(1894) |
评论 (0) |
编辑 收藏
本文是Google搜索技巧系列文章的第一篇,也是在看了《十四个方法提高博客的页面访问量》后,尝试一下其中的第六条-写一个系列文章,于是就拿Google开刀了,第一篇介绍的是最简单基本的东西,经常使用Google搜索的可以跳过本文.
基本搜索
Google 查询简洁方便,仅需输入查询内容并敲一下回车键 (Enter),或单击“Google 搜索”按钮即可得到相关资料.
搜索两个及两个以上关键字
Google 只会返回那些符合您的全部查询条件的网页.不需要在关键词之间加上“and”或“+”.如果您想缩小搜索范围,只需输入更多的关键词,只要在关键词中间留空格就行了.
搜索结果不包含某些特定信息
如果要避免搜索某个词语,可以在这个词前面加上一个减号(“-”, 英文字符).但在减号之前必须留一空格.
自动简繁转换
Google有智能型汉字简繁自动转换系统.值得注意的是这个系统不是简单的字符变换,还包括不同区域之间惯用语转换.例如中国大陆称朝鲜为“北朝鲜”,而港台和海外则称之为“北韩”,因此在搜索简体的“北朝鲜”时,会同时自动对应搜索繁体的“北韩”.当搜索所有中文网页时,Google会对搜索项进行简繁转换后,同时检索简体和繁体网页.并将搜索结果的标题和摘要转换成和搜索项的同一文本,以便阅读.
拼音汉字转换
Google 运用智能软件系统对拼音关键词能进行自动中文转换并提供相应提示.例如:搜索“yue guang”, Google 能自动提示 “您是不是要找:月光”.如果您点击“月光”, Google 将以“月光”作为关键词进行搜索.对于拼音和中文混和关键词,系统也能做有效转换.
整词的搜索
在 Google 中,可以通过添加双引号来搜索短语.双引号中的词语(比如”月光博客”)在查询到的文档中将作为一个整体出现,而不会自动进行分词处理.这一方法在查找名言警句或专有名词时显得格外有用.
通配符
你可以在搜索时使用通配符“*”,这在搜索诗词时特别有效.比如你可以搜一下“when i was young i’d listened to the radio * my favorite songs waiting ”可以通过模糊记忆的单词找到“yesterday once more”的歌词地址.
Google搜索在工作上的应用技巧
Google良好的搜索和易用性已经得到了广大网友的欢迎,但是除了我们经常使用的Google网站、图像和新闻搜索之外,它还有很多其他搜索功能和搜索技巧.如果我们也能充分利用,必将带来更大的便利.这里我介绍几个很有用的搜索技巧,在平时搜索中可以结合使用.
一、限定搜索范围的技巧
1、文件类型
有时候我们可能不需要搜索网页文件或者图片,我们可能想要搜索其他类型的问题,比如文档文件(Word,Excel,PPT),Flash文件,甚至是Google地图文件,我们都可以使用“filetype”功能来实现.
比如我想搜索一篇关于最新加密技术的Word论文,使用Google搜索“filetype:doc 加密技术 ”即可得到大量相关信息.我想搜索关于中国的Google Earth卫星图片,那么就在Google中搜索“filetype:kmz china”即可.
2、指定网站
有时我们进行网页搜索,想要在某一个指定的网站内搜索感兴趣的内容,这时候我们可以使用“site”功能来限定搜索的网站.
比如,我想在新浪网上搜索关于世界杯赛程的消息,只需要用Google搜索“site:sina.com.cn 世界杯赛程”即可得到结果.
如果你想把搜索结果限制在大学的网站之中,可以使用“site:.edu 关键词”.
通过限定搜索范围的方法,我们可以更快更准确的搜索到我们想要的东西.
3、其他限定搜索方法
intitle:搜索关键词(intitle:关键字)只搜索网页标题含有关键词的页面.
inurl:搜索关键词(intitle:关键字)只搜索网页链接含有关键词的页面.
intext:搜索关键词(intext:关键字)只搜索网页body标签中的文本含有关键词的页面.
二、写作辅助小工具
Google有一些小工具,为我们的日常工作学习提供了很多方便之处.
1、翻译工具
Google本身带有中英文翻译的功能,只需输入一个关键词(“翻译”或“fy”任选其一)和要查的中(英)文单词,Google会直接显示您要查的单词的英文(或中文)翻译.
比如我们想要翻译“香蕉”这个词为英文,那么只需要在Google中搜索“翻译 香蕉”或者“fy 香蕉”,返回的第一条记录就是翻译的结果.同样,我们搜索“fy banana”可以得到这个单词的中文翻译.
2、学术词典工具
我们有时候想要知道一个具体词汇的定义,可以使用“定义”或“define”,接着键入一个空格,然后键入您需要其定义的词.
比如,我们想要知道氨基酸是什么意思,只需要在Google中搜索“定义 氨基酸”,就可以找到氨基酸的定义.
三、改进工作效率
做为一个公司员工,每天都要关注自己公司和竞争对手的最新消息,怎么才能在最短的时间内获得最多的信息呢?Google可以帮助你.
Google 快讯是Google的新闻定制自动发送,用户可以定制自己需要的内容,Google会在设定的时间内(即时、每天、每周)给用户发送Google最新搜索到的新闻文章,非常方便,我们就可以用这个功能来跟踪自己公司和竞争对手的最新消息.
例如我是一家做搜索的开发公司,我需要每天关注自己的竞争对手,因此我只要登录:http://www.google.com/alerts?hl= zh-CN,然后在“搜索字词”中输入“Google”,“频率”为每天,即可每天收到关于Google的最新消息,同样在“搜索字词”中输入“百度”, 可以获得百度的最新消息.
当然,搜索关键字不只是公司,开动我们的脑筋,我们可以用这个工具跟踪任何信息,比如输入某个名人的名字,可以追踪这个名人的最新消息和新闻,搜索某个行业名称,可以追踪这个行业的相关新闻,搜索某个新闻事件,可以得到这个事件的最新报道.
因此,我们只要灵活掌握和运行Google的搜索技巧,那会给自己的工作和学习带来相当大的提升,使得自己的事业能够更上一层楼.
posted @
2006-10-02 10:22 gosyl 阅读(378) |
评论 (1) |
编辑 收藏
我使用myeclipse5.0.1GA+eclipse3.2。新建一个web project,然后添加struts cababilities.在struts-config.xml的design标签页下(如下图)不能新建jsp文件。为什么呢?
posted @
2006-09-16 21:20 gosyl 阅读(991) |
评论 (1) |
编辑 收藏
报名几天了,忙完了注册,体检之后。今天上了第一天课,跟本科时候的感觉差不多,上午逃了一节,下午的是选修课,学姐说很难过所以没选,也就干脆没有去上。在寝室美美的睡了一觉。醒来已经是5点。心想 我的研究生生涯就此开始了,心里却没有一丝激动。身边强人不少,需要虚心向他们学习。雪儿为了考研每天都很努力,我也应该好好规划一下这三年,不能虚度光阴。
posted @
2006-09-14 00:05 gosyl 阅读(244) |
评论 (2) |
编辑 收藏
回到佛山也快有10天时间,每天过得挺平淡。很怀念在学校跟同学们在一起的日子。
在这里,认识了一些新的朋友,都是一些在工厂打工的打工仔。跟我住一屋子的就有两个。虽然就比我大1,2岁,但已经工作好几年了。一个的儿子快1岁了,另外一个的老婆过些天就生小孩了。他们每天都在工厂里很卖力的工作。每天都要加班,很辛苦。但是他们每天都乐呵呵的,我们每天晚上开卧谈到很晚,弄得最近都有点睡眠不足鸟。
白天他们工作的时候,我就玩玩电脑,陪老妈出去买菜,陪她逛街。偶尔跟老婆通通电话,倒也逍遥。
生活有点平淡.期待着开学
posted @
2006-08-12 14:46 gosyl 阅读(312) |
评论 (5) |
编辑 收藏
同学在我机子上安装red hat,把我的d盘格掉了,里面有我所有的软件备份以及编程工具。这回我可惨了,又要重新安装,上网搜集,下载。现在资料丢了才意识到备份的重要,发誓下次一定要配个刻录光驱!把重要的资料刻录下来,这样就万无一失了。
posted @
2006-05-24 12:43 gosyl 阅读(263) |
评论 (1) |
编辑 收藏
昨天把机子拿i给同学去安装linux,结果安装了一个linux red hat,比我的fc5删除了,版本太低,不想用,于是进windows把linux所在的盘给格式化了,结果再重启机子后,系统不能启动拉。直接进入了grub命令提示符,不动了。
然后上网找了下资料,用window xp的安装盘进入修复命令台,使用fixmbr命令,就可以进入windows了。
一般的 先用map查看一下你的windows安装在那个盘,
Fixmbr
修复启动磁盘的 主启动记录。fixmbr 命令仅在使用故障恢复控制台时才可用。
fixmbr [ device_name]
参数
device_name
要写入新的主引导记录的设备(驱动器)。设备名称可从 map 命令的输出获得。例
如,设备名称:
\Device\HardDisk0
范例 :我的windows xp装在c盘,用map出来的信息显示出来是: \Device\HardDisk0
下列命令示例向指定设备写入一个新的主引导记录:
fixmbr \Device\HardDisk0
posted @
2006-05-24 12:36 gosyl 阅读(339) |
评论 (0) |
编辑 收藏
public
class
Student
{
Student(String name)
{
this
.name
=
name;
}
boolean
hasPassedCET4()
{
//
}
boolean
gotEnoughCredits()
{
//
}
private
age;
private
name;
}
class
GraduateStudent
extends
Student
{
boolean
completedGraduateThesis()
{
//
}
Photo getPhoto()
{
//
}
boolean
healthCheckUp()
{
//
}
void
stay()
{
//
}
void
leaveSchool()
{}
void
enterAnotherSchool()
{}
public
static
void
main(Sting[] args)
{
Student me
=
new
GraduateStudent(
"
syl
"
);
if
(me.hasPassCET4()
&&
me.gotEnoughCredits()
&&
me.completedGraduateThesis())
{
me.getPhoto();
if
(me.healthCheckUp())
{
me.leaveSchool();
me.enterAnotherSchool();
}
else
{
me.leaveSchool();
me.gotoHospital();
while
(
!
me.healthCheckUp())
{}
me.enterAnotherSchool();
}
}
else
{
me.stay();
}
}
}
posted @
2006-05-21 14:17 gosyl 阅读(301) |
评论 (0) |
编辑 收藏
我使用的版本是wincvs 2.0.3.1和cvsnt2.5.03。
不同的版本配置方式有很大的不同,因此针对不同的版本,设置方法可能不同。
先在cvsnt中新建Repository: 点击repository configuration选项卡--->ADD ,在location下填入资源库位置,我填0写的是“D:/CVSNT/demoRepository”,然后在name下填写“/demoRepository”,注意这里是相对路径。下面三个选项,我统统打上钩。OK。
安装好wincvs后,
1。连接资源库:进入菜单项admin--〉command line Settings ,在cvsroot里填写“:pserver:gosyl@localhost:/demoRepository ”。然后进入菜单项admin--〉login,在cvsroot里同样填写“:pserver:gosyl@localhost:/demoRepository”。系统提示输入密码,输入后。连接成功。系统显示
***** CVS exited normally with code 0 *****
2。使用import module向资源库添加需要管理的文件:
在workspace窗口点击鼠标右键,选择import module。在import setting选项卡的Repository下给新资源取个名字如“我的文档”。在 import option选项卡下键入路径名,确定。这时在workspace窗口会出现一个“我的文档”的文件夹,在右侧窗口可以看到这个文件夹下的文件。这些文件可以被提交到资源库中。这时用鼠标右键点击workspace窗口内空白部分,可以发现已经有commit 等选项。
posted @
2006-05-07 15:22 gosyl 阅读(312) |
评论 (0) |
编辑 收藏
转载自
http://www.kaifz.com/Tomcat5-5-JNDI-JDBC-t39764.htmTomcat5.5下配置JNDI JDBC数据源
w.kejia@gmail.com
1. 安装JDBC驱动
通常,将JDBC驱动安装到$CATALINA_HOME/common/lib下。
2. 声明你的资源引用
这里我们为JDBC数据源建立的JNDI资源名为“jdbc/dataSource2005”,需要在web应用部署描述文件web.xml中添加资源声明:
<resource-ref>
<description>
Resource reference to a factory for java.sql.Connection
instances that may be used for talking to a particular
database that is configured in the server.xml file.
</description>
<res-ref-name>
jdbc/dataSource2005
</res-ref-name>
<res-type>
javax.sql.DataSource
</res-type>
<res-auth>
Container
</res-auth>
</resource-ref>
以下是一份简单、完整的web.xml文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
<web-app id="StrutsWuApplication">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<resource-ref id="datasource">
<description>Database connection</description>
<res-ref-name>jdbc/dataSource2005</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
3. 配置Tomcat资源工厂
接下来修改应用的$CATALINA_HOME/conf/server.xml或web应用的/META-INF/context.xml文件,在相应的context节添加:
<Context ...>
...
<Resource name="jdbc/dataSource2005" auth="Container" type="javax.sql.DataSource" username="sa" password="sa" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://localhost:1433;databasename=northwind" maxActive="8" maxIdle="4"/>
...
</Context>
Tomcat标准数据源资源工厂配置项如下:
* driverClassName - 所使用的JDBC驱动类全称。
* maxActive - 同一时刻可以自数据库连接池中被分配的最大活动实例数。
* maxIdle - 同一时刻数据库连接池中处于非活动状态的最大连接数。
* maxWait - 当连接池中没有可用连接时,连接池在抛出异常前将等待的最大时间,单位毫秒。
* password - 传给JDBC驱动的数据库密码。
* url - 传给JDBC驱动的连接URL。
* user - 传给JDBC驱动的数据库用户名。
* validationQuery - 一个SQL查询语句,用于在连接被返回给应用前的连接池验证。如果指定了该属性,则必为至少返回一行记录的SQL SELECT语句。
4. 使用
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)envCtx.lookup("jdbc/dataSource2005");
Connection conn = ds.getConnection();
... use this connection to access the database ...
conn.close();
注意:Tomcat5.5不支持ConnectionPoolDataSource接口。
5. 参考
* http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html
posted @
2006-05-05 21:54 gosyl 阅读(534) |
评论 (0) |
编辑 收藏
今天是跟女朋友相识一周年的日子,没有过多的感触,只有淡淡的忧伤。
毕业时分手,很潇洒的说法,真的到那一天,希望自己也能那么洒脱。
回想起一年来的风风雨雨,无论如何,一周年,都是值得纪念的。
认认真真把寝室打扫了一遍,寝室焕然一新。心也一样。
posted @
2006-05-01 11:26 gosyl 阅读(287) |
评论 (1) |
编辑 收藏
Award BIOS
1短:系统正常启动。表明机器没有任何问题。
2短:常规错误,请进入CMOS Setup,重新设置不正确的选项。
1长1短:内存或主板出错。换一条内存试试,若还是不行,只好更换主板。
1长2短:显示器或显示卡错误。
1长3短:键盘控制器错误。检查主板。
1长9短:主板Flash RAM或EPROM错误,BIOS损坏。换块Flash RAM试试。
不断地响(长声):内存条未插紧或损坏。重插内存条,或更换内存。
AMI BIOS
1短:内存刷新失败。更换内存条。
2短:内存ECC较验错误。在CMOS Setup中将内存关于ECC校验的选项设为Disabled就可以解决,不过最根本的解决办法还是更换一条内存。
3短:系统基本内存检查失败。换内存。
4短:系统时钟出错。
5短:CPU出现错误。
6短:键盘控制器错误。
7短:系统实模式错误,不能切换到保护模式。
8短:显示内存错误。显示内存有问题,更换显卡试试。
9短:BIOS芯片检验和错误。
1长3短:内存错误。内存损坏,更换即可。
1长8短:显示测试错误。显示器数据线没插好或显示卡没插牢。
Phoenix BIOS
1短:系统启动正常
1短1短1短:系统初始化失败
1短1短2短:主板错误
1短1短3短:CMOS或电池失效
1短1短4短:ROM BIOS校验错误
1短2短1短:系统时钟错误
3短2短4短:键盘控制器错误
3短3短4短:显示内存错误
3短4短2短:显示错误
4短2短1短:时钟错误
4短2短2短:关机错误
4短3短1短:内存错误
4短4短1短:串行口错误
4短4短2短:并行口错误
posted @
2006-04-29 23:13 gosyl 阅读(324) |
评论 (0) |
编辑 收藏
又是不断的重复,没有创新,对自己着实有点失望。四年学习的象征,就是这个水平,心里那个寒啊。。。发誓一定要更加努力的学习!
posted @
2006-04-28 19:51 gosyl 阅读(233) |
评论 (0) |
编辑 收藏
配置要求:IIS(win2000 server 自带)、Java 2 SDK 1.4.2 (或更高版本)、Tomcat Web Server 连接器、Tomcat 5.0.24 (或更高版本)
准备
一、Java 2 SDK 1.4.2 (或更高版本)
1、 www.java.sun.com/downloads/ 网站中下载,选择
2、 Java 2 Platform, Standard Edition (J2SE)
3、 在下拉列表框中选择All platforms
4、 J2SE v 1.4.2_04 SDK includes the JVM technology 下选择
5、 Download J2SE SDK
6、 选择accept后下载Windows Offline Installation, Multi-language (j2sdk-1_4_2_04-windows-i586-p.exe, 49.36 MB) 版本
二、Tomcat 5.0.24 (或更高版本)
1、http://jakarta.apache.org/site/binindex.cgi下载
2、在Downloads中选择Binaries
3、在Tomcat 5.0.25 KEYS 中选择5.0.25 exe PGP MD5 下载
三、Tomcat Web Server 连接器
1、http://jakarta.apache.org/site/binindex.cgi下载
2、在Downloads中选择Binaries
3、在Tomcat Web Server Connectors KEYS 中选择
4、JK 2
JK 2 Binary Releases
5、出现Index of/dist/jakarta/tomcat-connectors/jk2/binaries
界面,选择win32/然后选择下载
jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip
注意 这个目录列表显示的文件名称被截断,所以需要观察浏览器状态栏中的提示,确认你准备下载的文件应该是以\"...iis.zip\"为结尾的
安装
一、Java 2 SDK
运行j2sdk-1_4_2_04-windows-i586-p.exe 按照提示安装(可以更改安装路径到你习惯的地方)。这里选择
d:\\jdk(jdk为自己新建的文件夹)
二、Tomcat 5
运行jakarta-tomcat-5.0.24.exe 按照提示安装(可以更改至其它路径)。
这里选择d:\\tomcat5.0(tomcat5.0为自己新建的文件夹)
选择本地机器的jdk路径,一般情况下,安装文件会自动搜索并显示,如果没有正确显示,也可以手动更改
成功安装后,程序会提示启动tomcat并查看readme文档。
注意: 启动Tomcat之前要确定系统没有其它服务已经占用8080端口(Tomcat默认端口)和8009端口( Tomcat\'s AJP13 连接器端口)
Tomcat正常启动后会在系统栏加载图标
注意: tomcat5.0以下的版本必须设初始密码,tomcat5.0以上的可以不设
三、Tomcat JK2 IIS 连接器
解压缩jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip得到bin conf doc三个文件夹,进入\\bin\\后可见isapi_redirector2.dll。
剪切/复制isapi_redirector2.dll 文件到Tomcat\'s bin\\目录中
新建目录win32\\i386\\ 并粘贴isapi_redirector2.dll。
记住这个路径,稍后配置IIS的时候还会用到。这个路径不是系统要求的,可改变!
现在可以删除jakarta-tomcat-connectors-jk2.0.4-win32-IIS目录,这里面的文件已经没用了。实际上在jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip中我们只用到了isapi_redirector2.dll一个文件
设置
一、tomcat
进入 Tomcat\'s conf\\ 文件夹.
要支持 JK2 连接器, 你可能需要修改jk2.properties文件. 大多数情况下保留此文件的默认状态即可,本人的多次配置过程都没有修改过这个文件。
## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED
## WHEN YOU EDIT THE FILE.
## COMMENTS WILL BE _LOST_
## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.
# Set the desired handler list
# handler.list=apr,request,channelJni
# www.domain.com
# Override the default port for the socketChannel
# channelSocket.port=8019
# Default:
# channelUnix.file=${jkHome}/work/jk2.socket
# Just to check if the the config is working
# shm.file=${jkHome}/work/jk2.shm
# In order to enable jni use any channelJni directive
# channelJni.disabled = 0
# And one of the following directives:
# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so
# If set to inprocess the mod_jk2 will Register natives itself
# This will enable the starting of the Tomcat from mod_jk2
# apr.jniModeSo=inprocess
request.tomcatAuthentication=false
设置环境变量tomcat_home。指向tomcat的安装目录d:\\Tomcat 5.0下。注意要求系统有可用JAVA_HOME环境变量
创建workers2.properties到d:\\Tomcat 5.0\\conf下。workers2.properties内容文件如下:
[shm]
file=\"d:/Tomcat 5.0/logs/jk2.shm\"
size=1048576
# Example socket channel, override port and host.
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
# Uri mapping
[uri:/*.jsp]
[uri:/servlet/*]
worker=ajp13:localhost:8009
三、Tomcat IIS 连接器
你已经放置isapi_redirector2.dll在你的路径下,本例子中是
d:\\Tomcat 5.0\\bin\\win32\\i386
现在需要添加一些必要的注册信息到注册表,redirector被IIS调用时会读到。建立一个.reg文件
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Apache Software Foundation\\Jakarta Isapi Redirector\\2.0]
\"workersFile\"=\"d:\\\\Tomcat 5.0\\\\conf\\\\workers2.properties\"
\"extensionUri\"=\"/jakarta/isapi_redirector2.dll\"
\"logLevel\"=\"debug\"
\"serverRoot\"=\"d:\\\\Tomcat 5.0\\\\\"
在记事本中写入上面的文字,并保存为 reg.reg
双击.reg文件,在注册表中的内容将会添加成功
HKEY_LOCAL_MACHINE\\SOFTWARE\\Apache Software Foundation\\Jakarta Isapi Redirector\\2.0中可以看到。
四、给Tomcat配制虚拟主机多个站点。
新建两个文件夹d:\\tomcat1和d:\\tomcat2。在两个文件夹里面再分别建立一个ROOT目录。
记事本打开d:\\Tomcat5.0\\conf\\server.xml文件。在文件server.xml中找到
标签;在标签之后新建如下信息:
www.tomcat1.com\" appBase=\"d:\\tomcat1\" >
www.tomcat2.com\" appBase=\"d:\\tomcat2\">
主要就是新建两个虚拟主机www.tomcat1.com和www.tomcat2.com。站点目录分别是d:\\tomcat1和d:\\tomcat2。d:\\tomcat1\\ROOT和d:\\tomcat2\\ROOT。分别是两个站点的主目录。也建立了日志文件和访问日志文件。
五、打开tomcat的/servlet/*的映射。
记事本打开d:\\Tomcat 5.0\\conf\\web.xml文件。
把
invoker
org.apache.catalina.servlets.InvokerServlet
debug
0
2
和
invoker
/servlet/*
这两个代码段的注释去掉,使其生效。
六、在iis中建立两个站点tomcat1和tomcat2。建立时注意主机头分别设成www.tomcat1.com和www.tomcat2.com。主目录分别设成d:\\tomcat1\\ROOT和d:\\tomcat2\\ROOT。两个站点分别建立名称为jakarta的ISAPI筛选器。可执行文件都指向d:\\Tomcat 5.0\\conf\\connector\\isapi_redirector2.dll。
两个站点分别新建虚拟目录别名都填:jakarta,目录选择指向:d:\\Tomcat 5.0\\bin\\win32\\i386在\"执行(例如ISAPI应用程序或CGI)\"一项打上勾,完成。
IIA筛选器
再进行筛选器的选择时,选用jakarta可执行文件为d:\\Tomcat 5.0\\bin\\win32\\i386
建筛选器所需要的虚拟目录
选择需要加载Tomcat服务站点,右键选择新建,再选择虚拟目录。创建虚拟目录,别名为jakarta。注意这个名字是固定值,不要拼写错误!指定目录为isapi_redirector2.dll所在目录. 本例子中是 d:\\Tomcat 5.0\\bin\\win32\\i386
重启tomcat和iis。
在tomcat1和tomcat2文件夹下最好放一个index.htm和一个index.jsp文件.方便测试。
posted @
2006-04-27 11:35 gosyl 阅读(3747) |
评论 (3) |
编辑 收藏
以架设web server为例:
- 开启GateKeeper,在左面点击WWW Proxy Service,按鼠标右键,进入WWW Proxy Service的属性页,在General页中将Service端口设置发布Web所使用的端口,一般为80,这样Wingate开放了一个80端口的HTTP代理服务。
- 进入Bindings页,选择第一个选项即Allow Connections coming in on any internet connections。
- 重要的是在Non-Proxy Requests页,默认是选择了Reject Request,把它改为Pipe request through to predetermined。在下面Server和Port栏中,填局域网中内部提供Web服务的机器的IP地址和端口(比如192.168.0.10,80)。
这样,Wingate就将外部对80端口的HTTP请求转发到局域网中IP地址为192.168.0.10这台电脑的80端口去。只要192.168.0.80电脑的IIS正确设置了80端口的Web服务,就能被局域网外部访问到。
- 确定并保存。
|
posted @
2006-04-27 11:34 gosyl 阅读(738) |
评论 (0) |
编辑 收藏
为什么要安装linux:
1.不知何时开始对windows产生了反感
2.硬盘增加了80g
3.出于好奇
为什么选择fedora core5:
1.网上评论:大家说好才是真的好,而且比较适合我。
2.先入为主:身边有同学用过fedora core的linux。(不过是fc2的,里面的openoffice对中文支持不好。)
3.专家推荐:有个玩了linux3年的朋友向我推荐了fc,告诉我最新版的是fc5,得知里面还自带了eclipse。对于喜欢java的我来说,这是一大诱惑。
如何得到fedora core5 :
1.商店购买安装盘:浪费钱跟时间,需要亲自跑到商店去找,我估计我所在的城市没有买。
2.借朋友的安装盘:那个同学在另一个学校,坐车要10来分钟,麻烦。
3.上网下载:joakly在北京的公司可以免费上网,网速奇快无比。of course ,下载!
网上寻找fedora core5:
1.google 未果
2.verycd.com 未果
2.csdn.net -->wiki-->linux-->fedora 在这里我找到了官方bt下载网址http://torrent.fedoraproject.org/
安装 fedora core 5:
1.使用nero 6刻录了6张cd 。nero是很著名的刻录软件,易用,安全。
2.给linux划分了10G的空间。
3.如果是原来安装了windows一定要使用custom安装,如果选择了自动分区,你的硬盘数据就全毁了,曾经吃过这样的亏。汗。。。
4.安装过程中发现有好几张碟片被弄坏了,跑了商店又买了2张碟,重新刻录。亏
5.安装完后,发现机器既不能进入windows也不能进入linux,机器停在一个grub的提示符下面,却什么都不能输入。无语。。。
6.第一反应是linux把mbr破坏了,搞得系统不能启动了。赶紧上网查。通过一番努力,搞定了。下面记录了修复过程。
用grub引导多系统:
用fedora core 5的rescue盘启动系统,进入了一个有sh#提示符的界面。
1. 在sh#下面键入命令: chroot /mnt/sysimage ,进入/ 目录
2. 用cat 察看 /etc/fstab 文件:fstab文件中有一行显示如下:
LABEL=/boot /boot ext3 defaults 1 2
说明我的Linux系统/boot和/没有位于同一个分区
3.然后依次执行下面的语句 ,重新启动,搞定:
grub> root (hd1,0) // 我的linux是装在(hd1,0)上。
Filesystem type is ext2fs, partition type 0x83
grub> setup(hd0) // 把grub写入mbr
grub> kernel /vmlinuz-2.6.11-1.1369_FC5 ro root=/root //装载kernel
[Linux-bzImage, setup=0x1e00, size=0x18e473]
grub> initrd /grub initrd-2.6.11-1.1369_FC4.img
[Linux-initrd @ 0x2e1000, 0x10e685 bytes]
grub> boot
-------ps 现在的linux的易用性与windows越来越接近了。像我等菜鸟也开始用了,前途无量啊。。
posted @
2006-04-26 17:44 gosyl 阅读(812) |
评论 (0) |
编辑 收藏
[介绍]
gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步
1.预处理,生成.i的文件[预处理器cpp]
2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]
3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]
4.连接目标代码,生成可执行程序[链接器ld]
[参数详解]
-x language filename
设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根据约定C语言的后
缀名称是.c的,而C++的后缀名是.C或者.cpp,如果你很个性,决定你的C代码文件的后缀
名是.pig 哈哈,那你就要用这个参数,这个参数对他后面的文件名都起作用,除非到了
下一个参数的使用。
可以使用的参数吗有下面的这些
`c', `objective-c', `c-header', `c++', `cpp-output', `assembler', and `a
ssembler-with-cpp'.
看到英文,应该可以理解的。
例子用法:
gcc -x c hello.pig
-x none filename
关掉上一个选项,也就是让gcc根据文件名后缀,自动识别文件类型
例子用法:
gcc -x c hello.pig -x none hello2.c
-c
只激活预处理,编译,和汇编,也就是他只把程序做成obj文件
例子用法:
gcc -c hello.c
他将生成.o的obj文件
-S
只激活预处理和编译,就是指把文件编译成为汇编代码。
例子用法
gcc -S hello.c
他将生成.s的汇编代码,你可以用文本编辑器察看
-E
只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面.
例子用法:
gcc -E hello.c > pianoapan.txt
gcc -E hello.c | more
慢慢看吧,一个hello word 也要与处理成800行的代码
-o
制定目标名称,缺省的时候,gcc 编译出来的文件是a.out,很难听,如果你和我有同感
,改掉它,哈哈
例子用法
gcc -o hello.exe hello.c (哦,windows用习惯了)
gcc -o hello.asm -S hello.c
-pipe
使用管道代替编译中临时文件,在使用非gnu汇编工具的时候,可能有些问题
gcc -pipe -o hello.exe hello.c
-ansi
关闭gnu c中与ansi c不兼容的特性,激活ansi c的专有特性(包括禁止一些asm inl
ine typeof关键字,以及UNIX,vax等预处理宏,
-fno-asm
此选项实现ansi选项的功能的一部分,它禁止将asm,inline和typeof用作关键字。
-fno-strict-prototype
只对g++起作用,使用这个选项,g++将对不带参数的函数,都认为是没有显式的对参数
的个数和类型说明,而不是没有参数.
而gcc无论是否使用这个参数,都将对没有带参数的函数,认为城没有显式说明的类型
-fthis-is-varialble
就是向传统c++看齐,可以使用this当一般变量使用.
-fcond-mismatch
允许条件表达式的第二和第三参数类型不匹配,表达式的值将为void类型
-funsigned-char
-fno-signed-char
-fsigned-char
-fno-unsigned-char
这四个参数是对char类型进行设置,决定将char类型设置成unsigned char(前两个参
数)或者 signed char(后两个参数)
-include file
包含某个代码,简单来说,就是便以某个文件,需要另一个文件的时候,就可以用它设
定,功能就相当于在代码中使用#i nclude<filename>
例子用法:
gcc hello.c -include /root/pianopan.h
-imacros file
将file文件的宏,扩展到gcc/g++的输入文件,宏定义本身并不出现在输入文件中
-Dmacro
相当于C语言中的#define macro
-Dmacro=defn
相当于C语言中的#define macro=defn
-Umacro
相当于C语言中的#undef macro
-undef
取消对任何非标准宏的定义
-Idir
在你是用#i nclude"file"的时候,gcc/g++会先在当前目录查找你所制定的头文件,如
果没有找到,他回到缺省的头文件目录找,如果使用-I制定了目录,他
回先在你所制定的目录查找,然后再按常规的顺序去找.
对于#i nclude<file>,gcc/g++会到-I制定的目录查找,查找不到,然后将到系统的缺
省的头文件目录查找
-I-
就是取消前一个参数的功能,所以一般在-Idir之后使用
-idirafter dir
在-I的目录里面查找失败,讲到这个目录里面查找.
-iprefix prefix
-iwithprefix dir
一般一起使用,当-I的目录查找失败,会到prefix+dir下查找
-nostdinc
使编译器不再系统缺省的头文件目录里面找头文件,一般和-I联合使用,明确限定头
文件的位置
-nostdin C++
规定不在g++指定的标准路经中搜索,但仍在其他路径中搜索,.此选项在创libg++库
使用
-C
在预处理的时候,不删除注释信息,一般和-E使用,有时候分析程序,用这个很方便的
-M
生成文件关联的信息。包含目标文件所依赖的所有源代码你可以用gcc -M hello.c
来测试一下,很简单。
-MM
和上面的那个一样,但是它将忽略由#i nclude<file>造成的依赖关系。
-MD
和-M相同,但是输出将导入到.d的文件里面
-MMD
和-MM相同,但是输出将导入到.d的文件里面
-Wa,option
此选项传递option给汇编程序;如果option中间有逗号,就将option分成多个选项,然
后传递给会汇编程序
-Wl.option
此选项传递option给连接程序;如果option中间有逗号,就将option分成多个选项,然
后传递给会连接程序.
-llibrary
制定编译的时候使用的库
例子用法
gcc -lcurses hello.c
使用ncurses库编译程序
-Ldir
制定编译的时候,搜索库的路径。比如你自己的库,可以用它制定目录,不然
编译器将只在标准库的目录找。这个dir就是目录的名称。
-O0
-O1
-O2
-O3
编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-g
只是编译器,在编译的时候,产生调试信息。
-gstabs
此选项以stabs格式声称调试信息,但是不包括gdb调试信息.
-gstabs+
此选项以stabs格式声称调试信息,并且包含仅供gdb使用的额外调试信息.
-ggdb
此选项将尽可能的生成gdb的可以使用的调试信息.
-static
此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么
动态连接库,就可以运行.
-share
此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库.
-traditional
试图让编译器支持传统的C语言特性
[参考资料]
-Linux/UNIX高级编程
中科红旗软件技术有限公司编著.清华大学出版社出版
-Gcc man page
[ChangeLog]
-2002-08-10
ver 0.1 发布最初的文档
-2002-08-11
ver 0.11 修改文档格式
-2002-08-12
ver 0.12 加入了对静态库,动态库的参数
-2002-08-16
ver 0.16 增加了gcc编译的4个阶段的命令
运行 gcc/egcs
**********运行 gcc/egcs***********************
GCC 是 GNU 的 C 和 C++ 编译器。实际上,GCC 能够编译三种语言:C、C++ 和 O
bject C(C 语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++
源程序。
如果你有两个或少数几个 C 源文件,也可以方便地利用 GCC 编译、连接并生成可
执行文件。例如,假设你有两个源文件 main.c 和 factorial.c 两个源文件,现在要编
译生成一个计算阶乘的程序。
代码:
-----------------------
清单 factorial.c
-----------------------
int factorial (int n)
{
if (n <= 1)
return 1;
else
return factorial (n - 1) * n;
}
-----------------------
清单 main.c
-----------------------
#i nclude <stdio.h>
#i nclude <unistd.h>
int factorial (int n);
int main (int argc, char **argv)
{
int n;
if (argc < 2)
{
printf ("Usage: %s n\n", argv [0]);
return -1;
}
else
{
n = atoi (argv[1]);
printf ("Factorial of %d is %d.\n", n, factorial (n));
}
return 0;
}
-----------------------
利用如下的命令可编译生成可执行文件,并执行程序:
$ gcc -o factorial main.c factorial.c
$ ./factorial 5
Factorial of 5 is 120.
GCC 可同时用来编译 C 程序和 C++ 程序。一般来说,C 编译器通过源文件的后缀
名来判断是 C 程序还是 C++ 程序。在 Linux 中,C 源文件的后缀名为 .c,而 C++ 源
文件的后缀名为 .C 或 .cpp。但是,gcc 命令只能编译 C++ 源文件,而不能自动和 C
++ 程序使用的库连接。因此,通常使用 g++ 命令来完成 C++ 程序的编译和连接,该程
序会自动调用 gcc 实现编译。假设我们有一个如下的 C++ 源文件(hello.C):
#i nclude <iostream>
void main (void)
{
cout << "Hello, world!" << endl;
}
则可以如下调用 g++ 命令编译、连接并生成可执行文件:
$ g++ -o hello hello.C
$ ./hello
Hello, world!
**********************gcc/egcs 的主要选项*********
gcc 命令的常用选项
选项 解释
-ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色,
例如 asm 或 typeof 关键词。
-c 只编译并生成目标文件。
-DMACRO 以字符串“1”定义 MACRO 宏。
-DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。
-E 只运行 C 预编译器。
-g 生成调试信息。GNU 调试器可利用该信息。
-IDIRECTORY 指定额外的头文件搜索路径DIRECTORY。
-LDIRECTORY 指定额外的函数库搜索路径DIRECTORY。
-lLIBRARY 连接时搜索指定的函数库LIBRARY。
-m486 针对 486 进行代码优化。
-o FILE 生成指定的输出文件。用在生成可执行文件时。
-O0 不进行优化处理。
-O 或 -O1 优化生成代码。
-O2 进一步优化。
-O3 比 -O2 更进一步优化,包括 inline 函数。
-shared 生成共享目标文件。通常用在建立共享库时。
-static 禁止使用共享连接。
-UMACRO 取消对 MACRO 宏的定义。
-w 不生成任何警告信息。
-Wall 生成所有警告信息。
posted @
2006-04-25 09:28 gosyl 阅读(1341) |
评论 (0) |
编辑 收藏
学习java是个长期的过程。每次想学习某种java技术的时候,往往会牵扯出其它好几种技术,其它的好几种技术又牵扯出其它更多的技术。学到一半的时候觉得技术面太广,往往失去兴趣,导致所有技术都只学到一点皮毛。现在急需一个大型项目让自己深入应用这些东西。
发现自己还是没有找到一种很好的自学方式。。。
posted @
2006-04-24 16:50 gosyl 阅读(228) |
评论 (0) |
编辑 收藏
今天开幕式,忽然下起雨,运动员们在大雨里淋了半个多小时,开幕式才开动。我有幸代表运动员宣誓。小有一点紧张,不过还好没有出大纰漏。
后天就有一场比赛,照着热身赛的发挥,我对我们院的实力还是非常看好,应该进4强没有问题。对个人来说也是最后一届足球比赛了,以后再难的这样的机会了。好好踢,不要给自己留下遗憾。
posted @
2006-04-23 23:12 gosyl 阅读(215) |
评论 (0) |
编辑 收藏