一個(gè)老司機(jī)的心得
1)當(dāng)你在野外開車時(shí),突然從路旁竄出一行人,這時(shí)候如果你躲避行人,你就會(huì) 車毀人亡,否則你就會(huì)將行人碾過(guò)。你怎么辦?
答:軋死他,你的命比他值錢
2)在正常行使過(guò)程中,如果大家的車速假定都是50公里/小時(shí),你的車速應(yīng)該是多少?
答:略大于50公里/小時(shí),因?yàn)槠渌囕v超你的可能性小。
3)如何躲避十字路口的pol.ice?
答:過(guò)十字路口時(shí)先跟在一個(gè)比你大的車后,綠燈一亮,開車就跑。
4)如何躲避電子眼(電子pol.ice)的監(jiān)控?
答:按照中國(guó)的交通法,十字路口紅燈可以右轉(zhuǎn)向,你闖紅燈時(shí)要在靠右的慢行道或者逆道行使。
5)你違章被pol.ice抓住了怎么辦?
答:如果你還沒(méi)下車,先觀察地形,把幾個(gè)車門都從里面鎖好,看能否跑掉。如果跑不掉,你就把執(zhí)照給小pol.ice,千萬(wàn)別和他糾纏,然后找關(guān)系要出來(lái)。
6)在野外遇到查車的怎么辦?
答:你要看見是提著沖鋒槍查車的,你就老老實(shí)實(shí)下來(lái)接受檢查。如果是pol.ice設(shè)卡查車亂罰款的,你先看看他們是什么車輛,能不能追上你,減速打右轉(zhuǎn)向燈,假裝要停車接受檢查,騙過(guò)pol.ice后加油就跑,一般pol.ice不會(huì)追你。
7)有人投訴你的車違章怎么辦?
答:死不認(rèn)帳。
8)遇見pol.ice攔你車搭乘車怎么辦?
答:別給他停。下次你違章被他抓住一樣會(huì)被罰款,他不會(huì)和你交朋友的。
9)遇見同方向行使的警車開道的車隊(duì)怎么辦?
答:不要超,停車去解個(gè)手。
10)遇見前面同方向有個(gè)大車(滿載)不給你讓路怎么辦?
答:緊跟其后,找準(zhǔn)機(jī)會(huì),超過(guò)它后你用車壓住他的車,待上大坡時(shí)你減速,直到讓他一擋起步。
11)如果在十字路口你走眼誤闖紅燈過(guò)線了怎么辦?
答:緊急剎車,只要后輪不過(guò)線,電子眼不會(huì)拍攝。
12)五座小車哪個(gè)位置最安全?
答:駕駛員位。
13)你把車交給無(wú)證人員駕駛,出了點(diǎn)小車禍怎么辦(你在車上)?
答:不管你有理無(wú)理,停車下來(lái)先和對(duì)方大吵大罵,迷惑對(duì)方,轉(zhuǎn)移他的注意力,待交警來(lái)后你把執(zhí)照交上去,多數(shù)情況對(duì)方不會(huì)注意,如果對(duì)方發(fā)現(xiàn),你就死不認(rèn)帳。
14)公路限速60公里/小時(shí),你高速行使時(shí)遇見緊急情況,緊急剎車后造成事故,剎車印痕很長(zhǎng),交警來(lái)處理時(shí)問(wèn)你行使車速,你怎么回答?
答:大約60公里/小時(shí)的速度行使,主要是剎車不太好,再加上駕駛技術(shù)欠佳。
15)你在野外農(nóng)村撞死了農(nóng)民怎么辦?
答:如果農(nóng)民確已死亡,你要快速搭乘其它車輛離開出事地點(diǎn),向保險(xiǎn)公司和交通部門報(bào)案,再派一個(gè)朋友去幫你處理后事。你千萬(wàn)不能去出事地點(diǎn),農(nóng)民家屬會(huì)打死你的。你可以說(shuō)你受到刺激,也去住院檢查。
16)你在野外農(nóng)村撞死了農(nóng)民的牲畜怎么辦?
答:只要汽車還能開,能跑多遠(yuǎn)就跑多遠(yuǎn),因?yàn)橐活^豬的價(jià)格要201*多元,要是一頭牛,沒(méi)個(gè)萬(wàn)兒八千的下不來(lái),因?yàn)檗r(nóng)民會(huì)說(shuō)他的牛是種牛,肚子里還有牛崽等等。
17)你在野外汽車拋錨了,過(guò)路車又不給你停怎么辦?
答:去路邊撿些石頭塊,橫擋在路上,手里再拿出200元錢示意,會(huì)有人幫你的。
18)如果你的車行使在野外沒(méi)油了怎么辦?
答:攔一輛大車,從他的車?yán)镉霉芪鰩咨图纯桑?0號(hào)油不要緊。不要攔小車,一般小車是不能抽油的。
19)野外路上遇到有人搭車怎么辦?
答:最好不要帶。你又不知他是干什么的,萬(wàn)一要是販賣大煙的呢。
20)連續(xù)下山,剎車片過(guò)熱引起制動(dòng)不靈怎么辦?
答:停下來(lái),自然冷卻。千萬(wàn)不要用水冷卻。
21)夏日連續(xù)上山爬坡,車溫過(guò)高但你又不想停車,怎么辦?
答:把空調(diào)關(guān)掉,車窗打開,把暖氣開到最大,風(fēng)門也開到最大,幾分鐘車即可降溫。
22)普通野外三級(jí)公路,公路兩邊都有自行車和行人,如何高速行使?
答:盡可能占用逆向道行使,因?yàn)橥较虻淖孕熊嚨瓤床灰娔恪?/p>
23)崎嶇山路如何高速行使?
答:拐彎要加油。(經(jīng)驗(yàn)豐富者)
24)如何在普通公路上超越比你性能優(yōu)越的車?
答:緊跟其后,在同方向車多的情況時(shí)退檔加速超越,不過(guò)你要膽大車技好。
25)什么情況下最好不要超車?
答:對(duì)面來(lái)的車比你大,如果撞擊你倒霉。
26)夏天行使汽車要注意哪些?
答:前輪胎氣壓不能大,防止高速爆胎。
27)行車與時(shí)間的關(guān)系?
答:晚上8--10點(diǎn)要注意地方牌照的公用小車,這時(shí)候他們可能剛喝完酒,橫沖直撞。凌晨3--5點(diǎn),要注意過(guò)境公路上的長(zhǎng)途汽車,司機(jī)可能在打磕睡
第二篇:一個(gè)老業(yè)務(wù)員的心得一個(gè)老業(yè)務(wù)員的心得體會(huì)
業(yè)務(wù)是從市場(chǎng)上學(xué)出來(lái)的,不是從書里學(xué)出來(lái)的我收藏過(guò)一篇 一個(gè)老業(yè)務(wù)員的自白 的文章拿出來(lái)和大家分享下,希望對(duì)大家有所幫助:
1、業(yè)務(wù)員和客戶聊天的時(shí)候哪些話題不需要聊太多關(guān)于技術(shù)和理論的話題,需要的是今天的新聞呀、天氣呀等話題。因此,業(yè)務(wù)員在日常的時(shí)候必須多讀些有關(guān)經(jīng)濟(jì)、銷售方面的書籍、雜志,尤其必須每天閱讀報(bào)紙,了解國(guó)家、社會(huì)消息、新聞大事,這往往是最好的話題,這樣我們?cè)诎菰L客戶時(shí)才不會(huì)被看成孤陋寡聞、見識(shí)淺薄。
2、關(guān)于業(yè)務(wù)員晚上的四個(gè)小時(shí)。一個(gè)業(yè)務(wù)員的成就很大程度上取決于他晚上那四個(gè)小時(shí)是怎樣過(guò)的。最差的業(yè)務(wù)員晚上就抱著個(gè)電視看,或者在抱怨,出去玩等。這樣的業(yè)務(wù)員沒(méi)出息。一般的業(yè)務(wù)員去找客戶應(yīng)酬,喝酒聊天。這樣的業(yè)務(wù)員會(huì)有單,但我個(gè)人認(rèn)為難有很高的成就。好一點(diǎn)的業(yè)務(wù)員晚上整理資料,分析客戶,做好計(jì)劃等。這樣的業(yè)務(wù)是一個(gè)好業(yè)務(wù),應(yīng)該有前途。最好的業(yè)務(wù)員我認(rèn)為是在做完好業(yè)務(wù)員的工作后還堅(jiān)持看一個(gè)小時(shí)的書。我覺得這樣的業(yè)務(wù)很有出息,以后有機(jī)會(huì)可以做老板。
業(yè)務(wù)是從市場(chǎng)上學(xué)出來(lái)的,不是從書里學(xué)出來(lái)的我收藏過(guò)一篇 一個(gè)老業(yè)務(wù)員的自白 的文章拿出來(lái)和大家分享下,希望對(duì)大家有所幫助:
3、關(guān)于業(yè)務(wù)員本身。很多人覺得,業(yè)務(wù)員最好身材高大,英俊瀟灑。業(yè)務(wù)員一定要口才好,能說(shuō)會(huì)道,嘴里能吐出油來(lái)才叫口才好。業(yè)務(wù)員一定要會(huì)抽煙,身上隨時(shí)帶著煙,逢人就派。業(yè)務(wù)員一定要會(huì)喝酒,白酒,啤酒千杯不倒。其實(shí)我感覺這些都不是重要的。就我個(gè)人而言,我身高不到160mm,剛開始跑業(yè)務(wù)時(shí)心里很自卑,說(shuō)話都不流暢,更別說(shuō)口才好了。我是從來(lái)不抽煙的,喝酒我最多一瓶啤酒,多點(diǎn)就醉了。可是勤能補(bǔ)拙,我剛跑業(yè)務(wù)時(shí),在惠州,剛開始三個(gè)月,我拿幾件衣服就到東莞的弟弟廠里一跑就是幾天。一個(gè)工業(yè)區(qū),一個(gè)工業(yè)區(qū)的跑。就這樣,我走了三個(gè)月,客戶也跑下了幾個(gè),可是皮鞋也爛了一雙,人黑的像黑碳頭一樣。我現(xiàn)在自己開工廠了,我經(jīng)常對(duì)業(yè)務(wù)員,頭三個(gè)月過(guò)的是不是人的日子的,熬過(guò)后就可以了。所以業(yè)務(wù)的辦公室在廠外。 關(guān)于找客戶
做業(yè)務(wù)剛進(jìn)公司的頭三個(gè)月是考驗(yàn)業(yè)務(wù)員能否成功的最關(guān)鍵的三個(gè)月,這三個(gè)月可以說(shuō)是影響了業(yè)務(wù)員以后的業(yè)務(wù)工作的。這之中第一個(gè)面對(duì)的就是如何找到客戶的問(wèn)題,關(guān)于怎樣尋找目標(biāo)客戶。一般來(lái)說(shuō)新業(yè)務(wù)員進(jìn)到一個(gè)新公司后,在熟悉到1個(gè)星期左右的產(chǎn)品知識(shí)就要自己找客戶去拜訪了。如果開始沒(méi)有業(yè)務(wù)經(jīng)理或者老板提供客戶資源的話,可以通過(guò)以下方法去找客戶。
1、黃頁(yè),一般公司都有很多黃頁(yè)的,如《深圳黃頁(yè)》等。我們可以按照上面的分類等找到我 們的原始目標(biāo)客戶,F(xiàn)在深圳也有好多專業(yè)類的行業(yè)黃頁(yè),如家電黃頁(yè),玩具黃頁(yè)等,業(yè)務(wù)員最好找到這樣的黃頁(yè)來(lái)收集第一手資料。這些黃頁(yè)在一般大的圖書館都有?梢阅脗(gè)本子去那里抄就可以了。
2、瀏覽招聘廣告,就象在深圳,《深圳特區(qū)報(bào)》每天都有大量的招聘廣告,還有《南方都市報(bào)》每個(gè)星期一都有招聘廣告,我們可以通過(guò)閱覽的招聘廣告來(lái)獲得我們想要的客戶。我們也可以去附近的招聘市場(chǎng)看看,一般的招聘市場(chǎng)會(huì)在門口貼出每天的招聘單位的名稱和招聘工種我們也可以通過(guò)他招聘的工種來(lái)分析他是做什么的,這樣就可以找到我們要的客戶了。還有我們可以去一些大的工業(yè)區(qū)附近轉(zhuǎn)轉(zhuǎn),現(xiàn)在幾乎所有的廠都招工,也可以通過(guò)他們門口的招工廣告找到的。我們也可以上網(wǎng)看招聘網(wǎng)站,如卓博招聘網(wǎng)等。
從招聘廣告中找的客戶的好處是第一可以找到很多新的客戶,因?yàn)橛泻芏嘈碌膹S,他或者剛開,或者剛搬過(guò)來(lái),如果我們第一個(gè)先找到他,那就是捷足先登了。還有,一般有能力大量招工的廠家生意都比較好,對(duì)以后業(yè)務(wù)做成功后的貨款回收也相對(duì)有點(diǎn)信心。
3、網(wǎng)絡(luò)搜索。我們可以通過(guò)關(guān)鍵字去搜索,如在百度輸入我們要找的客戶的生產(chǎn)產(chǎn)品的名字,我們可以找到大把的客戶。我們也可以通過(guò)專業(yè)的網(wǎng)站來(lái)找客戶,如阿里巴巴,如慧聰?shù)鹊取_@樣我們可以找到很多客戶的名單了。而且還可以找到老板的手機(jī)號(hào)碼和老板的姓名等。
4、我們也要經(jīng)常上街找客戶,我們?nèi)ス渖虉?chǎng),我一般會(huì)到家電商場(chǎng)去看看,他們都有包裝的,或者有品牌和公司的名稱,我們可以記錄下來(lái),回去上網(wǎng)找就可以了。我們可以通過(guò)商場(chǎng)的產(chǎn)品的銷售來(lái)判斷一個(gè)客戶的經(jīng)營(yíng)情況來(lái)的。這從側(cè)面也反映了他的一個(gè)經(jīng)濟(jì)實(shí)力。 5、但我個(gè)人認(rèn)為最好的找客戶的方法是通過(guò)交際網(wǎng)絡(luò)的相互介紹來(lái)發(fā)展客戶。以后做業(yè)務(wù)講究資源共享的時(shí)代。例如你是做電線的,我是做插頭的,他是做電阻的。我們同時(shí)做一個(gè)音響的客戶。如果我們都可以資源共享,把好的客戶都互相介紹,這樣做進(jìn)去一個(gè)客戶就非常容易和省心。而且我們的客戶因?yàn)榇蠹一ハ嗫粗,客戶一有什么風(fēng)吹草動(dòng).大家可以提防,風(fēng)險(xiǎn)不就低很多了嗎。
6、還有個(gè)最好的辦法是客戶介紹客戶,這是成功率最高的。厲害的業(yè)務(wù)員在有了幾個(gè)原始客戶以后,就會(huì)認(rèn)真服務(wù)好這幾個(gè)客戶,和他們做朋友。等到熟悉了,就開口讓他們介紹同行或者朋友給你。這時(shí)候不要讓他們給你名單就好了,名單那里都可以找到,最主要是要讓他幫你打個(gè)電話。如果他幫你打了個(gè)推薦電話,好過(guò)你打100個(gè)電話。你以后就主要服務(wù)好他介紹的客戶,然后也依次類推的讓這個(gè)新客戶介紹下去,那樣你就可以很輕松的找到你的客戶網(wǎng)絡(luò)拉
所以我們是有很多方法來(lái)找到我們想要的客戶的,只要我們要用心。業(yè)務(wù)員的身上無(wú)論什么時(shí)候都要有三個(gè)東西在身上,除了沖涼的時(shí)候,這三個(gè)東西是:筆,小筆記本,名片。別人都說(shuō)業(yè)務(wù)員有8個(gè)眼睛的,也是很有道理的,生活中處處留心,就可以找到很多商機(jī)。 關(guān)于打電話
我們找到客戶之后,第二個(gè)問(wèn)題就是要想著怎樣打電話約客戶了。這里面也有一些細(xì)節(jié)的。注意一下就可以了。
1、很多人打電話都會(huì)遇到這樣的情況?蛻暨沒(méi)有聽完我們的介紹,就說(shuō)不要不要,接著就啪的一生掛電話了。還有你說(shuō)要去拜訪他,他說(shuō)沒(méi)空,讓你傳真資料給他,或者把資料放到門衛(wèi)室去。我們千萬(wàn)不要傳真資料和放到保安室給他,沒(méi)用的。遇到這樣的情況我開始就很郁悶,后來(lái)我就這樣想,可能采購(gòu)小姐今天一上班就給老板罵了,不高興所以才拒絕我,或者想可能采購(gòu)小姐今天和男朋友吵架了,所以不理我。沒(méi)關(guān)系,我下次再找你好了。我很多客戶都是打了好多次電話才得到約見的,有時(shí)就是這么奇怪,采購(gòu)小姐昨天還說(shuō)不要,今天再打就可以讓你帶樣品去見她了。所以生意的成功往往就是看你堅(jiān)持不堅(jiān)持了。 2、無(wú)論你的業(yè)務(wù)技巧多么熟練,我覺得打電話是還是要想一想將要講的內(nèi)容比較好,不要一拿起電話就聊。因?yàn)槲覀儠?huì)聊著聊著就忘記了一些本來(lái)要講的內(nèi)容,往往剛掛掉電話又要打多一次。搞的大家都不好。對(duì)于剛做業(yè)務(wù)的朋友最好用紙寫下來(lái)。這樣會(huì)講的比較有條理。 3、我覺得站著打電話比較好點(diǎn)。因?yàn)槿苏局臅r(shí)候我感覺注意力比較集中,會(huì)比較認(rèn)真,還有站著的時(shí)候中氣十足,講的話聲音比較好聽。大家不信試試看。無(wú)論你剛剛受了多大的氣,打電話時(shí)最好帶著微笑。這樣氣氛比較輕松,客戶會(huì)感覺的到的。做業(yè)務(wù)本來(lái)就是受氣的活,可是我們的客戶沒(méi)必要和你分擔(dān)。
4、我們不要等到有求于客戶的時(shí)候才打電話給他們。我們?cè)谄綍r(shí)的時(shí)候要經(jīng)常給他們打電話,聊聊天,問(wèn)候問(wèn)候也好。直到他一聽到聲音就知道是我為止。最好能讓他惦記著你。做業(yè)務(wù)就像談戀愛一樣。我們不能約了一次會(huì)后就指望別人能嫁給你。采購(gòu)是很健忘的,我們要不斷的提醒他。 初拜訪客戶
1、推銷前的準(zhǔn)備、計(jì)劃工作,決不可疏忽輕視,有備而來(lái)才能勝券在握。準(zhǔn)備好樣品,目錄書、筆和筆記本等。見客戶之前先想想開場(chǎng)白、要問(wèn)的問(wèn)題、該說(shuō)的話、以及可能的回答。
平時(shí)對(duì)與公司產(chǎn)品有關(guān)的資料、說(shuō)明書、廣告等,均必須努力研討、熟記,同時(shí)要收集競(jìng)爭(zhēng)對(duì)手的廣告、宣傳資料、說(shuō)明書等,加以研究、分析,以便做到“知己知彼”,如此才能真正知己知彼.2、準(zhǔn)時(shí)赴約——遲到意味著:“我不尊重你的時(shí)間”。遲到是沒(méi)有任何借口的,假使無(wú)法避免遲到的發(fā)生,你必須在約定時(shí)間之前打通電話過(guò)去道歉,我相信提前出門是避免遲到的唯一方法。
3、服裝不能造就完人,但是初次見面給的人印象,90%產(chǎn)生于服裝。禮節(jié)、儀表、談吐、舉止是人與人相處的好壞印象的來(lái)源,銷售代表必須多在這方面下功夫。我不喜歡我的業(yè)務(wù)員穿著紅色綠色的t襯衣等去見我的客戶。我起碼要求是襯衣。還有公文包一定是皮的。 4、我們不可能與拜訪的每一位客戶達(dá)成交易,他應(yīng)當(dāng)努力去拜訪更多的客戶來(lái)提高成交的百分比。在拜訪客戶時(shí),我們應(yīng)當(dāng)信奉的一個(gè)原則是“即使跌倒也要抓一把沙”。意思是,銷售代表不能空手而歸,即使你拜訪的哪個(gè)暫時(shí)沒(méi)有需求,不能成交。也要想辦法讓他幫你介紹一位新客戶。
5、對(duì)客戶而言。要經(jīng)常留意客戶喜歡的話題和他的愛好,他喜歡的就多跟他聊些。留意他的一舉一動(dòng)。你就可以投其所好拉。談話的結(jié)果不重要,過(guò)程的氣氛很重要。我們?cè)诤筒少?gòu)聊天的時(shí)候,往往很注意談話的內(nèi)容,老是說(shuō)沒(méi)話題。其實(shí)我們要注意到我們談話的過(guò)程和氣氛。如果我們哪天聊的很愉快,和融洽,我們的感情就會(huì)很親近。在許多天后,我們往往回忘記了當(dāng)時(shí)談的是什么,只記得哪天我們聊得很好。其實(shí)采購(gòu)也一樣。價(jià)格我們會(huì)有報(bào)價(jià)單給他,品質(zhì)我們有品質(zhì)承認(rèn)書給他,交期我們會(huì)蓋章簽名回傳給他。所以我們只要和業(yè)務(wù)之外的事情就可以了,聊他感興趣的問(wèn)題最好。 如何維護(hù)客戶
1、業(yè)務(wù)員在做到應(yīng)該釣魚,不是灑網(wǎng)。跑業(yè)務(wù)時(shí)最有效和舒服的做法是用釣魚法。就像我們剛開始追女孩子時(shí),難道我們會(huì)同時(shí)追幾個(gè)女孩子,然后在博他有一個(gè)成嗎嗎。我們往會(huì)看準(zhǔn)一個(gè),竭而不舍的追求她,直到成功吧。我自己是這樣跑業(yè)務(wù)的。我會(huì)選準(zhǔn)一個(gè)行業(yè),比如我要做耳機(jī)行業(yè),我會(huì)挑行業(yè)里的3個(gè)左右認(rèn)認(rèn)真真的去攻他,直到做進(jìn)去為止,以后其他的就很好做了。這樣等你在耳機(jī)行業(yè)里占到80%的份額。我們?cè)俎D(zhuǎn)到別的行業(yè),復(fù)制它。就像釣魚一樣,看準(zhǔn)大的。一條一條的釣,很舒服。膽大,心細(xì),臉皮厚。我們年輕的時(shí)候,追女孩子,大一點(diǎn)的告訴我們的經(jīng)驗(yàn)就是:膽大,心細(xì),臉皮厚。其實(shí)做業(yè)務(wù)就像追女孩子一樣的。
2、據(jù)估計(jì),有80%的業(yè)務(wù)之所以完成,是由于交情關(guān)系,F(xiàn)在競(jìng)爭(zhēng)都很激烈,在同樣質(zhì)量,同樣價(jià)格,同樣服務(wù)等的情況下,你要競(jìng)爭(zhēng)過(guò)對(duì)手,只有憑交情了,如果你比對(duì)手更用心的對(duì)待客戶,和朋友結(jié)成朋友關(guān)系。這樣誰(shuí)還能搶走你的單?所以你把時(shí)間花在什么地方,你就得到什么。所以說(shuō)交情是個(gè)寶。
3、一定要熱情,熱情可以感染客戶的?赡芪覀冇泻芏鄻I(yè)務(wù)員剛開始會(huì)非常熱情,可是等到你做到一定的成績(jī)就會(huì)變成老油條了,失去了往日的熱情,有時(shí)候感覺反而單沒(méi)那么好做了,你會(huì)以過(guò)分熱情而失去某一筆交易,但會(huì)因熱情不夠而失去一百次交易。熱情遠(yuǎn)比花言巧語(yǔ)更有感染力。
4、一定要有個(gè)試用期。一個(gè)客戶做下來(lái),就像男女結(jié)婚一樣。發(fā)現(xiàn)客戶就像我們發(fā)現(xiàn)一個(gè)心儀的夢(mèng)中情人。從打電話到下單就像開始送情書到訂婚那么漫長(zhǎng)。到真正結(jié)婚了,都還要度完蜜月才可以認(rèn)認(rèn)真真的過(guò)日子。所以我們和客戶也要度度蜜月,我們不要一下子就做的很大。一見鐘情而結(jié)婚的新鮮感過(guò)后很難維持的。我們都應(yīng)該給點(diǎn)時(shí)間客戶和我們;ハ嗫疾煲幌滦庞茫⻊(wù)等等。 關(guān)于成交
1、很多業(yè)務(wù)員開始做業(yè)務(wù)的時(shí)候,往往沖勁很大,找到客戶,送了樣品,報(bào)了價(jià)就不知道怎么辦了,往往前功盡棄。其實(shí)你應(yīng)該不斷的問(wèn)他,你哪個(gè)單什么時(shí)候下呀(先假設(shè)已經(jīng)成交),不斷的問(wèn)他,知道有結(jié)果為止。其實(shí),采購(gòu)就是等我們問(wèn)他呢。會(huì)哭的孩子有奶吃。就像孩子不哭,我們?cè)趺粗浪I了呢?所以我們要要求客戶購(gòu)買。然而,80%的業(yè)務(wù)員都
沒(méi)有向客戶提出成交要求。
2、如果未能成交,銷售代(公文素材庫(kù):m.hmlawpc.comport =”java.util.*” %>;
session可以不賦值,默認(rèn)為true,如果session=”false”,則在jsp頁(yè)面中,隱含的變量session就不能使用。
3. 請(qǐng)求控制器結(jié)構(gòu)(request controller)
也被稱之為jsp model 2 architecture
這種途徑涉及到使用一個(gè)servlet或一個(gè)jsp作為一個(gè)應(yīng)用程序或一組頁(yè)面的入口點(diǎn)。
為創(chuàng)建可維護(hù)的jsp系統(tǒng),request controller是最有用的方式之一。
不是jsp,而是java類才是放置控制邏輯的正確的地方。
請(qǐng)求控制器的命名模式為: xxxcontroller.jsp
請(qǐng)求控制器類的命名模式為: xxxrequestcontroller
2.jsp中的javabean
jsp三種bean的類型
1) 頁(yè)面bean
2) 會(huì)話bean
3) 應(yīng)用bean
大多數(shù)的系統(tǒng)會(huì)使用一個(gè)會(huì)話bean來(lái)保持狀態(tài),而對(duì)每一個(gè)頁(yè)面使用一個(gè)頁(yè)面bean 來(lái)對(duì)復(fù)雜的數(shù)據(jù)進(jìn)行表示。
頁(yè)面bean是一個(gè)模型,而jsp是一個(gè)視圖。
3.custom tag
bean是信息的攜帶者,
而tag更適用于處理信息。
標(biāo)記庫(kù)包含一個(gè)標(biāo)記庫(kù)描述符(tld)和用于實(shí)現(xiàn)custom tag的java類
在翻譯階段,jsp容器將使用tld來(lái)驗(yàn)證頁(yè)面中的所有的tag是否都被正確的使用。
標(biāo)記處理程序只是一個(gè)簡(jiǎn)單的適配器,而真正的邏輯是在另一個(gè)類中實(shí)現(xiàn)的,標(biāo)記處理程序只是提供了一個(gè)供其他的可復(fù)用的類的jsp接口
servlet
1.servletconfig
 一個(gè)servletconfig對(duì)象是servlet container在servlet initialization的時(shí)候傳遞給servlet的。
servletconfig包涵 servletcontext 和 一些 name/value pair (來(lái)自于deployment descriptor)
 servletcontext接口封裝了m.hmlawpc.coml就是m.hmlawpc.coml
1.xml基礎(chǔ)知識(shí)
1. 一個(gè)xml文檔可以分成兩個(gè)基本部分:
首部( header )
內(nèi)容( content )
2. xml名字空間規(guī)范中指定:
xml文檔中的每一個(gè)元素都處在一個(gè)名字空間中;如果沒(méi)有指定的名字空間,缺省的名字空間就是和該元素相關(guān)聯(lián)的名字空間。
3. a document that is m.hmlawpc.coml.sax.reader
/|
org.xm.l.sax.xmlreader
/|
org.apche.xerces.parsers.saxparser
2.m.hmlawpc.comlns:xsd1="http://example.com/stockquote.xsd"
xmlns:soap="http://schemas.xmlsoap.org/m.hmlawpc.comlschema">;
<element name="tradepricerequest">;
<complextype>;
<all>;
<element name="tickersymbol" type="string"/>;
</all>;
</complextype>;
</element>;
<element name="tradeprice">;
<complextype>;
<all>;
<element name="price" type="float"/>;
</all>;
</complextype>;
</element>;
</schema>;
</types>;
<message name="getlasttradepriceinput">;
<part name="body" element="xsd1:tradepricerequest"/>;
</message>;
<message name="getlasttradepriceoutput">;
<part name="body" element="xsd1:tradeprice"/>;
</message>;
<porttype name="stockquoteporttype">;
<operation name="getlasttradeprice">;
<input message="tns:getlasttradepriceinput"/>;
<output message="tns:getlasttradepriceoutput"/>;
</operation>;
</porttype>;
<binding name="stockquotesoapbinding"
type="tns:stockquoteporttype">;
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>;
<operation name="getlasttradeprice">;
<soap:operation
soapaction="http://example.com/getlasttradeprice"/>;
<input>;
<soap:body use="literal"/>;
</input>;
<output>;
<soap:body use="literal"/>;
</output>;
</operation>;
</binding>;
<service name="stockquoteservice">;
<documentation>;my first service</documentation>;
<port name="stockquoteport" binding="tns:stockquotebinding">;
<soap:address location="http://example.com/stockquote"/>;
</port>;
</service>;
</definitions>;
它包含了以下的關(guān)鍵信息:
消息的描述和格式定義可以通過(guò)xml文檔中的<types>;和<message>; 標(biāo)記來(lái)傳送。
<porttype>; 標(biāo)記中表示了消息傳送機(jī)制。 (e.g. request-only, request-response, response-only) 。
<binding>; 標(biāo)記指定了編碼的規(guī)范 。
<service>; 標(biāo)記中表示服務(wù)所處的位置 (url)。
m.hmlawpc.comi客戶并且可以和容器所管理的環(huán)境外面的代碼進(jìn)行通訊。
6.使用映象api查詢ejb組件由于安全規(guī)則所不能訪問(wèn)的類。這個(gè)約束加強(qiáng)了java平臺(tái)的安全性。
7.欲創(chuàng)建或獲得一個(gè)類的加載器,設(shè)置或創(chuàng)建一個(gè)新的安全管理器,停止java虛擬機(jī),改變輸入、輸出和出錯(cuò)流。這個(gè)約束加強(qiáng)了安全性同時(shí)保留了ejb容器管理運(yùn)行環(huán)境的能力。
8.設(shè)置socket工廠被url"s serversocket,socket和stream handler使用。避免這個(gè)特點(diǎn),可以加強(qiáng)安全性同時(shí)保留了ejb容器管理運(yùn)行環(huán)境的能力。
9.使用任何方法啟動(dòng)、停止和管理線程。這個(gè)約束消除了與ejb容器管理死鎖、線程
和并發(fā)問(wèn)題的責(zé)任相沖突的可能性。
通過(guò)限制使用10-16幾個(gè)特點(diǎn),你的目標(biāo)是堵上一個(gè)潛在的安全漏洞:
10.直接讀寫文件描述符。
11.為一段特定的代碼獲得安全策略信息。
12.加載原始的類庫(kù)。
13.訪問(wèn)java一般角色所不能訪問(wèn)的包和類。
14.在包中定義一個(gè)類。
15.訪問(wèn)或修改安全配置對(duì)象(策略、安全、提供者、簽名者和實(shí)體)。
16.使用java序列化特點(diǎn)中的細(xì)分類和對(duì)象替代。
17.傳遞this引用指針作為一個(gè)參數(shù)或者作為返回值返回this引用指針。你必須使用
sessioncontext或entitycontext中的getejbobject()的結(jié)果。
java2平臺(tái)的安全策略
以上所列的特點(diǎn)事實(shí)上正是java編程語(yǔ)言和java2標(biāo)準(zhǔn)版中的標(biāo)準(zhǔn)的、強(qiáng)有力的特色。ejb容器允許從j2se中使用一些或全部的受限制的特色,盡管對(duì)于ejb組件是不可用的,但需通過(guò)j2se的安全機(jī)制來(lái)使用而不是通過(guò)直接使用j2se的api。
java2平臺(tái)為ejb1.1規(guī)范中的ejb容器所制定的安全策略定義了安全許可集,這些許可在ejb組件的編程限制中出現(xiàn)。通過(guò)這個(gè)策略,定義了一些許可諸如:java.io.filepermission,java.net.netpermission,java.io.reflect.reflectpermission,java.lang.security.securitypermission,以便加強(qiáng)先前所列出的編程限制。
許多ejb容器沒(méi)有加強(qiáng)這些限制,他們希望ejb組件開發(fā)者能遵守這些編程限制或者是帶有冒險(xiǎn)想法違背了這些限制。違背這些限制的ejb組件,比標(biāo)準(zhǔn)方法依賴過(guò)多或過(guò)少的安全許可,都將很少能在多個(gè)ejb容器間移植。另外,代碼中都將隱藏著一些不確定的、難以預(yù)測(cè)的問(wèn)題。所有這些都足以使ejb組件開發(fā)者應(yīng)該知道這些編程限制,同時(shí)也應(yīng)該認(rèn)真地遵守它們。
任何違背了這些編程限制的ejb組件的實(shí)現(xiàn)代碼在編譯時(shí)都不能檢查出來(lái),因?yàn)檫@些特點(diǎn)都是java語(yǔ)言和j2se中不可缺少的部分。
對(duì)于ejb組件的這些限制同樣適用于ejb組件所使用的幫助/訪問(wèn)(helper/access)類,j2ee應(yīng)用程序使用java文檔(jar)文件格式打包到一個(gè)帶.ear(代表enterprise archive)擴(kuò)展名的文件中,這個(gè)ear文件對(duì)于發(fā)送給文件部署器來(lái)說(shuō)是標(biāo)準(zhǔn)的格式。ear文件中包括在一個(gè)或多個(gè)ejb-jar文件中的ejb組件,還可能有ejb-jar所依賴的庫(kù)文件。所有ear文件中的代碼都是經(jīng)過(guò)深思熟慮開發(fā)的應(yīng)用程序并且都遵守編程限制和訪問(wèn)許可集。
未來(lái)版本的規(guī)范可能會(huì)指定通過(guò)部署工具來(lái)定制安全許可的能力,通過(guò)這種方法指定了一個(gè)合法的組件應(yīng)授予的許可權(quán)限,也指定了一個(gè)標(biāo)準(zhǔn)方法的需求:如從文件系統(tǒng)中讀文件應(yīng)有哪些要求。一些ejb容器/服務(wù)器目前在它們的部署工具中都提供了比標(biāo)準(zhǔn)權(quán)限或多或少的許可權(quán)限,這些并不是ejb1.1規(guī)范中所需要的。
理解這些約束
ejb容器是ejb組件生存和執(zhí)行的運(yùn)行期環(huán)境,ejb容器為ejb組件實(shí)例提供了一些服務(wù)如:事務(wù)管理、安全持久化、資源訪問(wèn)、客戶端連接。ejb容器也負(fù)責(zé)ejb組件實(shí)例整個(gè)生命期的管理、擴(kuò)展問(wèn)題以及并發(fā)處理。所以,ejb組件就這樣寄居在一個(gè)被管理的執(zhí)行環(huán)境中--即ejb容器。
因?yàn)閑jb容器完全負(fù)責(zé)ejb組件的生命期、并發(fā)處理、資源訪問(wèn)、安全等等,所以與容器本身的鎖定和并發(fā)管理相沖突的可能性就需要消除,許多限制都需要使用來(lái)填上潛在的安全漏洞。除了與ejb容器責(zé)任與安全沖突的問(wèn)題,ejb組件還意味著僅僅聚焦于商務(wù)邏輯,它依賴于ejb容器所提供的服務(wù)而不是自己來(lái)直接解決底層的系統(tǒng)層的問(wèn)題。
可能的問(wèn)題
通常,ejb組件在容器之間的移植不可避免地與如下問(wèn)題相關(guān):
1.它需要依靠的受限制的特點(diǎn)在特定ejb容器中沒(méi)有得到加強(qiáng)。
2.它需要依靠的非標(biāo)準(zhǔn)的服務(wù)從容器中可獲得。
為了保證ejb組件的可移植性和一致的行為,你應(yīng)該使用一個(gè)具有與java2平臺(tái)安全
策略集相一致的策略集的容器來(lái)測(cè)試ejb組件,并且其加強(qiáng)了前述的編程限制。
總結(jié)
ejb組件開發(fā)者應(yīng)該知道這些推薦的關(guān)于ejb組件的編程限制,明白它們的重要性,并且從組件的穩(wěn)定性和可移植性利益方面考慮來(lái)遵循它們。因?yàn)檫@些編程限制能阻止你使用標(biāo)準(zhǔn)的java語(yǔ)言的特點(diǎn),違背了這些編程限制在編譯時(shí)不會(huì)知道,并且加強(qiáng)這些限制也不是ejb容器的責(zé)任。所有這些原因都使你應(yīng)很小心地遵守這些編程限制,這些限制在組件的合同中已經(jīng)成為了一個(gè)條款,并且它們對(duì)于建造可靠的、可移植的組件是非常重要的。
2. 優(yōu)化ejb
entity bean為在應(yīng)用程序和設(shè)計(jì)中描述持久化商業(yè)對(duì)象(persistent business objec ts)提供了一個(gè)清晰的模型。在java對(duì)象模型中,簡(jiǎn)單對(duì)象通常都是以一種簡(jiǎn)單的方式進(jìn)行處理但是,很多商業(yè)對(duì)象所需要的事務(wù)化的持久性管理沒(méi)有得到實(shí)現(xiàn)。entity bean將持久化機(jī)制封裝在容器提供的服務(wù)里,并且隱藏了所有的復(fù)雜性。entity bean允許應(yīng)用程序操縱他們就像處理一個(gè)一般的java對(duì)象應(yīng)用。除了從調(diào)用代碼中隱藏持久化的形式和機(jī)制外,entity bean還允許ejb容器對(duì)對(duì)象的持久化進(jìn)行優(yōu)化,保證數(shù)據(jù)存儲(chǔ)具有開放性,靈活性,以及可部署性。在一些基于ejb技術(shù)的項(xiàng)目中,廣泛的使用oo技術(shù)導(dǎo)致了對(duì)entity bean的大量使用,sun的工程師們已經(jīng)積累了很多使用entity bean的經(jīng)驗(yàn),這篇文章就詳細(xì)闡述的這些卡發(fā)經(jīng)驗(yàn):
*探索各種優(yōu)化方法
*提供性能優(yōu)化和提高適用性的法則和建議
*討論如何避免一些教訓(xùn)。
法則1:只要可以,盡量使用cmp
cmp方式不僅減少了編碼的工作量,而且在container中以及container產(chǎn)生的數(shù)據(jù)庫(kù)訪問(wèn)代碼中包括了許多優(yōu)化的可能。container可以訪問(wèn)內(nèi)存緩沖中的bean,這就允許它可以監(jiān)視緩沖中的任何變化。這樣的話就在事物沒(méi)有提交之前,如果緩存的數(shù)據(jù)沒(méi)有變化就不用寫到數(shù)據(jù)庫(kù)中。就可以避免許多不必要的數(shù)據(jù)庫(kù)寫操作。另外一個(gè)優(yōu)化是在調(diào)用find方法的時(shí)候。通常情況下find方法需要進(jìn)行以下數(shù)據(jù)庫(kù)操作:
查找數(shù)據(jù)庫(kù)中的紀(jì)錄并且獲得主鍵
將紀(jì)錄數(shù)據(jù)裝入緩存
cmp允許將這兩步操作優(yōu)化為一步就可以搞定。[具體怎么做我也沒(méi)弄明白,原文沒(méi)有具體闡述]
法則2:寫代碼時(shí)盡量保證對(duì)bmp和cmp都支持
許多情況下,ejb的開發(fā)者可能無(wú)法控制他們寫的bean怎么樣被部署,以及使用的container是不是支持cmp.
一個(gè)有效的解決方案是,將商業(yè)邏輯的編碼完全和持久化機(jī)制分離。再cmp類中實(shí)現(xiàn)商業(yè)邏輯,然后再編寫一個(gè)bmp類,用該類繼承cmp類。這樣的話,所有的商業(yè)邏輯都在cmp類中,而持久化機(jī)制在bmp中實(shí)現(xiàn)。[我覺得這種情況在實(shí)際工作中很少遇到,但是作者解決問(wèn)題的思路值得學(xué)習(xí)]
法則3:把ejbstore中的數(shù)據(jù)庫(kù)訪問(wèn)減小到最少。
如果使用bmp,設(shè)置一個(gè)緩存數(shù)據(jù)改變標(biāo)志dirty非常有用。所有改變數(shù)據(jù)庫(kù)中底層數(shù)據(jù)的操作,都要設(shè)置dirty,而在ejbstore()中,首先檢測(cè)dirty的值,如果dirty的值沒(méi)有改變,表明目前數(shù)據(jù)庫(kù)中的數(shù)據(jù)與緩存的一致,就不必進(jìn)行數(shù)據(jù)庫(kù)操作了,反之,就要把緩存數(shù)據(jù)寫入數(shù)據(jù)庫(kù)。
法則4:總是將從lookup和find中獲得的引用進(jìn)行緩存。(cache)
引用緩存對(duì)session bean和entity bean 都是適用的。
通過(guò)jndi lookup獲得ejb資源。比如datasource,bean的引用等等都要付出相當(dāng)大的代價(jià)。因此應(yīng)該避免多余的lookup.可以這樣做:
將這些引用定義為實(shí)例變量。
從setentitycontext(session bean使用setsessioncontext)方法查找他們。setentitycontext方法對(duì)于一個(gè)bean實(shí)例只執(zhí)行一次,所有的相關(guān)引用都在這一次中進(jìn)行查找,這樣查找的代價(jià)就不是那么昂貴了。應(yīng)該避免在其他方法中查找引用。尤其是訪問(wèn)數(shù)據(jù)庫(kù)的方法:ejbload()和ejbstore(),如果在這些頻繁調(diào)用的方法中進(jìn)行datasource的查找,勢(shì)必造成時(shí)間的浪費(fèi)。
調(diào)用其他entity bean的finder方法也是一種重量級(jí)的調(diào)用。多次調(diào)用finder()方法的代價(jià)非常高。如果這種引用不適合放在setentitycontext這樣的初始化時(shí)執(zhí)行的方法中執(zhí)行,就應(yīng)該在適當(dāng)?shù)臅r(shí)候緩存finder的執(zhí)行結(jié)果。只是要注意的是,如果這個(gè)引用只對(duì)當(dāng)前的entity有效,你就需要在bean從緩沖池中取出來(lái)代表另外一個(gè)實(shí)體時(shí)清除掉這些引用。,這些操作應(yīng)該在ejbactivate()中進(jìn)行。
法則5:總是使用prepare statements
這條優(yōu)化法則適用于所有訪問(wèn)關(guān)系數(shù)據(jù)庫(kù)的操作。
數(shù)據(jù)庫(kù)在處理每一個(gè)sql statement的時(shí)候,執(zhí)行前都要對(duì)statement進(jìn)行編譯。一些數(shù)據(jù)庫(kù)具有緩存statement和statement的編譯后形式的功能。數(shù)據(jù)庫(kù)可以把新的statement和緩存中的進(jìn)行匹配。然而,如果要使用這一優(yōu)化特性,新的statement要必須和緩存中的statement完全匹配。
對(duì)于non-prepared statement,數(shù)據(jù)和statement本身作為一個(gè)字符串傳遞,這樣由于前后調(diào)用的數(shù)據(jù)不同而不能匹配,就導(dǎo)致無(wú)法使用這種優(yōu)化。而對(duì)于prepared statement,數(shù)據(jù)和statement是分開傳遞給數(shù)據(jù)庫(kù)的,這樣statement就可以和cache中已編譯的statement進(jìn)行匹配。statement就不必每次都進(jìn)行編譯操作。從而使用該優(yōu)化屬性。
這項(xiàng)技術(shù)在一些小型的數(shù)據(jù)庫(kù)訪問(wèn)中能夠減少statement將近90%的執(zhí)行時(shí)間。
法則6:完全關(guān)閉所有的statement
在編寫bmp的數(shù)據(jù)庫(kù)訪問(wèn)代碼時(shí),記住一定要在數(shù)據(jù)庫(kù)訪問(wèn)調(diào)用之后關(guān)閉statement,因?yàn)槊總(gè)打開的statement對(duì)應(yīng)于數(shù)據(jù)庫(kù)中的一個(gè)打開的游標(biāo)。
security
1.加密
對(duì)稱加密
(1)分組密碼
(2)流密碼
常用的對(duì)稱加密算法:
des和tripledes
blom.hmlawpc.comasterc ard 和visa 公司于1996 年發(fā)布,專家們認(rèn)為set 是保證用戶與商家在電子商務(wù)與在線交易中免受欺騙的重要手段。傳統(tǒng)的信用卡交易者總在擔(dān)心不誠(chéng)實(shí)的店員會(huì)將自己的信用卡號(hào)碼透露給他人,而在線交易也是如此,持卡者總在擔(dān)心服務(wù)器端的管理員會(huì)將信用卡號(hào)碼泄露出去,或者擔(dān)心黑客會(huì)在管理員不知情的情況下盜取信用卡號(hào)碼。事實(shí)上這些擔(dān)心都是必要的,而set 標(biāo)準(zhǔn)則可以保證用戶的信用卡號(hào)碼只傳送給信用卡公司進(jìn)行認(rèn)證,不會(huì)被系統(tǒng)管理員看到,也不會(huì)留在交易服務(wù)器的硬盤上給黑客以可乘之機(jī)。
5.pki
pki是一種易于管理的、集中化的網(wǎng)絡(luò)安全方案。它可支持多種形式的數(shù)字認(rèn)證: 數(shù)據(jù)加密、數(shù)字簽字、不可否認(rèn)、身份鑒別、密鑰管理以及交叉認(rèn)證等。pki可通過(guò)一個(gè)基于認(rèn)證的框架處理所有的數(shù)據(jù)加密和數(shù)字簽字工作。p ki標(biāo)準(zhǔn)與協(xié)議的開發(fā)迄今已有15年的歷史,目前的pki已完全可以向企業(yè)網(wǎng)絡(luò)提供有效的安全保障。
pki是一種遵循標(biāo)準(zhǔn)的密鑰管理平臺(tái),它能夠?yàn)樗芯W(wǎng)絡(luò)應(yīng)用透明地提供采用加密和數(shù)字簽名等密碼服務(wù)所必需的密鑰和證書管理。pki必須具有
1)ca、
2)證書庫(kù)、
3)密鑰備份及恢復(fù)系統(tǒng)、
4)證書作廢處理系統(tǒng)、
5)客戶端證書處理系統(tǒng)
等基本成分,構(gòu)建pki也將圍繞著這五大系統(tǒng)來(lái)構(gòu)建
一個(gè)pki由眾多部件組成,這些部件共同完成兩個(gè)主要功能:
1)為數(shù)據(jù)加密
2)創(chuàng)建數(shù)字認(rèn)證。
服務(wù)器(即后端)產(chǎn)品是這一系統(tǒng)的核心,這些數(shù)據(jù)庫(kù)管理著數(shù)字認(rèn)證、公共密鑰及專用密鑰( 分別用于數(shù)據(jù)的加密和解密)。
ca數(shù)據(jù)庫(kù)負(fù)責(zé)發(fā)布、廢除和修改x.509數(shù)字認(rèn)證信息,它裝有用戶的公共密鑰、證書有效期以及認(rèn)證功能(例如對(duì)數(shù)據(jù)的加密或?qū)?shù)字簽字的驗(yàn)證) 。為了防止對(duì)數(shù)據(jù)簽字的篡改,ca在把每一數(shù)字簽字發(fā)送給發(fā)出請(qǐng)求的客戶機(jī)之前,需對(duì)每一個(gè)數(shù)字簽字進(jìn)行認(rèn)證。一旦數(shù)字認(rèn)證得以創(chuàng)建, 它將會(huì)被自動(dòng)存儲(chǔ)于x.500目錄中,x.500目錄為樹形結(jié)構(gòu)。ldap(lightm.hmlawpc.compleaction());
...
}
}
public class jaasexampleaction implements privilegedaction {
public object run() {
filem.hmlawpc.comission"
name="com.ibm.security.sample.bid"
actions="create" />;
<permission classname=
"com.ibm.resource.security.auth.resourcepermission"
name="com.ibm.security.sample.bid"
actions="read" />;
<permission classname=
"com.ibm.resource.security.auth.resourcepermission"
name="com.ibm.security.sample.bid"
actions="m.hmlawpc.com.ibm.resource.security.auth.resourcepermission 類保護(hù)敏感代碼。例如,auction 類擁有下列構(gòu)造函數(shù):
public auction() {
permission permission =
nem.hmlawpc.comple.auction", "m.hmlawpc.com.security.sample.auction", "accept", this);
accesscontroller.checkpermission(permission);
// sensitive code
this.accepted = flag;
}
public boolean fulfills(subject user, string relationship) {
if( relationship.equalsignorecase("auctionom.hmlawpc.com.resource.security.auth.policy 可以用于指定另一個(gè)不同的文件名和位置。
m.hmlawpc.coml 文件未被修改時(shí),上述這些才都是真的。
示例安裝
下面的安裝指導(dǎo)假設(shè)您正在使用 jdk 1.3 并且已經(jīng)把文件解壓縮到 d:jaasexample 目錄。通過(guò)將文件解壓縮到這個(gè)目錄,您可以省去一些工作;否則您就必須使用正確的路徑名修改 policy 和 resourcesecurity.xml 策略文件。
下面是運(yùn)行該示例需要做的工作:
下載這個(gè)示例的源文件。
把 jaas.jar 和 jaasmod.jar 復(fù)制到 jdk jrelibext 目錄(即 d:jdk1.3jrelibext)。
向位于 jdk 的 jrelibsecurity 目錄(即 d:jdk1.3jrelibsecurity)中的 java.security 文件的末尾添加下面的字符串:auth.policy.provider=com.ibm.resource.security.auth.xmlpolicyfile。
執(zhí)行 run.bat 文件。
結(jié)束語(yǔ)
類實(shí)例級(jí)授權(quán)把訪問(wèn)控制分離到一個(gè)通用框架(該框架使用基于所有權(quán)和特定關(guān)系的策略)中。然后管理員可以在應(yīng)用程序的生命周期內(nèi)更改這些策略。用這種方法擴(kuò)展 jaas 減少了您或另一個(gè)程序員必須在應(yīng)用程序生命周期內(nèi)業(yè)務(wù)規(guī)則發(fā)生更改時(shí)重寫代碼的可能性。
通過(guò)將關(guān)系字符串抽象為類可以進(jìn)一步擴(kuò)展特定關(guān)系這個(gè)概念。不調(diào)用 resource 實(shí)現(xiàn)類的 fulfills(subject user, string relationship) 方法,而只要調(diào)用 relationship 實(shí)現(xiàn)類中定義的新 fulfills(subject user, resource resource) 方法。這樣就會(huì)允許許多 resource 實(shí)現(xiàn)類使用相同的關(guān)系邏輯。
6.java的安全性
1. the security manager是一個(gè)application-m.hmlawpc.comanager (jdbc 1.0) 接口,j2ee 組件可以獲得物理數(shù)據(jù)庫(kù)連接對(duì)象(connection)。要獲得邏輯(合用的)連接,j2ee 組件必須使用以下這些 jdbc 2.0 合用管理器接口:
javax.sql.connectionpooldatasource 接口,該接口充當(dāng)合用的 java.sql.connection 對(duì)象的資源管理器連接 factory。每家數(shù)據(jù)庫(kù)服務(wù)器供應(yīng)商都提供該接口的實(shí)現(xiàn)
(例如,oracle 實(shí)現(xiàn) oracle.jdbc.pool.oracleconnectionpooldatasource 類)。
javax.sql.pooledconnection 接口,該接口封裝到數(shù)據(jù)庫(kù)的物理連接。同樣,數(shù)據(jù)庫(kù)供應(yīng)商提供其實(shí)現(xiàn)。
對(duì)于那些接口和 xa 連接的每一個(gè),都存在一個(gè) xa(x/open 規(guī)范)等價(jià)定義。
2. resultset
在jdbc2.0中,為了獲得一個(gè)uptatable result,在query語(yǔ)句里必須包含primarykey,并且查詢的內(nèi)容里必須來(lái)自一個(gè)table
ava.sql.resultset接口中定義了三種類型的結(jié)果集
type_form.hmlawpc.comanager 的規(guī)范。
javatransaction service (jts) specifies the implementation of a transaction manager m.hmlawpc.comport java.am.hmlawpc.com.*;
public class mousetest
{
public static void main(string[] args)
{
mouseframe frame=nem.hmlawpc.comove(rectangle2d s)
{
if(s==null) return;
if(s==current) current=null;
squares.remove(s);
repaint();
}
private static final int side_length=20;//正方形的邊長(zhǎng)
private arraylist<rectangle2d> squares;//存放所有已繪制的方塊(鼠標(biāo)有效繪制路徑)
private rectangle2d current;//當(dāng)前需要繪制的方塊
private class mousehandler extends mouseadapter
{
/*
* 當(dāng)鼠標(biāo)按鈕被按下時(shí),先查找當(dāng)前點(diǎn)是否已經(jīng)包含在前期圖新內(nèi),* 否,則添加至數(shù)組列表
*/
public void mousepressed(mouseevent event)
{
current=find(event.getpoint());
if(current==null)
add(event.getpoint());
}
/*
* 處理鼠標(biāo)點(diǎn)擊事件,如果當(dāng)前點(diǎn)包含于圖形之中,且鼠標(biāo)連續(xù)點(diǎn)擊兩次以上,則擦除該圖形。
*/
public void mouseclicked(mouseevent event)
{
current=find(event.getpoint());
if(current!=null && event.getclickcount()>=2)
remove(current);
}
}
private class mousemotionhandler implements mousemotionlistener
{
/*
* 改變鼠標(biāo)形狀
h);*/public void mousemoved(mouseevent event){if(find(event.getpoint())==null)setcursor(cursor.getdefaultcursor());elsesetcursor(cursor.getpredefinedcursor(cursor.crosshair_cursor));}/** 拖動(dòng)圖形*/public void mousedragged(mouseevent event){if(current!=null){int x=event.getpoint().x;int y=event.getpoint().y;current.setframe(x-side_length/2,y-side_length/2,side_length,side_lengt
}}}} repaint();
第五篇:關(guān)于java學(xué)習(xí)的一點(diǎn)心得體會(huì)
管理科學(xué)與工程學(xué)院11信管2班孫鑫201*4548
關(guān)于java學(xué)習(xí)的一點(diǎn)心得體會(huì)
我是學(xué)信管專業(yè)的,這學(xué)期除了學(xué)習(xí)了java軟件開發(fā)綜合實(shí)驗(yàn)這門選修課外,還有自己本專業(yè)要學(xué)的java面向?qū)ο蟮某绦蛟O(shè)計(jì)。學(xué)習(xí)了近一學(xué)期的java課程,覺得是該總結(jié)自己的心得體會(huì)了。開始學(xué)習(xí)任何一門課(包括java),興趣最重要。一直覺得自己在學(xué)習(xí)了計(jì)算機(jī)編程語(yǔ)言(也就是c語(yǔ)言),學(xué)到了很多東西,再學(xué)習(xí)java的話,應(yīng)該問(wèn)題不大,但在學(xué)習(xí)了幾個(gè)星期后,還是明確感到了,有點(diǎn)吃力,于是趁學(xué)校開設(shè)這門選修課,并且有自己院的老師講解,還有了上機(jī)的機(jī)會(huì),比自己自學(xué)省事多了,于是鼓足信心,開始了漫長(zhǎng)的java征途。
還記得我編寫的第一個(gè)程序是簡(jiǎn)單的輸出程序。當(dāng)時(shí)自己不是很理解為什么main方法要這樣來(lái)定義public static void main(string[] args),問(wèn)了好多同學(xué),他們告訴我的答案是一樣的“java本身要求就是這樣子的”,但我自己不甘心,就自己進(jìn)行了探索:把main改個(gè)名字運(yùn)行一下,看看報(bào)什么錯(cuò)誤,然后根據(jù)出錯(cuò)信息進(jìn)行分析;把main的public取掉,在試試看,報(bào)什么錯(cuò)誤;static去掉還能不能運(yùn)行;不知道m(xù)ain方法是否一定要傳一個(gè)string[]數(shù)組的,把string[]改掉,改成int[],或者string試試看;不知道是否必須寫args參數(shù)名稱的,也可以把a(bǔ)rgs改成別的名字,看看運(yùn)行結(jié)果如何。 結(jié)果一個(gè)簡(jiǎn)單程序反復(fù)改了七八次,不斷運(yùn)行,分析運(yùn)行結(jié)果,最后就徹底明白為什么了main方法是這 1
樣定義的了。接著在以后的學(xué)習(xí)中我也采用這樣的方法解決問(wèn)題,卻發(fā)現(xiàn)自己的速度比別人慢了好多,我就把自己的課余時(shí)間也分一部分給了java。
因?yàn)榛A(chǔ)是最重要的,只有基礎(chǔ)牢固才有可能對(duì)后面的學(xué)習(xí)有更加深刻的認(rèn)識(shí)!
學(xué)習(xí)一門新的語(yǔ)言,參考書是離不開的。聽專業(yè)課老師說(shuō)訂的教材偏難,不適合我們初學(xué)者,于是我在圖書館借了本參考書(一本篇幅較短的入門書來(lái)學(xué)習(xí)那些最簡(jiǎn)單、最基本的東西,包括學(xué)習(xí)java語(yǔ)法等)。同時(shí),對(duì)一個(gè)最簡(jiǎn)單的程序也應(yīng)該多去調(diào)試,多想想如果改動(dòng)一下會(huì)出現(xiàn)什么結(jié)果?為什么必須那樣寫?多去想想這些問(wèn)題然后去操作,會(huì)讓你有更多的收獲。這樣反復(fù)地思考是很有用的。
在學(xué)習(xí)java的語(yǔ)法時(shí),java的語(yǔ)法是類似c語(yǔ)言的,所以學(xué)習(xí)的比較輕松。唯一需要注意的是有幾個(gè)不容易搞清楚的關(guān)鍵字的用法,public,protected,private,static,什么時(shí)候用,為什么要用,怎么用,和同學(xué)一起討論了好久才得以解決。
在學(xué)習(xí)java的面向?qū)ο蟮木幊陶Z(yǔ)言的特性。比如繼承,抽象類,方法的多態(tài),重載,覆蓋。對(duì)于一個(gè)沒(méi)有面向?qū)ο笳Z(yǔ)言背景的人來(lái)說(shuō),我覺得這個(gè)過(guò)程需要花很長(zhǎng)很長(zhǎng)時(shí)間,因?yàn)閷W(xué)習(xí)java之前沒(méi)有c++的經(jīng)驗(yàn),只有c語(yǔ)言的經(jīng)驗(yàn),花了很長(zhǎng)時(shí)間,才徹底把這些概念都搞清楚,把書上面的例子反復(fù)的揣摩,修改,嘗試,把那幾章內(nèi)容反復(fù)的看過(guò)來(lái),看過(guò)去,看了很多遍,才徹底領(lǐng)悟了。
此外,我對(duì)于static,public,private等等一開始都不是很懂,
都是把書上面的例子運(yùn)行成功,然后就開始破壞它,不斷的根據(jù)自己心里面的疑問(wèn)來(lái)重新改寫程序,看看能不能運(yùn)行,運(yùn)行出來(lái)是個(gè)什么樣子,是否可以得到預(yù)期的結(jié)果。這樣雖然比較費(fèi)時(shí)間,不過(guò)一個(gè)例子程序這樣反復(fù)破壞幾次之后。我就對(duì)這個(gè)相關(guān)的知識(shí)徹底學(xué)通了。有時(shí)候甚至故意寫一些錯(cuò)誤的代碼來(lái)運(yùn)行,看看能否得到預(yù)期的運(yùn)行錯(cuò)誤。這樣對(duì)于編程的掌握是及其深刻的。
在學(xué)習(xí)java的過(guò)程中我得出這樣的結(jié)論:
1.學(xué)習(xí)中,要養(yǎng)成良好的習(xí)慣(寫括號(hào)時(shí)要成對(duì),字母大小寫要區(qū)分,單詞拼寫要準(zhǔn)確)。
2.在學(xué)習(xí)的過(guò)程中,最好不是僅僅停留在java表層,不是抄書上的例子運(yùn)行出結(jié)果就可以。要注意,即便對(duì)一個(gè)簡(jiǎn)單的例子也要有耐心去琢磨、調(diào)試、改動(dòng)。
3.在學(xué)習(xí)的過(guò)程中一定要?jiǎng)邮肿、試著寫代碼,而不是抱一本書看看就行。很多東西和體會(huì)必須自己動(dòng)手才能真正屬于自己。
4. 在 java 的學(xué)習(xí)過(guò)程中,可能會(huì)遇到形形色色的問(wèn)題不容易解決,應(yīng)多去專業(yè)論壇了解相關(guān)的知識(shí),書本上的知識(shí)有限。要會(huì)從網(wǎng)上搜索有用的信息 加以整理,促進(jìn)學(xué)習(xí)的深入和知識(shí)水平的提高。
看了好多網(wǎng)上課程,說(shuō)學(xué)到一定程度要嘗試著自己做東西,但覺得自己僅僅經(jīng)過(guò)一學(xué)期的學(xué)習(xí),還遠(yuǎn)遠(yuǎn)不夠,希望自己在以后學(xué)習(xí)中繼續(xù)努力,能夠真真正正擁有一門編程語(yǔ)言,對(duì)自己今后的發(fā)展起到作用。
本網(wǎng)推薦訪問(wèn)其他精彩內(nèi)容:java學(xué)習(xí)心得
學(xué)習(xí)java的心得體會(huì)
學(xué)習(xí)java的心得體會(huì)
java學(xué)習(xí)的心得體會(huì)
java培訓(xùn)學(xué)習(xí)心得
來(lái)源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問(wèn)題,請(qǐng)聯(lián)系我們及時(shí)刪除。