一个老鸟的java学习心得

上传人:xiao****017 文档编号:13150909 上传时间:2020-06-05 格式:DOC 页数:78 大小:144.68KB
返回 下载 相关 举报
一个老鸟的java学习心得_第1页
第1页 / 共78页
一个老鸟的java学习心得_第2页
第2页 / 共78页
一个老鸟的java学习心得_第3页
第3页 / 共78页
点击查看更多>>
资源描述
一个老鸟的java学习心得目录第一篇:一个老司机的心得第二篇:一个老业务员的心得第三篇:java学习心得笔记第四篇:java学习心得第五篇:关于java学习的一点心得体会正文第一篇:一个老司机的心得一个老司机的心得1)当你在野外开车时,突然从路旁窜出一行人,这时候如果你躲避行人,你就会 车毁人亡,否则你就会将行人碾过。你怎么办?答:轧死他,你的命比他值钱2)在正常行使过程中,如果大家的车速假定都是50公里/小时,你的车速应该是多少?答:略大于50公里/小时,因为其它车辆超你的可能性小。3)如何躲避十字路口的pol.ice?答:过十字路口时先跟在一个比你大的车后,绿灯一亮,开车就跑。4)如何躲避电子眼(电子pol.ice)的监控?答:按照中国的交通法,十字路口红灯可以右转向,你闯红灯时要在靠右的慢行道或者逆道行使。5)你违章被pol.ice抓住了怎么办?答:如果你还没下车,先观察地形,把几个车门都从里面锁好,看能否跑掉。如果跑不掉,你就把执照给小pol.ice,千万别和他纠缠,然后找关系要出来。6)在野外遇到查车的怎么办?答:你要看见是提着冲锋枪查车的,你就老老实实下来接受检查。如果是pol.ice设卡查车乱罚款的,你先看看他们是什么车辆,能不能追上你,减速打右转向灯,假装要停车接受检查,骗过pol.ice后加油就跑,一般pol.ice不会追你。7)有人投诉你的车违章怎么办?答:死不认帐。8)遇见pol.ice拦你车搭乘车怎么办?答:别给他停。下次你违章被他抓住一样会被罚款,他不会和你交朋友的。9)遇见同方向行使的警车开道的车队怎么办?答:不要超,停车去解个手。10)遇见前面同方向有个大车(满载)不给你让路怎么办?答:紧跟其后,找准机会,超过它后你用车压住他的车,待上大坡时你减速,直到让他一挡起步。11)如果在十字路口你走眼误闯红灯过线了怎么办?答:紧急刹车,只要后轮不过线,电子眼不会拍摄。12)五座小车哪个位置最安全?答:驾驶员位。13)你把车交给无证人员驾驶,出了点小车祸怎么办(你在车上)?答:不管你有理无理,停车下来先和对方大吵大骂,迷惑对方,转移他的注意力,待交警来后你把执照交上去,多数情况对方不会注意,如果对方发现,你就死不认帐。14)公路限速60公里/小时,你高速行使时遇见紧急情况,紧急刹车后造成事故,刹车印痕很长,交警来处理时问你行使车速,你怎么回答?答:大约60公里/小时的速度行使,主要是刹车不太好,再加上驾驶技术欠佳。15)你在野外农村撞死了农民怎么办?答:如果农民确已死亡,你要快速搭乘其它车辆离开出事地点,向保险公司和交通部门报案,再派一个朋友去帮你处理后事。你千万不能去出事地点,农民家属会打死你的。你可以说你受到刺激,也去住院检查。16)你在野外农村撞死了农民的牲畜怎么办?答:只要汽车还能开,能跑多远就跑多远,因为一头猪的价格要XX多元,要是一头牛,没个万儿八千的下不来,因为农民会说他的牛是种牛,肚子里还有牛崽等等。17)你在野外汽车抛锚了,过路车又不给你停怎么办?答:去路边捡些石头块,横挡在路上,手里再拿出200元钱示意,会有人帮你的。18)如果你的车行使在野外没油了怎么办?答:拦一辆大车,从他的车里用管吸出几升油即可,70号油不要紧。不要拦小车,一般小车是不能抽油的。19)野外路上遇到有人搭车怎么办?答:最好不要带。你又不知他是干什么的,万一要是贩卖大烟的呢。20)连续下山,刹车片过热引起制动不灵怎么办?答:停下来,自然冷却。千万不要用水冷却。21)夏日连续上山爬坡,车温过高但你又不想停车,怎么办?答:把空调关掉,车窗打开,把暖气开到最大,风门也开到最大,几分钟车即可降温。22)普通野外三级公路,公路两边都有自行车和行人,如何高速行使?答:尽可能占用逆向道行使,因为同方向的自行车等看不见你。23)崎岖山路如何高速行使?答:拐弯要加油。(经验丰富者)24)如何在普通公路上超越比你性能优越的车?答:紧跟其后,在同方向车多的情况时退档加速超越,不过你要胆大车技好。25)什么情况下最好不要超车?答:对面来的车比你大,如果撞击你倒霉。26)夏天行使汽车要注意哪些?答:前轮胎气压不能大,防止高速爆胎。27)行车与时间的关系?答:晚上8-10点要注意地方牌照的公用小车,这时候他们可能刚喝完酒,横冲直撞。凌晨3-5点,要注意过境公路上的长途汽车,司机可能在打磕睡第二篇:一个老业务员的心得一个老业务员的心得体会业务是从市场上学出来的,不是从书里学出来的我收藏过一篇 一个老业务员的自白 的文章拿出来和大家分享下,希望对大家有所帮助:1、业务员和客户聊天的时候哪些话题不需要聊太多关于技术和理论的话题,需要的是今天的新闻呀、天气呀等话题。因此,业务员在日常的时候必须多读些有关经济、销售方面的书籍、杂志,尤其必须每天阅读报纸,了解国家、社会消息、新闻大事,这往往是最好的话题,这样我们在拜访客户时才不会被看成孤陋寡闻、见识浅薄。2、关于业务员晚上的四个小时。一个业务员的成就很大程度上取决于他晚上那四个小时是怎样过的。最差的业务员晚上就抱着个电视看,或者在抱怨,出去玩等。这样的业务员没出息。一般的业务员去找客户应酬,喝酒聊天。这样的业务员会有单,但我个人认为难有很高的成就。好一点的业务员晚上整理资料,分析客户,做好计划等。这样的业务是一个好业务,应该有前途。最好的业务员我认为是在做完好业务员的工作后还坚持看一个小时的书。我觉得这样的业务很有出息,以后有机会可以做老板。业务是从市场上学出来的,不是从书里学出来的我收藏过一篇 一个老业务员的自白 的文章拿出来和大家分享下,希望对大家有所帮助:3、关于业务员本身。很多人觉得,业务员最好身材高大,英俊潇洒。业务员一定要口才好,能说会道,嘴里能吐出油来才叫口才好。业务员一定要会抽烟,身上随时带着烟,逢人就派。业务员一定要会喝酒,白酒,啤酒千杯不倒。其实我感觉这些都不是重要的。就我个人而言,我身高不到160mm,刚开始跑业务时心里很自卑,说话都不流畅,更别说口才好了。我是从来不抽烟的,喝酒我最多一瓶啤酒,多点就醉了。可是勤能补拙,我刚跑业务时,在惠州,刚开始三个月,我拿几件衣服就到东莞的弟弟厂里一跑就是几天。一个工业区,一个工业区的跑。就这样,我走了三个月,客户也跑下了几个,可是皮鞋也烂了一双,人黑的像黑碳头一样。我现在自己开工厂了,我经常对业务员,头三个月过的是不是人的日子的,熬过后就可以了。所以业务的办公室在厂外。 关于找客户做业务刚进公司的头三个月是考验业务员能否成功的最关键的三个月,这三个月可以说是影响了业务员以后的业务工作的。这之中第一个面对的就是如何找到客户的问题,关于怎样寻找目标客户。一般来说新业务员进到一个新公司后,在熟悉到1个星期左右的产品知识就要自己找客户去拜访了。如果开始没有业务经理或者老板提供客户资源的话,可以通过以下方法去找客户。1、黄页,一般公司都有很多黄页的,如深圳黄页等。我们可以按照上面的分类等找到我 们的原始目标客户。现在深圳也有好多专业类的行业黄页,如家电黄页,玩具黄页等,业务员最好找到这样的黄页来收集第一手资料。这些黄页在一般大的图书馆都有。可以拿个本子去那里抄就可以了。2、浏览招聘广告,就象在深圳,深圳特区报每天都有大量的招聘广告,还有南方都市报每个星期一都有招聘广告,我们可以通过阅览的招聘广告来获得我们想要的客户。我们也可以去附近的招聘市场看看,一般的招聘市场会在门口贴出每天的招聘单位的名称和招聘工种我们也可以通过他招聘的工种来分析他是做什么的,这样就可以找到我们要的客户了。还有我们可以去一些大的工业区附近转转,现在几乎所有的厂都招工,也可以通过他们门口的招工广告找到的。我们也可以上网看招聘网站,如卓博招聘网等。从招聘广告中找的客户的好处是第一可以找到很多新的客户,因为有很多新的厂,他或者刚开,或者刚搬过来,如果我们第一个先找到他,那就是捷足先登了。还有,一般有能力大量招工的厂家生意都比较好,对以后业务做成功后的货款回收也相对有点信心。3、网络搜索。我们可以通过关键字去搜索,如在百度输入我们要找的客户的生产产品的名字,我们可以找到大把的客户。我们也可以通过专业的网站来找客户,如阿里巴巴,如慧聪等等。这样我们可以找到很多客户的名单了。而且还可以找到老板的手机号码和老板的姓名等。4、我们也要经常上街找客户,我们去逛商场,我一般会到家电商场去看看,他们都有包装的,或者有品牌和公司的名称,我们可以记录下来,回去上网找就可以了。我们可以通过商场的产品的销售来判断一个客户的经营情况来的。这从侧面也反映了他的一个经济实力。 5、但我个人认为最好的找客户的方法是通过交际网络的相互介绍来发展客户。以后做业务讲究资源共享的时代。例如你是做电线的,我是做插头的,他是做电阻的。我们同时做一个音响的客户。如果我们都可以资源共享,把好的客户都互相介绍,这样做进去一个客户就非常容易和省心。而且我们的客户因为大家互相看着,客户一有什么风吹草动.大家可以提防,风险不就低很多了吗。6、还有个最好的办法是客户介绍客户,这是成功率最高的。厉害的业务员在有了几个原始客户以后,就会认真服务好这几个客户,和他们做朋友。等到熟悉了,就开口让他们介绍同行或者朋友给你。这时候不要让他们给你名单就好了,名单那里都可以找到,最主要是要让他帮你打个电话。如果他帮你打了个推荐电话,好过你打100个电话。你以后就主要服务好他介绍的客户,然后也依次类推的让这个新客户介绍下去,那样你就可以很轻松的找到你的客户网络拉所以我们是有很多方法来找到我们想要的客户的,只要我们要用心。业务员的身上无论什么时候都要有三个东西在身上,除了冲凉的时候,这三个东西是:笔,小笔记本,名片。别人都说业务员有8个眼睛的,也是很有道理的,生活中处处留心,就可以找到很多商机。 关于打电话我们找到客户之后,第二个问题就是要想着怎样打电话约客户了。这里面也有一些细节的。注意一下就可以了。1、很多人打电话都会遇到这样的情况。客户还没有听完我们的介绍,就说不要不要,接着就啪的一生挂电话了。还有你说要去拜访他,他说没空,让你传真资料给他,或者把资料放到门卫室去。我们千万不要传真资料和放到保安室给他,没用的。遇到这样的情况我开始就很郁闷,后来我就这样想,可能采购小姐今天一上班就给老板骂了,不高兴所以才拒绝我,或者想可能采购小姐今天和男朋友吵架了,所以不理我。没关系,我下次再找你好了。我很多客户都是打了好多次电话才得到约见的,有时就是这么奇怪,采购小姐昨天还说不要,今天再打就可以让你带样品去见她了。所以生意的成功往往就是看你坚持不坚持了。 2、无论你的业务技巧多么熟练,我觉得打电话是还是要想一想将要讲的内容比较好,不要一拿起电话就聊。因为我们会聊着聊着就忘记了一些本来要讲的内容,往往刚挂掉电话又要打多一次。搞的大家都不好。对于刚做业务的朋友最好用纸写下来。这样会讲的比较有条理。 3、我觉得站着打电话比较好点。因为人站着的时候我感觉注意力比较集中,会比较认真,还有站着的时候中气十足,讲的话声音比较好听。大家不信试试看。无论你刚刚受了多大的气,打电话时最好带着微笑。这样气氛比较轻松,客户会感觉的到的。做业务本来就是受气的活,可是我们的客户没必要和你分担。4、我们不要等到有求于客户的时候才打电话给他们。我们在平时的时候要经常给他们打电话,聊聊天,问候问候也好。直到他一听到声音就知道是我为止。最好能让他惦记着你。做业务就像谈恋爱一样。我们不能约了一次会后就指望别人能嫁给你。采购是很健忘的,我们要不断的提醒他。 初拜访客户1、推销前的准备、计划工作,决不可疏忽轻视,有备而来才能胜券在握。准备好样品,目录书、笔和笔记本等。见客户之前先想想开场白、要问的问题、该说的话、以及可能的回答。平时对与公司产品有关的资料、说明书、广告等,均必须努力研讨、熟记,同时要收集竞争对手的广告、宣传资料、说明书等,加以研究、分析,以便做到“知己知彼”,如此才能真正知己知彼2、准时赴约迟到意味着:“我不尊重你的时间”。迟到是没有任何借口的,假使无法避免迟到的发生,你必须在约定时间之前打通电话过去道歉,我相信提前出门是避免迟到的唯一方法。3、服装不能造就完人,但是初次见面给的人印象,90产生于服装。礼节、仪表、谈吐、举止是人与人相处的好坏印象的来源,销售代表必须多在这方面下功夫。我不喜欢我的业务员穿着红色绿色的t衬衣等去见我的客户。我起码要求是衬衣。还有公文包一定是皮的。 4、我们不可能与拜访的每一位客户达成交易,他应当努力去拜访更多的客户来提高成交的百分比。在拜访客户时,我们应当信奉的一个原则是“即使跌倒也要抓一把沙”。意思是,销售代表不能空手而归,即使你拜访的哪个暂时没有需求,不能成交。也要想办法让他帮你介绍一位新客户。5、对客户而言。要经常留意客户喜欢的话题和他的爱好,他喜欢的就多跟他聊些。留意他的一举一动。你就可以投其所好拉。谈话的结果不重要,过程的气氛很重要。我们在和采购聊天的时候,往往很注意谈话的内容,老是说没话题。其实我们要注意到我们谈话的过程和气氛。如果我们哪天聊的很愉快,和融洽,我们的感情就会很亲近。在许多天后,我们往往回忘记了当时谈的是什么,只记得哪天我们聊得很好。其实采购也一样。价格我们会有报价单给他,品质我们有品质承认书给他,交期我们会盖章签名回传给他。所以我们只要和业务之外的事情就可以了,聊他感兴趣的问题最好。 如何维护客户1、业务员在做到应该钓鱼,不是洒网。跑业务时最有效和舒服的做法是用钓鱼法。就像我们刚开始追女孩子时,难道我们会同时追几个女孩子,然后在博他有一个成吗吗。我们往会看准一个,竭而不舍的追求她,直到成功吧。我自己是这样跑业务的。我会选准一个行业,比如我要做耳机行业,我会挑行业里的3个左右认认真真的去攻他,直到做进去为止,以后其他的就很好做了。这样等你在耳机行业里占到80%的份额。我们再转到别的行业,复制它。就像钓鱼一样,看准大的。一条一条的钓,很舒服。胆大,心细,脸皮厚。我们年轻的时候,追女孩子,大一点的告诉我们的经验就是:胆大,心细,脸皮厚。其实做业务就像追女孩子一样的。2、据估计,有80的业务之所以完成,是由于交情关系。现在竞争都很激烈,在同样质量,同样价格,同样服务等的情况下,你要竞争过对手,只有凭交情了,如果你比对手更用心的对待客户,和朋友结成朋友关系。这样谁还能抢走你的单?所以你把时间花在什么地方,你就得到什么。所以说交情是个宝。3、一定要热情,热情可以感染客户的。可能我们有很多业务员刚开始会非常热情,可是等到你做到一定的成绩就会变成老油条了,失去了往日的热情,有时候感觉反而单没那么好做了,你会以过分热情而失去某一笔交易,但会因热情不够而失去一百次交易。热情远比花言巧语更有感染力。4、一定要有个试用期。一个客户做下来,就像男女结婚一样。发现客户就像我们发现一个心仪的梦中情人。从打电话到下单就像开始送情书到订婚那么漫长。到真正结婚了,都还要度完蜜月才可以认认真真的过日子。所以我们和客户也要度度蜜月,我们不要一下子就做的很大。一见钟情而结婚的新鲜感过后很难维持的。我们都应该给点时间客户和我们。互相考察一下信用,服务等等。 关于成交1、很多业务员开始做业务的时候,往往冲劲很大,找到客户,送了样品,报了价就不知道怎么办了,往往前功尽弃。其实你应该不断的问他,你哪个单什么时候下呀(先假设已经成交),不断的问他,知道有结果为止。其实,采购就是等我们问他呢。会哭的孩子有奶吃。就像孩子不哭,我们怎么知道他饿了呢?所以我们要要求客户购买。然而,80的业务员都没有向客户提出成交要求。2、如果未能成交,销售代(好:.)表要立即与客户约好下一个见面日期,如果在你和客户面对面的时候,都不能约好下次见面的时间,以后要想与这位客户见面可就难上加难了。 3、我的感觉是,做业务要坚持追踪,追踪、再追踪,如果要完成一件业务工作需要与客户接触5至10次的话,那你不惜一切也要熬到那第10次倾听购买信号如果你很专心在听的话,当客户已决定要购买时,通常会给你暗示。倾听比说话更重要。做业务就是:以成交为目的而开展的一系列活动。虽然成交不等于一切,但没有成交就没有一切。 关于收款1、做业务不要爱面子。业务做下来了,到收款的时候,很多人会想,我跟采购那么熟,一天到晚去追他的款感觉不好意思。所以就很少追款或者追几次没追到就不追了。其实我们也是要拿到货款才有提成拿呀。欠债还钱,天经地义的,如果你给他欠的太多,你的生意还做不长久呢。我一般追款,不是求他安排,而是说。 *先生,你星期3安排货款给我,我哪天下午去拿。他有时会说哪天不行,那我就说,那就星期二罗,他往往就说星期三行了。 2、对自己而言,在做客户之前,应该细心的去了解客户的一切。比如他之前和谁做的业务,也就是你的竞争对手是谁,知道了这一点你就可以报价和做出对策。了解客户为什么会想和你做生意。如果是别人不肯供货给他,那我们就可以要求他做现金。他肯定会赖帐。如果是对手的原因,例如质量不好,价钱高,服务不好。你就可以作相应的对策去应付他。如果是你在某方面做的比对手好而令到他跟你做,那你以后就知道怎么做了。3、预防客户的拖款最好的办法是和客户成交之前的调查。我们要认真的考察客户的一切信息,包括他的员工工资水准,发工资准时否,厂房是自己的还是租的,老板是那里的。生产的东西是在中国卖还是外销。最好是要认识客户的一些老供应商,这样可以向他们了解客户的的信用情况。书嘛,多看看是有必要的,平时抽空去书店看看,书店关于业务方面的书很多第三篇:java学习心得笔记j2ee学习笔记 注:框架可以用菜单中的 “视图/文档结构图” 看到j2ee模式 value object(值对象)用于把数据从某个对象/层传递到其他对象/层的任意java对象。 通常不包含任何业务方法。 也许设计有公共属性,或者提供可以获取属性值的get方法。 jsp 1jsp的基础知识 _ |directive(指令) | |- scripting (脚本) jsp -| |_ action(动作) |_template data :除jsp语法外,jsp引擎不能解读的东西 1)在jsp中使用的directive(指令)主要有三个: a) page指令 b) include指令 c) taglib指令 在jsp的任何地方,以任何顺序,一个页面可以包含任意数量的page指令 2)scripting(脚本)包括三种类型 a) ; b) ; c) ; 3)action(动作) 标准的动作类型有: a); b); d) ; e) ; f) ; g) ; h) ; 1. 注释: ; ; 2. ; session可以不赋值,默认为true,如果session=”false”,则在jsp页面中,隐含的变量session就不能使用。 3. 请求控制器结构(request controller) 也被称之为jsp model 2 architecture 这种途径涉及到使用一个servlet或一个jsp作为一个应用程序或一组页面的入口点。 为创建可维护的jsp系统,request controller是最有用的方式之一。 不是jsp,而是java类才是放置控制逻辑的正确的地方。 请求控制器的命名模式为: xxxcontroller.jsp 请求控制器类的命名模式为: xxxrequestcontroller 2jsp中的javabean jsp三种bean的类型 1) 页面bean 2) 会话bean 3) 应用bean 大多数的系统会使用一个会话bean来保持状态,而对每一个页面使用一个页面bean 来对复杂的数据进行表示。 页面bean是一个模型,而jsp是一个视图。 3custom tag bean是信息的携带者, 而tag更适用于处理信息。 标记库包含一个标记库描述符(tld)和用于实现custom tag的java类 在翻译阶段,jsp容器将使用tld来验证页面中的所有的tag是否都被正确的使用。 标记处理程序只是一个简单的适配器,而真正的逻辑是在另一个类中实现的,标记处理程序只是提供了一个供其他的可复用的类的jsp接口 servlet 1servletconfig 一个servletconfig对象是servlet container在servlet initialization的时候传递给servlet的。 servletconfig包涵 servletcontext 和 一些 name/value pair (来自于deployment descriptor) servletcontext接口封装了web应用程序的上下文概念。 2会话跟踪 1) session 当一个client请求多个servlets时,一个session可以被多个servlet共享。 通常情况下,如果server detect到browser支持cookie,那么url就不会重写。 2) cookie 在java servlet中,如果你光cookie cookie = new cookie(name,value) 那么当用户退出browser时,cookie会被删除掉,而不会被存储在客户端的硬盘上。 如果要存储 cookie,需加一句cookie.setmaxage(200) cookie是跟某一个server相关的,运行在同一个server上的servlet共享一个cookie. 3) url rewriting 在使用url rewriting来维护session id的时候,每一次http请求都需要encodeurl() 典型的用在两个地方 1) out.print(“form action=” ”); out.print(response.encodeurl(“sessionexle”); out.print(“form action=” ”); out.print(“method = get;”); 2) out.print(“;url encoded ;”); 3singlethreadmodel 默认的,每一个servlet definition in a container只有一个servlet class的实例。 只有实现了singlethreadmodel,container才会让servlet有多个实例。 servlet specification上建议,不要使用synchronized,而使用singlethreadmodel。 singlethreadmodel(没有方法) 保证servlet在同一时刻只处理一个客户的请求。 singlethreadmodel是耗费资源的,特别是当有大量的请求发送给servlet时,singlethreadmodel的作用是使包容器以同步时钟的方式调用service方法。 这等同于在servlet的service()方法种使用synchronized. single thread model一般使用在需要响应一个heavy request的时候,比如是一个需要和数据库打交道的连接。 2. 在重载servlet地init( )方法后,一定要记得调用super.init( ); 3. the client通过发送一个blank line表示它已经结束request 而the server通过关闭the socket来表示response已结束了。 4. 一个http servlet可以送三种东西给client1) a single status code 2) any number of http headers 3) a response body 5. servlet之间信息共享的一个最简单的方法就是 system.getproperties().put(“key”,”value”); 6. post和get post:将form内各字段名称和内容放置在html header内传送给server get:?之后的查询字符串要使用urlencode,经过urlencode后,这个字符串不再带有空格,以后将在server上恢复所带有的空格。 get是web上最经常使用的一种请求方法,每个超链接都使用这种方法。 7. web.xml就是web applicatin 的deployment descriptor 作用有:组织各类元素 设置init param 设置安全性 8. request dispatcher用来把接收到的request forward processing到另一个servlet 要在一个response里包含另一个servlet的output时,也要用到request dispatcher. 9. servlet和jsp在同一个jvm中,可以通过serveltcontext的 setattribute( ) getattribute( ) removeattribute( ) 来共享对象 10. 利用request.getparameter( )得到的string存在字符集问题。 可以用strtitle = request.getparameter(“title”); strtitle = new string(strtitle.getbytes(“8859-1”),”gb2312”); 如果你希望得到更大得兼容性 string encoding = response.getcharacterencoding();/确定application server用什么编码来读取输入的。 strtitle = new string(strtitle.getbytes(encoding),”gb2312”); xml 1xml基础知识 1. 一个xml文档可以分成两个基本部分: 首部( header ) 内容( content ) 2. xml名字空间规范中指定: xml文档中的每一个元素都处在一个名字空间中;如果没有指定的名字空间,缺省的名字空间就是和该元素相关联的名字空间。 3. a document that is well-formed obeys all of the rules of xml documents (nested tags, etc.) if a well-formed document uses a document type definition (more on these in a minute), and it follows all the rules of the dtd, then it is also a valid document 4. a tag is the text between the ; an element is the start tag, the end tag,and everything (including other elements) in between 5. 标签( tags ) 实际上包含了“元素”( elements ) 和 “属性”( attributes )两部分。 用元素( elements )来描述有规律的数据。 用属性( attributes ) 来描述系统数据。 如果你有一些数据要提供给某个应用程序,该数据就可能要用到一个元素。 如果该数据用于分类,或者用于告知应用程序如何处理某部分数据,或者该数据从来没有直接对客户程序公开,那么它就可能成为一种属性。 6. cdata (读作:c data ) c是character的缩写。 7.org.xml.sax.reader org.xm.l.sax.xmlreader org.apche.xerces.parsers.saxparser 2webservice 21 webservice的基本概念 webservice是一种可以接收从internet或者intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。 这种技术允许网络上的所有系统进行交互。随着技术的发展,一个web服务可以包含额外的指定功能并且可以在多个b2b应用中协作通讯。 web服务可以理解请求中上下文的关系,并且在每一个特定的情况下产生动态的结果。这些服务会根据用户的身份,地点以及产生请求的原因来改变不同的处理,用以产生一个唯一的,定制的方案。这种协作机制对那些只对最终结果有兴趣的用户来说,是完全透明的。 uddi在用户能够调用web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件。所以,我们需要一种方法来发布我们的web服务。uddi (universal description, discovery, and integration) 是一个主要针对web服务供应商和使用者的新项目。uddi 项目中的成员可以通过uddi business registry (ubr) 来操作web服务的调用,ubr是一个全球性的服务。 web服务供应商可以在ubr中描述并且注册他们的服务。 用户可以在ubr中查找并定位那些他们需要的服务。uddi是一种根据描述文档来引导系统查找相应服务的机制。 uddi包含标准的“白皮书”类型的商业查询方式, “黄皮书”类型的局部查找,以及 “绿皮书”类型的服务类型查找。 uddi利用soap消息机制(标准的xml/http)来发布,编辑,浏览以及查找注册信息。它采用xml格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。 wsdl对于商业用户来说,要找到一个自己需要使用的服务,他必须知道如何来调用。 wsdl (web services description language) 规范是一个描述接口,语义以及web服务为了响应请求需要经常处理的工作的xml文档。这将使简单地服务方便,快速地被描述和记录。 以下是一个wsdl的样例:; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;my first service; ; ; ; ; ; 它包含了以下的关键信息:消息的描述和格式定义可以通过xml文档中的;和; 标记来传送。; 标记中表示了消息传送机制。 (e.g. request-only, request-response, response-only) 。 ; 标记指定了编码的规范 。 ; 标记中表示服务所处的位置 (url)。wsdl在uddi中总是作为一个接口描述文档。因为uddi是一个通用的用来注册wsdl规范的地方,uddi的规范并不限制任何类型或者格式描述文档。这些文档可能是一个wsdl文档,或者是一个正规的包含导向文档的web页面,也可能只是一个包含联系信息的电子邮件地址。 现在java提供了一个 java api for wsdl (jwsdl)规范。它提供了一套能快速处理wsdl文档的方法,并且不用直接对xml文档进行操作,它会比jaxp更方便,更快速。 soap当商业用户通过uddi找到你的wsdl描述文档后,他通过可以simple object access protocol (soap) 调用你建立的web服务中的一个或多个操作。 soap是xml文档形式的调用商业方法的规范,它可以支持不同的底层接口,象http(s)或者smtp。 之所以使用xml是因为它的独立于编程语言,良好的可扩展性以及强大的工业支持。之所以使用http是因为几乎所有的网络系统都可以用这种协议来通信,由于它是一种简单协议,所以可以与任何系统结合,还有一个原因就是它可以利用80端口来穿越过防火墙。 soap的强大是因为它简单。soap是一种轻量级的,非常容易理解的技术,并且很容易实现。它有工业支持,可以从各主要的电子商务平台供应商那里获得。 从技术角度来看,soap详细指明了如何响应不同的请求以及如何对参数编码。一个soap封装了可选的头信息和正文,并且通常使用http post方法来传送到一个http 服务器,当然其他方法也是可以的,例如smtp。soap同时支持消息传送和远程过程调用。以下是一个soap请求。 post /stocke http/1.1 host: .stockeserver. content-type: text/xml; charset=utf-8 content-length: nnnnsoapaction: some-urisoap-env:envelope xmlns:soap-env=http:/schemas.xmlsoap.org/soap/envelope/关。 以下是你应该回避使用的一些java特色,并且在你的ejb组件的实现代码中要严格限 制它们的使用: 1.使用static,非final 字段。建议你在ejb组件中把所有的static字段都声明为final型的。这样可以保证前后一致的运行期语义,使得ejb容器有可以在多个java虚拟机之间分发组件实例的灵活性。 2.使用线程同步原语来同步多个组件实例的运行。避免这个问题,你就可以使ejb容器灵活的在多个java虚拟机之间分发组件实例。 3.使用awt函数完成键盘的输入和显示输出。约束它的原因是服务器方的商业组件意味着提供商业功能而不包括用户界面和键盘的i/o功能。 4.使用文件访问/java.io 操作。ejb商业组件意味着使用资源管理器如jdbc来存储和检索数据而不是使用文件系统api。同时,部署工具提供了在部署描述器(descriptor)中存储环境实体,以至于ejb组件可以通过环境命名上下文用一种标准的方法进行环境实体查询。所以,使用文件系统的需求基本上是被排除了。 5.监听和接收socket连接,或者用socket进行多路发送。ejb组件并不意味着提供网络socket服务器功能,但是,这个体系结构使得ejb组件可以作为socket客户或是rmi客户并且可以和容器所管理的环境外面的代码进行通讯。 6.使用映象api查询ejb组件由于安全规则所不能访问的类。这个约束加强了java平台的安全性。 7.欲创建或获得一个类的加载器,设置或创建一个新的安全管理器,停止java虚拟机,改变输入、输出和出错流。这个约束加强了安全性同时保留了ejb容器管理运行环境的能力。 8.设置socket工厂被urls serversocket,socket和stream handler使用。避免这个特点,可以加强安全性同时保留了ejb容器管理运行环境的能力。 9.使用任何方法启动、停止和管理线程。这个约束消除了与ejb容器管理死锁、线程 和并发问题的责任相冲突的可能性。 通过限制使用1016几个特点,你的目标是堵上一个潜在的安全漏洞: 10.直接读写文件描述符。 11.为一段特定的代码获得安全策略信息。 12.加载原始的类库。 13.访问java一般角色所不能访问的包和类。 14.在包中定义一个类。 15.访问或修改安全配置对象(策略、安全、提供者、签名者和实体)。 16.使用java序列化特点中的细分类和对象替代。 17.传递this引用指针作为一个参数或者作为返回值返回this引用指针。你必须使用 sessioncontext或entitycontext中的getejbobject()的结果。 java2平台的安全策略 以上所列的特点事实上正是java编程语言和java2标准版中的标准的、强有力的特色。ejb容器允许从j2se中使用一些或全部的受限制的特色,尽管对于ejb组件是不可用的,但需通过j2se的安全机制来使用而不是通过直接使用j2se的api。 java2平台为ejb1.1规范中的ejb容器所制定的安全策略定义了安全许可集,这些许可在ejb组件的编程限制中出现。通过这个策略,定义了一些许可诸如:java.io.filepermission,java.net.netpermission,java.io.reflect.reflectpermission,java.lang.security.securitypermission,以便加强先前所列出的编程限制。 许多ejb容器没有加强这些限制,他们希望ejb组件开发者能遵守这些编程限制或者是带有冒险想法违背了这些限制。违背这些限制的ejb组件,比标准方法依赖过多或过少的安全许可,都将很少能在多个ejb容器间移植。另外,代码中都将隐藏着一些不确定的、难以预测的问题。所有这些都足以使ejb组件开发者应该知道这些编程限制,同时也应该认真地遵守它们。 任何违背了这些编程限制的ejb组件的实现代码在编译时都不能检查出来,因为这些特点都是java语言和j2se中不可缺少的部分。 对于ejb组件的这些限制同样适用于ejb组件所使用的帮助/访问(helper/access)类,j2ee应用程序使用java文档(jar)文件格式打包到一个带.ear(代表enterprise archive)扩展名的文件中,这个ear文件对于发送给文件部署器来说是标准的格式。ear文件中包括在一个或多个ejbjar文件中的ejb组件,还可能有ejbjar所依赖的库文件。所有ear文件中的代码都是经过深思熟虑开发的应用程序并且都遵守编程限制和访问许可集。 未来版本的规范可能会指定通过部署工具来定制安全许可的能力,通过这种方法指定了一个合法的组件应授予的许可权限,也指定了一个标准方法的需求:如从文件系统中读文件应有哪些要求。一些ejb容器/服务器目前在它们的部署工具中都提供了比标准权限或多或少的许可权限,这些并不是ejb1.1规范中所需要的。 理解这些约束 ejb容器是ejb组件生存和执行的运行期环境,ejb容器为ejb组件实例提供了一些服务如:事务管理、安全持久化、资源访问、客户端连接。ejb容器也负责ejb组件实例整个生命期的管理、扩展问题以及并发处理。所以,ejb组件就这样寄居在一个被管理的执行环境中即ejb容器。 因为ejb容器完全负责ejb组件的生命期、并发处理、资源访问、安全等等,所以与容器本身的锁定和并发管理相冲突的可能性就需要消除,许多限制都需要使用来填上潜在的安全漏洞。除了与ejb容器责任与安全冲突的问题,ejb组件还意味着仅仅聚焦于商务逻辑,它依赖于ejb容器所提供的服务而不是自己来直接解决底层的系统层的问题。可能的问题 通常,ejb组件在容器之间的移植不可避免地与如下问题相关: 1.它需要依靠的受限制的特点在特定ejb容器中没有得到加强。 2.它需要依靠的非标准的服务从容器中可获得。 为了保证ejb组件的可移植性和一致的行为,你应该使用一个具有与java2平台安全 策略集相一致的策略集的容器来测试ejb组件,并且其加强了前述的编程限制。 总结 ejb组件开发者应该知道这些推荐的关于ejb组件的编程限制,明白它们的重要性,并且从组件的稳定性和可移植性利益方面考虑来遵循它们。因为这些编程限制能阻止你使用标准的java语言的特点,违背了这些编程限制在编译时不会知道,并且加强这些限制也不是ejb容器的责任。所有这些原因都使你应很小心地遵守这些编程限制,这些限制在组件的合同中已经成为了一个条款,并且它们对于建造可靠的、可移植的组件是非常重要的。 2. 优化ejb entity bean为在应用程序和设计中描述持久化商业对象(persistent business objec ts)提供了一个清晰的模型。在java对象模型中,简单对象通常都是以一种简单的方式进行处理但是,很多商业对象所需要的事务化的持久性管理没有得到实现。entity bean将持久化机制封装在容器提供的服务里,并且隐藏了所有的复杂性。entity bean允许应用程序操纵他们就像处理一个一般的java对象应用。除了从调用代码中隐藏持久化的形式和机制外,entity bean还允许ejb容器对对象的持久化进行优化,保证数据存储具有开放性,灵活性,以及可部署性。在一些基于ejb技术的项目中,广泛的使用oo技术导致了对entity bean的大量使用,sun的工程师们已经积累了很多使用entity bean的经验,这篇文章就详细阐述的这些卡发经验: *探索各种优化方法 *提供性能优化和提高适用性的法则和建议 *讨论如何避免一些教训。 法则1:只要可以,尽量使用cmpcmp方式不仅减少了编码的工作量,而且在container中以及container产生的数据库访问代码中包括了许多优化的可能。container可以访问内存缓冲中的bean,这就允许它可以监视缓冲中的任何变化。这样的话就在事物没有提交之前,如果缓存的数据没有变化就不用写到数据库中。就可以避免许多不必要的数据库写操作。另外一个优化是在调用find方法的时候。通常情况下find方法需要进行以下数据库操作: 查找数据库中的纪录并且获得主键 将纪录数据装入缓存 cmp允许将这两步操作优化为一步就可以搞定。具体怎么做我也没弄明白,原文没有具体阐述 法则2:写代码时尽量保证对bmp和cmp都支持 许多情况下,ejb的开发者可能无法控制他们写的bean怎么样被部署,以及使用的container是不是支持cmp. 一个有效的解决方案是,将商业逻辑的编码完全和持久化机制分离。再cmp类中实现商业逻辑,然后再编写一个bmp类,用该类继承cmp类。这样的话,所有的商业逻辑都在cmp类中,而持久化机制在bmp
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!