心的方向

新的征途......
posts - 75,comments - 19,trackbacks - 0

转自:http://topic.csdn.net/u/20070926/13/391568bc-d6ea-474a-880b-68005da5f09f.html

几乎每个企业都需要技术员的支持,生产制造型企业需要现场生产控制和工艺流程方面的技术人才;it等高科技行业需要大量软件研发和设备维护的硬件工程师;房地产、建筑工程领域需要建筑设计师、土木工程师和施工技术人员。此外,不论是国企、民营企业还是外资公司,都需要大量的基础技术工人。甚至很多在豪华写字楼office内工作的白领,从事的工作都是和技术相关的。  

      不过,一个严峻的现实是,大量的技术类人员对自己的职业定位和职业涯规划显得非常迷茫和困惑。中国有句古话:劳心者治人,劳力者治于人。与管理类岗位相比,技术人员往往被人看低一等,他们虽然从事着非常重要、繁琐的技术性工作,但更多的是扮演着幕后英雄的角色。在社会地位、经济收入方面与分光无限的各级管理层普遍存在差距,这一现实造就了技术人员的巨大心理落差。第二个造成职业规划困惑的因是部分技术性工作的局限性。拿it行业来说,由于技术和知识更新的速度太快,软件开放人员普遍被认为是吃“青春饭”的职位,谁学习的更快、谁的精力更旺盛、谁更能熬夜,谁就更有竞争力,因为这经验已经不再重要。如果超过35岁还从事软件开发的话,将很难在本职岗位取得突破。  

          那么,对于技术类人员来说,难道他们的职业发展前景真的如此黯淡?事实当然不会如此悲观,做技术工作同样有着非常广阔的空间,当然,关键一点你要令自己的视野更开阔些,从长远的角度来看待这个问题。根据我的经验,技术人员的职业方向可以有以下几个选择:  

方向一、成为项目经理  

对于很多从事技术方面工作的人员来说,发展成为项目经理是一个相当好的工作。项目管理工作既要扎实的技术背景支持,又涉及多方面的管理工作,最适合那些技术出身但又不甘于只做技术工作的人员。成为项目经理,一方面可以充分发挥技术人员的专业优势,同时又可在团队管理、协调各方资源、内外部沟通等工作中体验和发挥作为管理者的角色和作用,从而让自身价值更为充分的实现和得到认可。优秀的项目管理人才,也是今后很长时期内的一个热门职业方向。  

方向二、成为行业资深专家  

如果的确非常喜爱技术工作,而不擅长和喜欢与人沟通,则可以完全专注于自身的领域,以发展成为行业资深专家为方向和目标,当然,这一发展过程可能会比较漫长,任何一个领域的顶尖技术人才都需要长期的行业经验的累积和个人孜孜不倦的投入。不过这类人才的一个优势是越老越吃香,当别人随着年龄的逐步增长而开始担心饭碗问题时,你则渐入佳境,开始进入职业发展的黄金时期。  

方向三、成为研发经理或技术总监  

事实上,在某些行业和企业,技术研发人员的地位是非常高的。譬如在微软、诺基亚、华为等it产业,技术的支持和研发的速度,成为企业利润增长的最主要来源,在这些行业,技术研发部门就是企业的主战场。在不少国企和政府部门,也非常重视科技和技术工作,例如,我所知道的广州市市政园林局,就设有总工程师、副总工程师等技术职位,其中总工程师的职务级别相当于副局级,在这种氛围影响下,技术岗位人才和行政领导同样受人尊敬。所以,在一个尊重和重视技术工作的行业和企业中,发展成为研发经理、技术总监或总工程师都是一个很好的选择。  

方向四、做技术型销售和服务  

技术工作的领域其实非常广泛,如果感觉纯技术工作发展潜力不大,可以考虑转向做销售或技术支持方面。华为、中兴等通信技术公司的销售人员,很少是不具有专业技术背景的;甲骨文等软件巨头的市场推广,第一步常常是从销售工程师拜访客户开始的。这类高价值、高科技的产品销售推广,非常需要具有丰富技术经验的销售人员。  

技术人员转向售后服务,也是非常有前途的。我认识的一个朋友,大学是施工机械专业,毕业后一直在市政工程行业做非开挖顶管施工,在几年的工作中积累了丰富的地下顶进设备的应用和维修经验,一个合适的机会跳槽到著名的顶管设备生产商-德国海瑞克公司,成为其售后服务工程师,工作上得心应手,收入也有了数倍的增长。  

方向五、转向管理岗位  

总有一些人,虽然是理工科出身、从事着技术岗位工作,但他们似乎天生就是具有管理天赋的人。这些人会在工作中逐步展现出管理潜质和优秀的领导能力,他们往往更喜欢跟人打交道,更喜欢与外界沟通。在这种条件下,以技术经验为基础和依托,适当补充学习些管理方面的知识,例如可以在职攻读mba,假以时日,完全可以成长为出色的职业经理人。  


 

方向六、高级技术操作人员  

刚才所谈的职业发展方向,适用群体多为高校理工专业出身的人士,但对于数量众多的中等专科学校、技校毕业的一线技术工人来说,成为行业技术专家或研发总监的机会显然非常微小。这一群体的职业人士,最佳的技术发展路线是立足本职岗位,成为高级操作型技术人员。  

广州市2006年出台的各类岗位工资指导价格中,高级技师就业的工资比博士还要高出500元。出现这一现象的原因很简单,从全国层面来说,产业工人数量虽然巨大,但高级技工的比例却非常小,“高级技工”的缺乏已经成为制约许多企业发展的“瓶颈”。但随着政策环境、企业认识角度和培育机制方面的不断改善,这一现象将逐步得到改变,所以成为中高级技师将是一个非常有前途的职业发展方向。  

最后,我再次拿it行业为例来具体谈谈技术人员的职业轨迹。  

it(information   technology)行业的分类相当复杂,我这里仅仅分析最典型的三个部分:  

第一部分是软件开发,通俗来说就是编程。实际上我认为真正的软件开发人员和制鞋工厂中的工人处在一个地位,是企业产品的最终生产者(当然这里没有贬义)。  

第二个部分是mis:management   information   service/   system(管理信息系统),主要负责基础it建设、网络、通讯、软硬件支持、简单开发等职能,为公司其他部门提供it基础服务。  

第三部分是erp:enterprise   resource   planning(企业资源计划系统),主要涉及企业管理类软件施、维护、管理。通过是引入信息化手段在企业现实的实现企业的资源管理,协调企业各方面的生产运作,它对业务的规范和企业的管理机制有很大的依赖。  

让我们来分别看看这三部分人员的职业发展空间:  

1.开发人员  

我的观点是,在中小企业做纯粹的软件开发很可能走上一条不归路,长期从事开发的人一般处世能力不足,升任管理人员的机会不大。而还有一个更重要的问题是中国目前开发行业的环境很不好,正如我之前谈到的基本是在吃青春饭,30往后就很难做下去了。而在美国40岁的开发人员是正吃香的年龄。虽然可能业务越来越精,但可能会离it越来越远,向纯蓝领工人发展。  

如果真的要做开发,应该找一个更好的平台,最好是进入跨国企业或国内龙头企业。如果数据方面的技术很强,可以考虑转向互联网搜索方向;如果在电子和通信设备方面有优势,可以从简单的程序开发转向通信产品的开发。  

2.mis人员  

mis内容广泛,可从事的职业很多:网管、技术支持等,而且通过努力可以得到提升成为小小的主管(当然要有自身的素质),进而成为mismanager,但做到mismanager基本也就到头了,不过倒是可以考虑转到不同的行业或企业做mis。  

同样是做it服务,在不同公司内it部门的地位还是非常巨大的。就我所了解的,雅芳(中国)公司的it部门就有100多人,在公司总部的各职能部门中的地位相当高;而南方航空公司的it部门竟然达到800多人,这个规模已经远远超过一般的it公司,其it部门的总裁也是公司决策层的重要成员。所以,在这些公司内做it技术支持工作,既避免了纯编程式的软件开发人员遇到的“人老珠黄”的被动局面,也不必担心it产业泡沫破灭而产生的生存危机。  

3.erp类人员  

从事企业管理类软件的人员一般起点比较高(公司的起点就比较高),要求对财务、生产、销售等流程都有清楚地认识,从业人员不一定为it出身,而有可能是财务人员或理工科人员等转行而来。it的迅速发展和企业经营领域的不断拓展,为erp的推广和发展创造了良好的发展空间。事实上,一个从事企业管理类软件的技术人员完全可以胜任一个企业的管理者,在这一领域技术人员的前景可以说是非常广阔的。  

我认识的一位朋友,本科读的是工业装备控制专业,毕业后一直从事erp方面的应用推广和管理咨询,虽然他对纯粹的it技术了解并不是特别深刻,但在erp系统在企业中的应用方面经验非常丰富,在别人眼中他更像是一名管理咨询师,五年下来已经是这一领域的专家级人物,在个人收方面也非常可观。(x227)  

posted @ 2008-01-23 13:00 阿伟 阅读(221) | 评论 (0)编辑 收藏
转自:http://blog.csdn.net/jcc3120/archive/2007/12/26/1968677.aspx

本文列出了当今计算机软件开发和应用领域最重要十种关键技术排名,如果你想保证你现在以及未来的几年不失业,那么你最好跟上这些技术的发展。虽然你不必对这十种技术样样精通,但至少应该对它们非常熟悉。

  一、XML

  在十种技术中,最重要的一种技术我想应该非XML莫属。这里不仅仅指XML规范本身,还包括一系列有关的基于XML的语言:主要有XHTML,XSLT,XSL,DTDs,XML Schema(XSD),XPath,XQuery和SOAP.如果你现在还对XML一无所知,那么赶快狂补吧。XML是包含类似于HTML标签的一个文本文件,在这个文件中定义了一个树型结构来描述它所保存的数据

  XML最大的优点是你既可以在这个文本文件中存储结构化数据,也可以在其中存储非结构化数据——也就是说,它能包含和描述"粗糙的"文档数据,就象它描述"规则的"表格数据一样。

  XHTML是目前编写HTML的首选方法;因为XHTML本身就是格式良好的XML,与通常畸形的HTML文档相比, XHTML格式文档更容易处理。

  XSLT和XSL是对XML文档进行转换的语言。它们可以将XML文档转换成各种格式,比如另一个文本文件、PDF文件、HTML文件、逗号分割的文件,或者转换成其它的XML文档。

  DTDs 和XML Schema用来描述XML文件所包含的数据内容的类型,使你不用编写定制的代码就能对XML文档的内容进行"有效性"检查,使内容强行遵守给出的规则。

  XPath 和 XQuery是查询语言,用它们可以从XML文档中吸取单个的数据项或者数据项列表。XQuery的功能特别强大,因为它对XPath查询进行了扩展。实际上,XQuery和XML的关系就像SQL之于关系数据库一样。

  SOAP是Web services间进行通讯的标准协议。你不必知道SOAP协议的所有细节,但是你应该熟悉其常用规则及其工作原理,这样你才能使用它。

  二、Web Services

  Web服务是XML流行后的直接产物。因为XML可以描述数据和对象,XML大纲可以保证XML文档数据的有效性,因为XML的基于文本的规范,因而XML文档极其适合于作为一种跨平台通讯标准的基本格式。如果你还没有接触过Web服务,那么过不了多久你肯定会碰到它,所以必须熟练掌握Web服务,最好是精通它,因为它是迄今为止应用程序间跨不同种类机器、语言、平台和位置通讯的最简单的一种方式。不管你需不需要它,Web服务都会是将来互用性的主要趋势。

  XML工作组的John Bosak曾说过:"XML使得Java有事可做",那么,我们也可以说,Web服务使得所有语言都有事可做。Web服务让运行在大型机上的COBOL应用程序与运行在手持设备上的应用程序相互沟通;让Java小应用与。NET服务器相互通讯,让桌面应用与Web服务器进行无缝交互,不但为商业数据处理,同时也为商业功能提供了方便的实现——并且这种实现与语言、平台、和位置无关。

  三、面向对象编程

  许多程序员仍然认为OOP乃技术的象牙之塔,但是细细想一下过去十年里在面向对象领域里占据过统治地位的开发语言之后,你就不会这么认为了,OOP理念从Smalltalk开始,然后蔓延到C++和Pascal(Delphi),到Java成为真正的主流,几年之后,VB.NET 和 C#的出现可以说是OOP发展到了登峰造极的地步。虽然使用这些语言不必了解OOP的概念,但如果你缺乏一些OOP的基本知识和方法,我想你很难在逐渐疲软的就业市场中找到工作。

 四、Java, C++, C#, VB.NET

  如果你热衷于技术,并且热爱编程,那么我想你应该轻松玩转这些高级语言,我说的玩转并不一定要你成为超级编程高手。而是能看懂用这些语言编写的代码即可。如果你还有精力用它们编码那就更好了。其实这种机会甚少。但是看代码的机会很多,学习编程的最有效的一种方式就是看源代码——浩如烟海的源代码中很多都不是用你所钟爱的开发语言编写的。

  在过去的几年里,各个语言功能的发展基本上都差不多。现在你完全可以用VB.NET来写Windows服务、Web应用或者命令行程序。即使你只用其中的一种语言写程序。我认为也完全有必要学习另外一种语言,使自己能阅读和理解它们现有的例子代码,并且能将一种语言编写的代码转换成你首选的编程语言代码。这里列出的四种语言可谓是一个强大的开发语言工具箱,如果你掌握了它们,毫无疑问你一定是一个众人仰慕的高手。这里我要声明一下:那就是我并没有要忽略和排除其它的高级语言,如:FORTRAN、COBOL、APL、ADA、Perl和Lisp等等,根据你所从事的领域不同,应该选择适合的语言和工具。

  五、JavaScript

  Java 和JavaScript两者的名字尽管很类似,但它们之间并没有什么关系。为什么一种脚本语言会如此重要,以至于将它列入十种关键技术之一呢?仔细想一下就知道了,目前所有主流的浏览器都使用JavaScript.如果你要编写Web应用程序,那么JavaScript不可或缺。此外,JavaScript还能作为一种服务器端的脚本语言,如将它嵌入在ASP、ASP.NET中,或者嵌入XSLT来扩展功能。目前JavaScript在Mozilla/Netscape中是激活基于XUL界面的首选语言,它派生出了ActionScript,成为Flash MX应用的编程语言。还有就是JavaScript极有可能成为未来新设备的脚本语言以及主流应用的宏语言。

  相比之下,VBScript虽然在微软的产品中得到很好的支持,但从长远来看,没有迹象表明它会有美好前途。微软自己都趋向于用JavaScript(或者用由JavaScript派生的JScript)来编写其客户端脚本代码。因此,如果你要选择脚本语言,非JavaScript莫属。

  六、Regular Expressions

  从所周知,关系数据库的查询使用SQL,搜索XML文档用XPath 和XQuery,而正则表达式则用来搜索纯文本。例如,你可以用一个命令来查找或删除HTML格式文件中的注释内容。大家都用过"IndexOf"、"InStr"以及"Like"这些内建在JavaScript或VB中的文本搜索函数,这些函数虽然很容易使用,但是它们的功能却无法与正则表达式同日而语——现在每一种主流的开发语言都提供对正则表达式的存取。尽管有人认为正则表达式本身的读写艰涩难懂,但毕竟它的功能强大,使用它的领域也越来越多。

  七、Design Patterns

  就像OOP通过创建和分类对象来简化编程一样,设计模式将普通的对象交互分类成指定的模型,这是一个从一般到具体的过程。OOP的成分使用得越多,设计模式就显得越有用武之地。所以你必须理解它们,跟上其总体理论的发展。

  八、Flash MX

  当你需要比HTML和CSS所能提供的更多的客户端图形和编程能力时,Flash是最佳选择。在Flash中编程比用Java小应用或者。NET代码来得快得多,也容易得多。

  在最新版本中(MX),Flash不仅可以画图和进行动画打包,它还是个高度的可编程应用环境。具备强大的与SOAP Web服务沟通的能力,可以调用运行在远端服务器上的ColdFusion、Java或。NET代码。可以说Flash几乎无处不在,包括手持设备、置顶盒、甚至是新的平板电脑,你到处都可以见到它的身影,所以使用它实际上可以扩展和延伸你的应用程序使用领域。

 九、Linux/Windows

  这是当今PCs机操作系统的两大阵容,如果你想在计算机行业里混,就一定要熟悉它们。对于Linux,最好能自己安装,配置,下载它的图形用户界面以及一些应用程序。自己安装Apache并会编写Web应用程序。要清醒地认识到这个世界除了Windows之外,还有Linux的存在。并且这种局面将会长期存在。反过来,如果你是一个死忠的Linux开发者,不要再继续对Windows的憎恶,要相互学习,取长补短,看看Windows有什么好的东东可以采纳。记住Windows仍然是桌面之王。

  谁也说不准你们公司什么时候会决定从Linux转向Windows,或者从Windows转向Linux.谁也说不准什么时候你会跳槽跑到另外一个使用不同平台的公司上班——或者即便不跳槽,也有可能在不同平台上开始另外一个杀手级项目——所以最好在每个平台上都积累一些经验,而不要在一棵树上吊死。

  十、SQL

  尽管SQL在当今众多的技术中已不是什么新东西,而且在未来的十年里它的作用很有可能被削弱,甚至整个被淘汰,但它仍然是一种基本技能——别看它是一种基本技能,至今仍有许多开发人员不懂什么是SQL或对它了解不多。不要指望基于图形用户界面的SQL构造器会帮你的忙,还是自己亲手写SQL查询吧,确定你掌握了SQL的基本语法。现在理解了SQL,不仅对以后学习XQuery有所裨益,而且可以使你很快找到简化或改进当前开发项目的途径。

  尾声:培养对技术的好奇心

  其实,不管技术的发展趋势如何,每个人最重要的一个技能是好奇心。敢于面对挑战,在你目前或未来的工作中,新语言或新技术可能很重要,也可能不怎么重要,你所学习的东西并不一定非要针对你的工作。不要怕失败,任何新的技术对初学者来说都是困难的。大多数的失败都可以归咎于本身急功近利,希望速成。俗话说——千里之行,始于足下,应该脚踏实地,一步一个脚印地往前走。不要让时间来左右你行动,而是要利用时间来关注、研究、测试新的开发技术和工具。

 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1968677

posted @ 2008-01-23 12:44 阿伟 阅读(195) | 评论 (0)编辑 收藏

今天MSN死活登录不上,最后在网上查了资料,发现比较常见的问题是系统日期不对造成的,我也检查了系统日期,就是没发现什么问题,知道最后才发现年份错了,刚进入2008年,还没反应过来,系统日期是2007,系统时间改完后就直接登录上去了,网上有很多不同问题的解决方法,保存下来,以备日后使用:

最有可能的原因: 系统时间错误

返回信息:80048820,总是说防火墙设置阻止MSN的连接。但在MSN的网络连接测试中都是成功。

解决方法:系统日期不对造成的!!!!,请你认真查看是否在你升级到MSN7.5以后,系统日期变成了2004年,如果是直接将系统日期改成现在的时间。

点击右下角系统时间设置为当前正确时间。OK!

2、原因不明:系统为MSN 7.5

解决方法:打开“Internet Explorer”,点击“工具”里的“Internet选项”,选“高级”,点击“还原默认设置”,再点击“应用”,最后“确定”,一切搞定,就这么简单


3、原因不明:

解决方法:当登陆MSN返回“重试”,“取消”和“帮助”三个选项时,先选择“帮助”,再选择“重试”,这样很快就登陆成功了。

这种方法是某网友WINDOWS 2000,ADSL上网,安装了FW。



4、80048820 错误

故障现象:80048820 错误,用MSN连接检测一下说端口有问题,检查时间是正确的

解决方法:把INTERNET 选项里的 检查服务器证书吊销状态的勾去掉就可以了。



谢谢,我的也是报的这样的错,用这个方法成功了

5、由于病毒防火墙引起

解决方法:如果用的是norton病毒防火墙,在Norton个人防火墙设置中,将程序列表中有MSN MESSAGE程序,左击中间下拉菜单,将其改为全部允许.


6、封包长度不对
故障现象:80048820


解决方法:MSN 7.5,adsl路由器,问题出在封包上,路由器的封包长度由1496调到1420后一切就OK 了

供参考:
登录路由器-〉网络参数-〉WAN口设置-〉在PPPoE高级设置里,把数据包MTU 1492改成1480。
此办法也可解决Foxmail无法发送附件和无法在网页邮件中粘贴附件的问题。

网友提供的其他一些解决方法:


可能存在以下情况:
- 您的 Microsoft .NET Passport 设置不正确。
- 防火墙设置阻止了 MSN Messenger。
- 安全设置阻止了 MSN Messenger。
- 您的时间日期设置可能不正确。
- 一个反病毒程序可能与MSN Messsenger相冲突。
- 您在使用不正确的密码或电子邮件地址尝试登录。

请按照所列顺序尝试以下解决方法:
1. 使用“连接问题疑难解答程序”解决问题。
a. 启动 MSN Messenger。
b. 在“工具”菜单上,单击“选项”。
c. 在“选项”对话框中,单击“连接”,然后在“连接设置”下单击“连接测试”。
注意:对于MSN Messenger 7.5,单击“连接”,然后在“连接问题疑难解答程序”在单击“开始”。
d. 按照“连接问题疑难解答程序”中的步骤进行操作。

2. 确认MSN Messenger是否被防火墙所阻止。请移至http://webmessenger.msn.com/ 登录Web Messenger。点击“启动MSN Web Messenger”确认您是否可以登录。如果可以,那么MSN Messenger有可能被防火墙所阻止。如果您的计算机运行的是第三方(非 Microsoft)软件或防火墙软件(例如,Zone Alarm,Norton网络安全专家,或McAfee),请确保该软件配置为允许 Messenger 运行,然后再次尝试登录 MSN Messenger。请移至http://messenger.msn.com/help/issues.aspx 参阅相关信息。

3. 通过执行下列操作调整 Internet Explorer 中的代理服务器设置:
a. 打开 Internet Explorer。
b. 在“工具”菜单上,单击“Internet 选项”。
c. 单击“连接”选项卡,然后单击“局域网设置”。
d. 清除“自动检测设置”复选框。
e. 单击“确定”,然后再次单击“确定”。

4. 请按如下步骤在MSN Messenger中清除代理服务器设置:

-MSN Messenger6.2
a. 开启MSN Messenger6.2
b. 在“工具”菜单上单击“选项”。
c. 在“选项”对话框中单击“连接”选项卡。清除“我使用代理服务器”设置。请不要选择此选项,除非网络管理员建议您这样做。
d. 连续按两次“确定”。

-MSN Messenger7.0
a. 开启MSN Messenger7.0
b. 单击“工具”菜单上的“选项”。
c. 在“选项”对话框左侧的主题列表中单击“连接”,然后单击“高级设置”。
d. 在SOCKS 4下删除内容
e. 在SOCKS 5下删除内容
f. 在HTTP代理服务器下删除内容
g. 连续按两次“确定”保存设置。

-MSN Messenger7.5
a. 开启MSN Messenger7.5
b. 单击“工具”菜单上的“选项”。
c. 单击“连接”,然后点击“高级设置”
d. 在SOCKS 下删除内容
e. 连续按两次“确定”保存设置。

5. 调整 Microsoft Internet Explorer 安全设置:
a. 启动 Internet Explorer。
b. 在“工具”菜单上,单击“Internet 选项”,然后单击“高级”选项卡。
c. 在“安全”部分,确保选中了以下所有复选框:
- 检查服务器证书吊销
- 使用 SSL 2.0
- 使用 SSL 3.0
d. 单击“确定”关闭窗口。
e. 注册 SSL 安全库。要执行此操作,请单击“开始”,单击“运行”,然后按照适用于您的操作系统的步骤进行操作。

注意 在成功执行每个命令后,您都会收到“DllRegisterServer succeeded.”消息。请在收到此消息后再执行下一条命令。

- Microsoft Windows XP 和 Microsoft Windows 2000:
i. 键入 %windir%\system32\REGSVR32 softpub.dll,然后按 ENTER 键。
ii. 键入 %windir%\system32\REGSVR32 wintrust.dll,然后按 ENTER 键。
iii. 键入 %windir%\system32\REGSVR32 initpki.dll,然后按 ENTER 键。

- Microsoft Windows Millennium Edition (Me) 和 Microsoft Windows 98:
i. 键入 %windir%\system\REGSVR32 softpub.dll,然后按 ENTER 键。
ii. 键入 %windir%\system\REGSVR32 wintrust.dll,然后按 ENTER 键。
iii. 键入 %windir%\system\REGSVR32 initpki.dll,然后按 ENTER 键。

f. 如果您使用的是 Windows XP,请清除安全套接字层 (SSL) 状态和自动完成历史记录:
i. 启动 Internet Explorer。
ii. 在“工具”菜单上,单击“Internet 选项”,然后单击“内容”选项卡。
iii. 在“证书”下,单击“清除 SSL 状态”。
iv. 收到报告 SSL 缓存成功清除的消息后单击“确定”。

6. 双击屏幕右下角的时区验证您的计算机的日期和时间设置正确无误。

7. 请再次尝试登录MSN Messenger

8. 如果您正在运行反病毒程序,请先关闭,看是否能登录MSN Messenger。如果可以,请联系您的软件制造厂商或查看相关文件如何配置解决此冲突。

9. 如果您收到“无效的用户名或密码”或“81000303”错误信息,请确保您使用的是正确的用户名和密码。确认您可以使用此帐户登录任何站点,请移至http://www.passport.com 点击“登录”,如果您可以成功登录,您会看见“登出”按钮。如果失败,请更改您的密码,您可以到http://memberservices.passport.net/default.srf/ 。 如果此方法有效,尝试再次登录MSN Messenger,请按如下步骤:

-MSN Messenger7.0或更早的版本
a. 在MSN Messenger主窗口的“文件”菜单中点击“登录”
b.输入电子邮件地址和密码
c.对于Microsoft Windows XP 和Microsoft Server2003,选择“自动登录”,然后按“确定”。
对于Microsoft Windows98,Microsoft Windows ME,和 Windows2000,选择“在这台电脑上保存我的用户名和密码”,然后按“确定”。

-MSN Messenger7.5
a. 在MSN Messenger 登录窗口,先清除“记住我的密码”复选框
b. 输入密码
c. 选择“记住我的密码”保存新的密码
d. 再选择“自动为我登录”

10. 如果您仍然无法登录MSN Messenger, .NET Messenger服务可能临时不可用。请等待几分钟后再尝试登录。或者移至visit http://messenger.msn.com/status.aspx 查看服务器状态。


再试试

在运行菜单中运行以下程序:
regsvr32 softpub.dll /s
regsvr32 wintrust.dll /s
regsvr32 initpki.dll /s
regsvr32 dssenh.dll /s
regsvr32 rsaenh.dll /s
regsvr32 gpkcsp.dll /s
regsvr32 sccbase.dll /s
regsvr32 slbcsp.dll /s
regsvr32 cryptdlg.dll /s

posted @ 2008-01-11 12:51 阿伟 阅读(2419) | 评论 (0)编辑 收藏
 

金融机构人民币存贷款基准利率调整表

单位:%

 

调整前利率

调整后利率

调整幅度

一、城乡居民和单位存款

 

 

 

 (一)活期存款

0.81

0.72

-0.09

 (二)整存整取定期存款

 

 

 

            三个月

2.88

3.33

0.45

            半 年

3.42

3.78

0.36

            一 年

3.87

4.14

0.27

            二 年

4.50

4.68

0.18

            三 年

5.22

5.40

0.18

            五 年

5.76

5.85

0.09

二、各项贷款

 

 

 

            六个月

6.48

6.57

0.09

            一 年

7.29

7.47

0.18

            一至三年

7.47

7.56

0.09

            三至五年

7.65

7.74

0.09

            五年以上

7.83

7.83

0.00

三、个人住房公积金贷款

 

 

 

五年以下(含五年)

4.77

4.77

0.00

五年以上

5.22

5.22

0.00

posted @ 2007-12-21 09:08 阿伟 阅读(1428) | 评论 (1)编辑 收藏

想了很久,还是想做点什么,不然我心里很难平静下来......

用这个标题时我一直还在犹豫是不是不太合适,或者用现在娱乐圈中的话叫有点“炒作”了,但我确实想不出更合适的了,我希望不要有人用它来借题发挥,这只是一个普普通通的河南人心里想说的话......

事情是这样的:最近开始找房子租了,毕业后在北京就找过一次房子,一直住了近3年,要不是房东突然把房子买掉了,我想她会一直租给我们,因为我们让房东很省心,她对我们也很放心。

今晚在网上看到了一条合适的信息,就打了过去,问了一下房子的大概的情况,想约个时间看看房子,就在这时,电话那边问了一个问题,他说你是那里人,我说我是河南的,他说你再找找别的吧,我不知道当时是什么心情,只觉得我的身体在颤抖,我想跟他再说点什么,但他直接挂掉了,我不是想争取租这个房子,而是想说点什么,对他说点什么......

我就这么呆呆的坐在那里,心里有点喘不过气来的感觉,也许我表现的过于夸张,但事实就是这样的,不知道有没有人理解这种心情,说实话我真的很难受,这样的事情我真的遇到过不止一次,其实之前我租房时也遭遇过这样的事情,后来合租的人想办法让我们租下了,当时虽然只是从合租人口里听到房东不愿把房子租给河南人,但我清楚的记得当时我心里也很不是滋味,后来跟房东见过几面后,房东对我们很放心,接下来的三年里,房子一直给我们租,而且几乎没涨过价,我很欣慰我能让自己身边的人认可自己,认可他们所认识的我这个河南人。还有一次就是在公交车上,我身后一个操着很不标准的普通话的女人在口口声声说她的一个河南同事,自己是多么的讨厌他,说自己一听到他那口河南话自己是多么的反感之类的,她反复的在说这些话,我真的被激怒了,我转过头恶狠狠的瞪着她说,河南人怎么了,我就是河南人......,其实我不是一个善于当面表达的人,我当时能说的就这么多了,即便是我心中有多少的道理可以跟她讲。

3年后的今天我遇到同样的事情,心同样的被刺痛,我呆呆的坐在那里.......

女友似乎看出了什么,要用自己电话给那人打过去,女朋友脾气有点急,我不想让她再打,我不愿让那人觉得我们像他想的那样,女友说我不会骂他,我没再阻止女友,结果那人接电话后可能也觉察到了,直接说房子租出去了就挂了。女友不再说什么了,但我实在无法让自己平静下来,我想发短信给他,但手机拿了半天却不知道要写什么,只知道自己有点发抖,最后我发了短信给那人:“你好,我是刚才打电话的那个河南人,说实话我现在心里很难平静,我想跟你说点什么写了半天却不知道要说什么,我很想骂你几句但我不会那样做,我只希望在自己的国家里不会再受这样的歧视,不会像中国人到了日本那样受歧视,这种心情......我只想告诉你不管是那里人,只要他堂堂正正,他就应该受到尊重,尊重知道吗......你让我心里很难受...... 打扰了”,我尽力克制自己的情绪,发完之后我对自己女友说,你知道我现在想做什么吗,我想在网上发帖子说这件事,然后我还要在租房网上发一篇求租帖,然后在标题上注明我是河南人,我女友说不用去想就知道帖子回复的是什么内容,无非就几类,一种会去骂那个人,另一种会说河南人确实在外名声不好,还有就是看看就算了。

确实是这样,以前不也看到过这样的帖子吗,有什么意义吗?

这时我手机收到了短信,我有点紧张,我怕那个人会恶狠狠的骂一句或者是说一些更难听的话,我看了他的回复:“不好意思,我可能是太极端了,今年我和河南人一起办过两件事他们对我的伤害太大了,但是我对你们不是歧视是防备心太强了,我希望你能尽自己所能让和你接触的人改变所有人对河南人的看法......,祝你好运!”

知道我当时看完短信的感受吗,我很欣慰,真的,甚至可以说有点高兴,我想不用我再多说什么大家应该知道原因,我很感谢这个陌生人的回复,我也很理解他说那句话的含义,我会尽力让自己身边的人改变自己对河南人的看法,至少我要让他们知道我这个河南人是一个好人,这是我能做到的。

这就是为什么我想了很久才发这篇帖子的,我不是为了在网上发牢骚,去抱怨什么,我也不希望有人回帖像我之前说的那样几类,我只希望看到这篇帖子的人,如果你是河南人,那么希望你能做一些事情,也许我们改变不了所有人,但至少我们能尽力把最好的印象留给我们身边的人,我不知道要有多长时间才不会再遇到像我这样的事情,但至少大家去做了就有希望。
如果你不是河南人,甚至是对河南人心存偏见的,我希望你不要太片面,也许您确实是遇到过一些很不开心的事情,
但我相信任何地方还是好人多的。

只有你尊重别人,别人才可能去尊重你,任何人都一样!

 

posted @ 2007-12-15 23:36 阿伟 阅读(244) | 评论 (1)编辑 收藏

打不开google.com的解决办法:打不开gmail.com也同样处理.

在C:\WINDOWS\system32\drivers\etc\hosts文件中添加一行:
64.233.171.99  www.google.com

然后重启就可以打开google.com了
如果还是打不开gmail中的邮件,则打开internet选项->高级,在安全下的“使用TLS 1.0"前面画勾,重启IE,就可以打开gmail了

转自:http://www.blogjava.net/redalart/archive/2006/06/06/50775.html


 

posted @ 2007-12-14 13:40 阿伟 阅读(1603) | 评论 (0)编辑 收藏
     摘要:   tomcat的数据库连接池的配置 环境: 1. 数据库:mysql 2. 数据库驱动程序:org.gjt.mm.mysql.Driver JNDI(Java Naming and Directory Interface)概述: Tomcat4(5)提供了一个与Java Enterprise Edition应用服务相兼容的JNDI--InitialContext实现实例。它...  阅读全文
posted @ 2007-12-06 10:16 阿伟 阅读(354) | 评论 (0)编辑 收藏

log4j的用法

一、前言:
     log4j 是一个开放源码项目,是广泛使用的以Java编写的日志记录包。由于log4j出色的表现,     当时在log4j完成时,log4j开发组织曾建议sun在jdk1.4中用log4j取代jdk1.4 的日志工具类,但当时jdk1.4已接近完成,所以sun拒绝使用log4j,当在java开发中实际使用最多的还是log4j,     人们遗忘了sun的日志工具类。     它的一个独有特性包括在类别中继承的概念。通过使用类别层次结构,这样就减少了日志记录输出量,并将日志记录的开销降到最低。
  
     它允许开发者控制以任意间隔输出哪些日志语句。通过使用外部配置文件,完全可以在运行时进行配置。几乎每个大的应用程序都包括其自己的日志记录或跟踪 API。经验表明日志记录是开发周期中的重要组成部分。同样,日志记录提供一些优点。首先,它可以提供运行应用程序的确切 上下文。一旦插入到代码中,生成日志记录输出就不需要人为干涉。其次,日志输出可以保存到永久媒体中以便以后研究。最后,除了在开发阶段中使用,十分丰富的日志记录包还可以用作审计工具。
    依照该规则,在 1996 年初,EU SEMPER(欧洲安全电子市场)项目就决定编写自己的跟踪 API。 在无数次改进、几次具体化和许多工作之后,该 API 已经演变成 log4j,一种流行的 Java 日志记录包。  这个包按 IBM 公共许可证分发,由开放源码权威机构认证。

    日志记录有其自己的缺点。它会降低应用程序的速度。如果太详细,它可能会使屏幕滚动变得看不见。  为了减低这些影响,log4j 被设计成快速且灵活的。由于应用程序很少将日志记录当作是主要功能,  log4j API 力争易于了解和使用。
     log4j,它可以控制以任意间隔输出哪些日志语句。

二、主要组件

1、根类别(在类别层次结构的顶部,即全局性的日志级别)
 
配置根Logger,其语法为:

log4j.rootLogger = [ level ] , appenderName, appenderName, ...

level 是日志记录的类别
appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。

类别level 为 OFF、FATAL、ERROR、WARN、INFO、DEBUG、log、ALL或自定义的优先级。
og4j常用的优先级FATAL>ERROR>WARN>INFO>DEBUG
配置根Logger,其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
如果为log4j.rootLogger=WARN,则意味着只有WARN,ERROR,FATAL被输出,DEBUG,INFO将被屏蔽掉。

举例:log4j.rootCategory=INFO,stdout,Runlog,Errorlog
根日志类别为INFO,DEBUG将被屏蔽,其他的将被输出。 stdout,Runlog,Errorlog分别为3个输出目的地。

 2、常用输出格式

 -X号:X信息输出时左对齐;
 %p:日志信息级别
 %d{}:日志信息产生时间
 %c:日志信息所在地(类名)
 %m:产生的日志具体信息
 %n:输出日志信息换行
 举例:
log4j.appender.stdout.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n
log4j.appender.Runlog.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n
log4j.appender.Errorlog.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n

3、布局
使用的输出布局,其中log4j提供4种布局:
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

举例:
输出格式为HTML表格
log4j.appender.stdout.layout=org.apache.log4j.HTMLLayout

输出格式为可以灵活地指定布局模式
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

输出格式为包含日志信息的级别和信息字符串
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout

输出格式为包含日志产生的时间、线程、类别等等信息
log4j.appender.stdout.layout=org.apache.log4j.TTCCLayout


4、目的地

配置日志信息输出目的地Appender,其语法为


log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
...
log4j.appender.appenderName.option = valueN
appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。

log4j支持的输出目的地:
org.apache.log4j.ConsoleAppender 控制台
org.apache.log4j.FileAppender 文件
org.apache.log4j.DailyRollingFileAppender 每天产生一个日志文件
org.apache.log4j.RollingFileAppender (文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方)
org.apache.log4j.net.SMTPAppender 邮件
org.apache.log4j.jdbc.JDBCAppender 数据库
其他如:GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等

举例:


输出到控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender(指定输出到控制台)
log4j.appender.Threshold=DEBUG(指定输出类别)
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout(指定输出布局)
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n(指定输出格式)

输出到文件

   log4j.appender.FILE=org.apache.log4j.FileAppender(指定输出到文件)
   log4j.appender.FILE.File=file.log(指定输出的路径及文件名)
   log4j.appender.FILE.Append=false
   log4j.appender.FILE.layout=org.apache.log4j.PatternLayout(指定输出的布局)
   log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n(指定输出的格式)

输出到文件(轮换"日志文件",当日志文件达到指定大小时,该文件就被关闭并备份,然后创建一个新的日志文件)

  log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender(指定输出到文件)
  log4j.appender.ROLLING_FILE.Threshold=ERROR(指定输出类别)
  log4j.appender.ROLLING_FILE.File=rolling.log(指定输出的路径及文件名)
  log4j.appender.ROLLING_FILE.Append=true
  log4j.appender.ROLLING_FILE.MaxFileSize=10KB(指定输出到文件的大小)
  log4j.appender.ROLLING_FILE.MaxBackupIndex=1
  log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout(指定采用输出布局)
  log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n(指定采用输出格式)

输出到Socket
 log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender(指定输出到Socket)
 log4j.appender.SOCKET.RemoteHost=localhost(远程主机)
 log4j.appender.SOCKET.Port=5001(远程主机端口)
 log4j.appender.SOCKET.LocationInfo=true
 log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout(布局)
 log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n(输出格式)

输出到邮件
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender(指定输出到邮件)
 log4j.appender.MAIL.Threshold=FATAL
 log4j.appender.MAIL.BufferSize=10
 log4j.appender.MAIL.From=chenyl@hollycrm.com(发件人)
 log4j.appender.MAIL.SMTPHost=mail.hollycrm.com(SMTP服务器)
 log4j.appender.MAIL.Subject=Log4J Message
 log4j.appender.MAIL.To=chenyl@hollycrm.com(收件人)
 log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout(布局)
 log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n(格式)

 

输出到数据库
 log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender(指定输出到数据库)
 log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test(指定数据库URL)
 log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver(指定数据库driver)
 log4j.appender.DATABASE.user=root(指定数据库用户)
 log4j.appender.DATABASE.password=root(指定数据库用户密码)
 log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')(组织SQL语句)
 log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout(布局)
 log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n(格式)

5、日志类别补充
有时我们需要对某个特定的部分指定有别于根类别的日志类别,可以指定某个包的优先级
如:
  log4j.category.com.neusoft.mbip.dm.util=ERROR ,其中com.neusoft.mbip.dm.util为我们需要特别指定日志类别的部分。
 
  或者可以指定输出文件的优先级
  log4j.appender.Errorlog.Threshold=ERROR
 
 
 三、 常用log4j配置 

常用log4j配置,一般可以采用两种方式,.properties和.xml,下面举两个简单的例子:

1、log4j.properties

### 设置org.zblog域对应的级别INFO,DEBUG,WARN,ERROR和输出地A1,A2 ##
log4j.category.org.zblog=ERROR,A1
log4j.category.org.zblog=INFO,A2

log4j.appender.A1=org.apache.log4j.ConsoleAppender
### 设置输出地A1,为ConsoleAppender(控制台) ##
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
### 设置A1的输出布局格式PatterLayout,(可以灵活地指定布局模式)##
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n
### 配置日志输出的格式##

log4j.appender.A2=org.apache.log4j.RollingFileAppender
### 设置输出地A2到文件(文件大小到达指定尺寸的时候产生一个新的文件)##
log4j.appender.A2.File=E:/study/log4j/zhuwei.html
### 文件位置##
log4j.appender.A2.MaxFileSize=500KB
### 文件大小##
log4j.appender.A2.MaxBackupIndex=1
log4j.appender.A2.layout=org.apache.log4j.HTMLLayout
##指定采用html方式输出

2、log4j.xml

<?xml version="1.0" encoding="GB2312" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<appender name="org.zblog.all" class="org.apache.log4j.RollingFileAppender">
<!-- 设置通道ID:org.zblog.all和输出方式:org.apache.log4j.RollingFileAppender -->
    <param name="File" value="E:/study/log4j/all.output.log" /><!-- 设置File参数:日志输出文件名 -->
    <param name="Append" value="false" /><!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%p (%c:%L)- %m%n" /><!-- 设置输出文件项目和格式 -->
    </layout>
</appender>

<appender name="org.zblog.zcw" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="E:/study/log4j/zhuwei.output.log" />
    <param name="Append" value="true" />
    <param name="MaxFileSize" value="10240" /> <!-- 设置文件大小 -->
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%p (%c:%L)- %m%n" />
    </layout>
</appender>

<logger name="zcw.log"> <!-- 设置域名限制,即zcw.log域及以下的日志均输出到下面对应的通道中 -->
    <level value="debug" /><!-- 设置级别 -->
    <appender-ref ref="org.zblog.zcw" /><!-- 与前面的通道id相对应 -->
</logger>

<root> <!-- 设置接收所有输出的通道 -->
    <appender-ref ref="org.zblog.all" /><!-- 与前面的通道id相对应 -->
</root>

</log4j:configuration>


3、配置文件加载方法:

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.xml.DOMConfigurator;

public class Log4jApp {
    public static void main(String[] args) {
        DOMConfigurator.configure("E:/study/log4j/log4j.xml");//加载.xml文件
        //PropertyConfigurator.configure("E:/study/log4j/log4j.properties");//加载.properties文件

        Logger log=Logger.getLogger("org.zblog.test");
        log.info("测试");
    }
}

4、项目使用log4j
在web应用中,可以将配置文件的加载放在一个单独的servlet中,并在web.xml中配置该servlet在应用启动时候加载。
对于在多人项目中,可以给每一个人设置一个输出通道,这样在每个人在构建Logger时,用自己的域名称,让调试信
息输出到自己的log文件中。

四、log4j配置举例(properties)

#log4j.rootLogger = [ level ] , appenderName, appenderName,
#类别level 为 OFF、FATAL、ERROR、WARN、INFO、DEBUG、log、ALL或自定义的优先级
#Log4j常用的优先级FATAL>ERROR>WARN>INFO>DEBUG

#stdout为控制台 ,Errorlog为错误记录日志 ,
log4j.rootCategory=INFO,stdout,Runlog,Errorlog


#输出的appender的格式为
#log4j.appender.appenderName = fully.qualified.name.of.appender.class
#log4j.appender.appenderName.option1 = value1
#log4j.appender.appenderName.option = valueN
#Log4j中appender支持的输出
#org.apache.log4j.ConsoleAppender 控制台
#org.apache.log4j.FileAppender 文件
#org.apache.log4j.DailyRollingFileAppender 每天产生一个日志文件
#org.apache.log4j.RollingFileAppender (文件大小到达指定尺寸的时候产生一个新的文件),
#org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方)
#org.apache.log4j.net.SMTPAppender 邮件
#org.apache.log4j.jdbc.JDBCAppender 数据库

#定义输出的形式
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.Runlog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.Errorlog=org.apache.log4j.DailyRollingFileAppender


#可以指定输出文件的优先级
log4j.appender.Errorlog.Threshold=ERROR

#指定输出的文件
log4j.appender.Runlog.File=D:\\UserInfoSyn\\WebRoot\\WEB-INF\\runlog\\runlog.log
log4j.appender.Errorlog.File=D:\\UserInfoSyn\\WebRoot\\WEB-INF\\errorlog\\errorlog.log


#Log4j的layout布局
#org.apache.log4j.HTMLLayout 以HTML表格形式布局
#org.apache.log4j.PatternLayout 可以灵活地指定布局模式
#org.apache.log4j.SimpleLayout  包含日志信息的级别和信息字符串
#org.apache.log4j.TTCCLayout    包含日志产生的时间、线程、类别等等信息

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.Runlog.layout=org.apache.log4j.PatternLayout
log4j.appender.Errorlog.layout=org.apache.log4j.PatternLayout

#输出格式,log4j javadoc org.apache.log4j.PatternLayout
#-X号:X信息输出时左对齐;
#%p:日志信息级别
# %d{}:日志信息产生时间
# %c:日志信息所在地(类名)
# %m:产生的日志具体信息
# %n:%n:输出日志信息换行
log4j.appender.stdout.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n
log4j.appender.Runlog.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n
log4j.appender.Errorlog.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n

#指定某个包的优先级
log4j.category.com.neusoft.mbip.dm.util=ERROR


#示例
###################
# Console Appender
###################
#log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
#log4j.appender.Threshold=DEBUG
#log4j.appender.CONSOLE.Target=System.out
#log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
#log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n


#####################
# File Appender
#####################
#log4j.appender.FILE=org.apache.log4j.FileAppender
#log4j.appender.FILE.File=file.log
#log4j.appender.FILE.Append=false
#log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
#log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
# Use this layout for LogFactor 5 analysis

########################
# Rolling File????? RollingFileAppender??????????????????
########################
#log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
#log4j.appender.ROLLING_FILE.Threshold=ERROR
# 文件位置
#log4j.appender.ROLLING_FILE.File=rolling.log
#log4j.appender.ROLLING_FILE.Append=true
#文件大小
#log4j.appender.ROLLING_FILE.MaxFileSize=10KB
#指定采用输出布局和输出格式
#log4j.appender.ROLLING_FILE.MaxBackupIndex=1
#log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
#log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

####################
# Socket Appender
####################
#log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender
#log4j.appender.SOCKET.RemoteHost=localhost
#log4j.appender.SOCKET.Port=5001
#log4j.appender.SOCKET.LocationInfo=true
# Set up for Log Facter 5
#log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout
#log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n

########################
# SMTP Appender
#######################
#log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
#log4j.appender.MAIL.Threshold=FATAL
#log4j.appender.MAIL.BufferSize=10
#log4j.appender.MAIL.From=chenyl@hollycrm.com
#log4j.appender.MAIL.SMTPHost=mail.hollycrm.com
#log4j.appender.MAIL.Subject=Log4J Message
#log4j.appender.MAIL.To=chenyl@hollycrm.com
#log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
#log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

########################
# JDBC Appender
#######################
#log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
#log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
#log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
#log4j.appender.DATABASE.user=root
#log4j.appender.DATABASE.password=
#log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')
#log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
#log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

########################
# Log Factor 5 Appender
########################
#log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender
#log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000

###################
#自定义Appender
###################
#log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender
#log4j.appender.im.host = mail.cybercorlin.net
#log4j.appender.im.username = username
#log4j.appender.im.password = password
#log4j.appender.im.recipient = corlin@cybercorlin.net
#log4j.appender.im.layout=org.apache.log4j.PatternLayout
#log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

 

posted @ 2007-12-06 09:54 阿伟 阅读(279) | 评论 (0)编辑 收藏

log4j配置文件基本含义说明
 
log4j.properties配置文件讲解如下:
# Set root logger level to DEBUG and its only appender to A1
#log4j中有五级logger
#FATAL 0
#ERROR 3
#WARN 4
#INFO 6
#DEBUG 7

配置根Logger,其语法为:
#log4j.rootLogger = [ level ] , appenderName, appenderName, …
log4j.rootLogger=INFO, A1 ,R
#这一句设置以为着所有的log都输出
#如果为log4j.rootLogger=WARN, 则意味着只有WARN,ERROR,FATAL
#被输出,DEBUG,INFO将被屏蔽掉.
# A1 is set to be a ConsoleAppender.
#log4j中Appender有几层如控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等
#ConsoleAppender输出到控制台
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 使用的输出布局,其中log4j提供4种布局. org.apache.log4j.HTMLLayout(以HTML表格形式布局)
#org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

log4j.appender.A1.layout=org.apache.log4j.PatternLayout
#灵活定义输出格式 具体查看log4j javadoc org.apache.log4j.PatternLayout
#d 时间 ....
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
#R 输出到文件 RollingFileAppender的扩展,可以提供一种日志的备份功能。
log4j.appender.R=org.apache.log4j.RollingFileAppender
#日志文件的名称
log4j.appender.R.File=log4j.log
#日志文件的大小
log4j.appender.R.MaxFileSize=100KB
# 保存一个备份文件
log4j.appender.R.MaxBackupIndex=1 log4j.appender.R.layout=org.apache.log4j.TTCCLayout
#log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n


配置根Logger,其语法为:

log4j.rootLogger = [ level ] , appenderName, appenderName, ...

level 是日志记录的优先级
appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。

配置日志信息输出目的地Appender,其语法为


log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
...
log4j.appender.appenderName.option = valueN

Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

配置日志信息的格式(布局),其语法为:


log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
log4j.appender.appenderName.layout.option1 = value1
....
log4j.appender.appenderName.layout.option = valueN

Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

posted @ 2007-11-30 10:07 阿伟 阅读(247) | 评论 (0)编辑 收藏
用客户端脚本在页面添加document的onkeydown事件,让页面在接受到回车事件后,进行Tab键的功能,即只要把event的keyCode由13变为9

 VBScript代码:

 <script language="vbscript">

 sub document_onkeydown

    if event.keyCode=13 then

      event.keyCode=9

   end if

 end sub

</script>

Javascript代码如下:

<script language="javascript" for="document" event="onkeydown">

<!--

  if(event.keyCode==13)

     event.keyCode=9;

-->

</script>

这样的处理方式,可以实现焦点往下移动,但对于按钮也起同样的作用,一般的客户在输入完资料以后,跳到按钮后,最好能直接按"回车"进行数据的提交.因此,对上面的方法要进行一下修改,应该对于"提交"按钮不进行焦点转移.而直接激活提交.

 

因此我对上面的代码进行了一个修改,即判断事件的"源",是否为提交按钮,代码如下:

<script language="javascript" for="document" event="onkeydown">

<!--

  if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event.srcElement.type!='textarea' && event.srcElement.type!='')

     event.keyCode=9;

-->

</script>

判断是否为button, 是因为在HTML上会有type="button"

判断是否为submit,是因为HTML上会有type="submit"

判断是否为reset,是因为HTML上的"重置"应该要被执行

判断是否为空,是因为对于HTML上的"<a>链接"也应该被执行,这种情况发生的情况不多,可以使用"tabindex=-1"的方式来取消链接获得焦点.

posted @ 2007-10-25 16:36 阿伟 阅读(618) | 评论 (0)编辑 收藏
仅列出标题
共8页: 上一页 1 2 3 4 5 6 7 8 下一页