當前位置:萬佳範文網 >

心得體會 >讀書心得體會 >

諾曼底號遇難記讀書心得感悟(通用18篇)

諾曼底號遇難記讀書心得感悟(通用18篇)

諾曼底號遇難記讀書心得感悟 篇1

這學期,我們學了一篇課文《諾曼底號遇難記》,文中主要講了:1870年3月17日夜晚,一艘叫“諾曼底”號的大輪船由南安普敦行駛向格恩西島,當輪船行駛到相距埃居伊山脈約十五海里處,遇到大霧瀰漫,一片漆黑,與名叫“瑪麗”號的大輪相撞。剎那間,輪船上的人驚恐萬狀,一片混亂,海水不停地往裏灌,一切危在旦夕。在最終的二十分鐘裏,哈爾威船長應對驚恐的眾人,鎮定自若,指揮着救援工作,六十個人順利脱險,而哈爾威船長卻隨着輪船一齊沉入了深淵。

諾曼底號遇難記讀書心得感悟(通用18篇)

哈爾威船長真了不起,他把生的期望讓給了別人,把死的危險久別留給自我。當我讀到:“眼看就要撞船,已經沒有任何辦法避開它了。一瞬間,大霧中似乎聳起許許多多船隻的幻影,人們還沒有的`及一一看清,就要死到臨頭,葬身魚腹了。”讀到那裏讓我感受到當時的情景十分危急,很快“諾曼底”號大輪船就要和“瑪麗”大輪船相撞了,所以在船上的人都在想自我都快要死了。

我讀了《諾曼底號遇難記》後,十分敬佩哈爾威船長。我認為哈爾威船長是一個鎮定自若,忠於職守,舍已救人的人,這種精神我們要像你學習!

諾曼底號遇難記讀書心得感悟 篇2

這周,我們學習了《“諾曼底”號遇難記》一文,其中,我對老船長的印象最深。

這篇文章生動地描述了人物的動作,語言。寫了老船長營救了船上所有的人,自我卻與輪船一齊沉入深淵。是啊,事情總是這樣,哪裏有可悲的利己主義,哪裏也會有悲壯的捨己救人。哈爾威船長就是這次海難中那位捨己救人的英雄。

……必須把六十人就出去!實際上一共有六十一人,可是他把自我給忘了。”從這兒看出,哈爾威船長想到的僅有別人,他是以別人為中心,不是自我。再苦再累,他都寧願自我犧牲,也要把那些無辜的羣眾就出去。

哈爾威船長,雖然犧牲了,可是他的名字會永遠銘刻在我們心中。他是一位偉大的船長,他是一位會名揚千古的英雄。

由此,我又想到了另外一個故事,是教師給我們講的一個既感人又令人氣憤的故事,《紅海絕戀:新泰坦尼克號傳奇》。其中那位船長在船失事後,不組織人們自救,竟然帶着幾名船員開着小艇逃走了。他的做法和老船長截然不一樣,他是丟棄了那些無辜的人讓一千多人葬身紅海,而哈爾威船長捨生忘死拯救那些無辜的人。

我體會到,做人,要做哈爾威船長那樣的人,首先應當想到別人,不要有什麼可悲的利己主義。可千萬不要像那個令人髮指的紅海船長,雖然名字也在人們口中傳來傳去,確實臭名遠揚。這是我學習這篇文章最大的收穫。

哈爾威船長,是我們做人的豐碑!

諾曼底號遇難記讀書心得感悟 篇3

最近,老師教了我們一篇課文《“諾曼底”號遇難記》。自從學習了這篇課文,讓我受益匪淺……

這篇課文主要講了,在一次夜間裏,一艘名叫“瑪麗”號的的船撞到了一艘名叫“諾曼底”號的船。沒想到,這一撞竟把“諾曼底”號給撞壞了。人們驚慌失措,後來經過哈爾威船長的指揮,讓你們順利逃生了,可是哈爾威船長卻犧牲了。

這件事情告訴我們做什麼事情都不能自私自利,要懂得為別人着想,不能處處只想到自己,因為這樣會使別人非常的討厭你,使你一個朋友也沒有。

這篇課文對我的感觸很太深了,不禁讓我想到一件令我十分後悔的事……

有一次,我獨自一人去買東西,偶然一瞬間,我在公路上看到一位盲老人正在過馬路,我剛想跑過去扶他過馬路,可是,腦子裏出現了善、惡兩位天使:善天使説:“快過去啊!這位老人現在需要你的幫助!”惡天使説:“你管他的,反正路上行人麼多,也不差你一個。”

善天使連忙反駁:你別聽惡天使亂説,如果你像惡天使説的説的那樣做,你會後悔一輩子的!“惡天使又説:”你管他什麼後悔,以後還不一定會發生什麼呢!“説完後,他們便消失了。我仔細想了一番,最後我想:管他的,我不幫助他他又不會死!我管他的!説完,便買我的東西去了。

善天使説得不錯,這件事真令我後悔一輩子,我常常為自己的自私懊悔着。

它,像燈一樣,為我們指明前方的路,它,像警鐘一樣,時時提醒着我們,它,像一抹清泉,湧過我幼小的心田。

諾曼底號遇難記讀書心得感悟 篇4

美國一家報紙在醒目的位置刊登了“9·11”災難中一名美國公民的生命留言。:“媽媽,我愛您。”我讀了這篇文章,十分感動和深受啟發。

每個人都會得到母愛,我也不例外。但我就覺得母親很煩。因為每一天放學回家,母親都問我在學校吃飽了沒有?,還有每一天早晨他都會説路上細心點……自從我學了這篇文章,我再也不覺得母親煩了。

我的好朋友十分的孝順。只要他母親生病時,他就陪在她母親身邊一口一口的喂他吃飯。雖然看到她幫她母親做這些事。我雖然十分的羨慕嫉妒恨,但我也全力以赴的也在做這些事情。

媽媽,我愛您。”這句話有人經常掛在嘴邊,可是任何實際行動都沒有。“媽媽我愛您。”不僅僅體此刻口頭上,還要體此刻實際行動上。媽媽在什麼時候都會掛念你。擔心你:吃的好不好?睡得好不好?有時母親只因為你的一小件事情而感動,也會因為你的一小句話而感動。,母親不需要十分多的錢,只需要你陪一陪她

愛是偉大的,只要你明白母愛是我們需要的,只要你明白母愛是我們需要的,可是我明白母愛是每個孩子都需要有的,我聽到《世上僅有媽媽好》這首歌,我的心境十分低落,如果母親去世我怎樣辦?我們應當在母親健在的光陰,趕快為你的父母盡一份孝心吧。

世間的財富並不重要,比這個重要的是母愛和親情。

諾曼底號遇難記讀書心得感悟 篇5

“滾滾長江東逝水,浪花淘盡英雄。是非成敗轉頭空…….”這是《三國演義》的開篇詞。在這個暑假,我看了《三國演義》,深有感觸。《三國演義》寫了黃巾起義、董卓之亂、羣雄逐鹿、三足鼎立、三國歸晉這五個部分。在其中湧現出了許多英雄人物,最讓我印象深刻的就是諸葛亮了。

在書中,諸葛亮是智慧的化身。在《草船借箭》一章中,諸葛亮提前預算好了大霧,水流以及曹操、魯肅的性格,從而三天內“造”了十萬支箭,完成了都督周瑜的任務。要知道在那時,想要計算好大霧、長江的水流和“人心”可不簡單!諸葛亮早就猜透周瑜想害他的用心;委託忠厚老實的魯肅,得到了借箭的材料;通過觀察天象、大霧和長江水流利“借”到東風;最精妙的算計曹操的心思,要知道,曹操也是三國時期的軍事家,曾用幾萬兵在官渡打敗了袁紹幾十萬大軍呢!但是“聰明反被聰明誤”,諸葛亮正是利用了曹操生性多疑這個特點,綜合這些因素,諸葛亮才能成功“借”到了十萬支箭,他是多麼智慧的人啊!但是他的聰明才智來自哪裏?來源於他的好學。諸葛亮8歲以前父母雙亡,和弟弟一起在叔父家過日子。在失去雙親的日子裏,諸葛亮十分好學,飽讀詩書,最終為劉備立下了汗馬功勞。

智慧來自於後天的努力。在我們的生活中,也不乏這樣智慧之人。匡衡家中貧困,看書無燈,於是他想了一個辦法----把牆打小孔,晚上藉着鄰居家的燈光看書,最後成為了名人。范仲淹亦是如此,通過少年時期的勤奮努力獲得了不少成就,寫下了“先天下之憂而優,後天下之樂而樂。”的千古名篇。

智慧,不是一個人天生擁有的,而是經過後天不懈努力換來的。我們應該像古代那些偉人一樣,多學習,勤思考,成為有學問的人。

諾曼底號遇難記讀書心得感悟 篇6

剛開始看《飄》的時候,總會覺得女主角斯嘉麗本人沒有什麼高尚的品格吸引我,只是覺得她單純是個喜歡遊玩,喜歡舞會的膚淺姑娘,並整天周旋於那些圍着她轉的崇拜者和她所欣賞的人。

當斯嘉麗向阿希禮建議與自己私奔被拒後,便任性的與自己不愛的查爾斯結婚,豈料南北戰爭卻奪取了她丈夫的生命,自那斯嘉麗便成了個帶着孩子的寡婦,這對生性活潑好動的斯嘉麗好説無疑是個難以忍受的結果。由於戰爭斯嘉麗家裏變得一團糟,十口人的生活遇到前所沒有的困難,這時斯嘉麗開始變得強韌起來,她靠着自己的力量撐起了家中的重擔,展現了女性的毅力和魄力。

在愛情方面,雖然斯嘉麗歷經了許多波折,並很久都搞不清自己的真實情感,但最後還是弄清了自己愛的其實是常在患難時給她勇氣,讓她踏實的瑞特,最終兩人還是成就了一段美好良緣。

“還是留給明天去想吧……不管怎麼説,明天又是新的一天……”這句是斯嘉麗的名句,其中透着美好的樂觀情緒。當我們遇到困難無所適從的時候,我們不妨想想這句,它會給我們力量!

諾曼底號遇難記讀書心得感悟 篇7

毋庸置疑,清官者,名垂千古、流芳百世,皆因人們擁戴清官、熱愛清官。黑臉的包龍圖,在中國人的心目中,始終是一片懲奷除惡的“大青天”。奷臣者,遭人唾罵,遺臭萬年,皆因人們憎恨奷臣、厭惡奷臣。殘害忠良的秦檜,在中國人的心目中,永遠是跪在岳飛墓前的(前些時候,看到網上傳言,秦檜在家鄉已站起來了,此刻的社會價值取向真得讓人迷惘和心寒)。

劉鶚的《老殘遊記》中寫了二個清官,讀後,卻讓人別有一番滋味在心頭。

第一個“清官”是玉賢。該人是因為“辦強盜辦的好”而“補曹州府”(見第三回)。他辦強盜究竟辦得怎樣樣好呢?書中寫道:“不到一年竟有路不拾遺的景象。”

玉賢大人對於“止盜”採用的方法卻是“堵”。他在“衙門口有十二架站籠,天天不得空”(見第五回),“未到一年,站籠站死兩千多人”(見第三回)。就曹州府這麼一個小地方,一年不到的時間,就被玉賢拿住並站死的所謂強盜有兩千多人。這麼一個地方哪裏來的這麼多強盜,全都是由於“他(指玉賢大人)隨便見着什麼人,只要不順他的眼,他就把他用站籠站死;或者説話説的不得法,犯到他手裏,也是一個死。”玉賢雖然做到了“路不拾遺”,在上級眼中能幹的,在百姓眼中卻是殘暴的。此人表面清廉,實則卻是一個不折不扣的酷吏,為了讓自我升官,竟然不顧百姓死活,不問青紅皂白,用百姓之血染紅自我官帽上的頂珠。老殘在客店的牆上寫下一首詩,對此進行了無情的批判:“得失淪肌髓,因之急事功。冤埋城闕暗,血染頂珠紅。處處鵂鶹雨,山山虎豹風。殺民如殺賊,太守是元戎。”

第二個“清官”是剛弼。此人不一樣於玉賢,玉賢是一心為升官,急於幹出一番政績來,以博取上級歡心,所以以殘酷治民,是一個實足的“酷吏”。而剛弼卻不為升官,以“清廉自命(見第

十六回)”。此人清廉確也真得清廉,然而,此人卻是剛愎自用,卻又昏庸無能之輩。對於剛弼這種所謂“清官”,白太尊有一段分析很是精闢,也很是一針見血:“清廉人是最令人佩服的,僅有一個脾氣不好,他總覺得天下都是小人,僅有他一個人是君子。這個念頭最害事的,把天下大事不知害了多少。”

對這些昏庸、殘暴之輩,老殘認為:“官愈大,害愈甚。守一府則一府傷,撫一省則一省傷,宰天下則天下死!(見第六回)”在那樣的年代,能説出如此之話,實為不易,真可謂是震聾發饋之聲也!

《老殘遊記》是中國四大諷刺小説之一,作者劉鶚學識淵博,在算學、醫道、治河等方面均有出類拔萃的成就,所以,就小説資料而言,涉及各種自然科學範圍頗廣。尤其難能可貴的是,作者的文采也是相當不錯,異常是對山東濟南一帶的風情描述,讓人印象深刻,過目不忘,讀後收穫頗豐。當然,劉鶚對於所謂“清官”的諷刺,悠悠以為,多少有些過了。清官畢竟是人人誦之,人人贊之。縱觀中華民族上下五千年之淵源歷史,清官不是多了,而是少之又少,恰如當代社會中的珍稀動物。劉鶚所寫的“清官”實非“清官”也,這些人充其量可是是沽名釣魚之輩而已。

諾曼底號遇難記讀書心得感悟 篇8

注:框架可以用word菜單中的 “視圖/文檔結構圖” 看到

j2ee模式

value object(值對象) 用於把數據從某個對象/層傳遞到其他對象/層的任意java對象。

通常不包含任何業務方法。

也許設計有公共屬性,或者提供可以獲取屬性值的get方法。

jsp

的基礎知識

__

_____ | 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) ; 日記日記300字

1. 註釋: ;

;

2. ;

session可以不賦值,默認為true,如果session=”false”,則在jsp頁面中,隱含的變量session就不能使用。

3. 請求控制器結構(request controller)

也被稱之為jsp model 2 architecture

這種途徑涉及到使用一個servlet或一個jsp作為一個應用程序或一組頁面的入口點。

為創建可維護的jsp系統,request controller是最有用的方式之一。

不是jsp,而是java類才是放置控制邏輯的正確的地方。

請求控制器的命名模式為:

請求控制器類的命名模式為: requestcontroller

中的javabean

jsp三種bean的類型

1) 頁面bean

2) 會話bean

3) 應用bean

大多數的系統會使用一個會話bean來保持狀態,而對每一個頁面使用一個頁面bean 來對複雜的數據進行表示。

頁面bean是一個模型,而jsp是一個視圖。

om tag

bean是信息的攜帶者,

而tag更適用於處理信息。

標記庫包含一個標記庫描述符(tld)和用於實現custom tag的java類

在翻譯階段,jsp容器將使用tld來驗證頁面中的所有的tag是否都被正確的使用。

標記處理程序只是一個簡單的適配器,而真正的邏輯是在另一個類中實現的,標記處理程序只是提供了一個供其他的可複用的類的jsp接口

servlet

letconfig

 一個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,需加一句 axage(200)

 cookie是跟某一個server相關的,運行在同一個server上的servlet共享一個cookie.

3) url rewriting

在使用url rewriting來維護session id的時候,每一次http請求都需要encodeurl

典型的用在兩個地方

1) t(“form action=” ”);

t(deurl(“sessionexample”));

t(“form action=” ”);

t(“method = get>;”);

2) t(“

;

t(deurl(“sessionexample?database=foo&datavalue=bar”));

tln(“” >;url encoded ;”);

lethreadmodel

默認的,每一個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( )方法後,一定要記得調用( );

3. the client通過發送一個blank line表示它已經結束request

而the server通過關閉the socket來表示response已結束了。

4. 一個http servlet可以送三種東西給client

1) a single status code

2) any number of http headers

3) a response body

5. servlet之間信息共享的一個最簡單的方法就是

(“key”,”value”);

6. post和get

post:將form內各字段名稱和內容放置在html header內傳送給server

get: ?之後的查詢字符串要使用urlencode,經過urlencode後,這個字符串不再帶有空格,以後將在server上恢復所帶有的空格。

get是web上最經常使用的一種請求方法,每個超鏈接都使用這種方法。

7. 就是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. 利用arameter( )得到的string存在字符集問題。

可以用 strtitle = arameter(“title”);

strtitle = new string(ytes(“8859-1”),”gb2312”);

如果你希望得到更大得兼容性

string encoding = haracterencoding;

//確定application server用什麼編碼來讀取輸入的。

strtitle = new string(ytes(encoding),”gb2312”);

xml

基礎知識

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的縮寫。

er

/|

eader

/|

arser

ervice

2.1 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的樣例:

targetnamespace=""

xmlns:tns="" (5)(6)(7)(8)(9)(10)(11)(12)(13)(14)(15)

xmlns:xsd1=""

xmlns:soap=";

xmlns=";>;

xmlns=";>;

type="tns:stockquoteporttype">;

transport=";/>;

soapaction=""/>;

;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 /stockquote http/1.1

host: kquoteserver

content-type: text/xml; charset="utf-8"

content-length: nnnn

soapaction: "some-uri"

xmlns:soap-env=";

〖5〗〖6〗〖7〗〖8〗〖9〗〖10〗〖11〗〖12〗〖13〗〖14〗〖15〗

soap-env:encodingstyle=";/>;

;sunw;

jaxr

為了支持uddi在java平台上的功能,java apis for xml registries (jaxr)允許開發者來訪問註冊中心。

值得注意的是,jaxr並不是建立web服務必需的,你可以利用其他常用的xml apis來直接集成這些協議。

jaxr是一個方便的api,它提供了java api來發布,查找以及編輯那些註冊信息。它的重點在於基於xml的b2b應用,複雜的地址本查找以及對xml消息訂閲的支持等web服務。

它也可以用來訪問其他類型的註冊中心,象ebxml註冊中心。

這些對web服務的註冊信息進行的操作,可以使用當前的一些web服務工具來完成(例如第三方的soap和ebxml消息工具)。另外,當jaxp提供了一致並具有針對性的api來完成這些操作,這將使開發變得更加容易。

jax/rpc

為了使開發人員專注於建立象soap那樣的基於xml的請求,jcp正在開發基於rpc (jax/rpc) 的java api。jax/rpc是用來發送和接收方法調用請求的,它基於xml協議,象soap,或者其他的象xmlp (xml protocol,要了解更多可以參考)。jax/rpc使你不用再關注這些協議的規範,使應用的開發更快速。不久,開發人員就不用直接以xml表示方法調用了。

目前有很多第三方實現了soap,開發人員可以在不同的層次上調用soap,並選擇使用哪一種。將來,jax/rpc會取代這些apis並提供一個統一的接口來構造以及處理soap rpc請求。

在接收一個從商業夥伴那裏過來的soap請求的時候,一個java servlet用jax/rpc來接收這個基於xml的請求。一旦接收到請求後,servlet會調用商務方法,並且把結果回覆給商業夥伴。

jaxm

當從商業合作伙伴那裏接收一個web服務的請求時,我們需要java api實現一個servlet來處理ebxml消息,就象我們用jax/rpc來處理soap請求一樣。

java api for xml messaging (jaxm) 是集成xml消息標準(象ebxml消息或者soap消息)的規範。

這個api是用來推動xml消息處理的,它檢測那些預定單的消息格式以及約束。它控制了所有的消息封裝機制,用一種直觀的方式分割了消息中的信息,象路由信息,發貨單。這樣,開發人員只要關注消息的有效負載,而不用去擔心那些消息的重複處理。

目前的開發人員用jaxp來實現jaxm將要提供的功能,jaxm將會提供一套非常具有針對性的api來處理基於xml的消息傳送。這將大大簡化開發人員的代碼,並使它們具有統一的接口。

jaxm和jax/rpc的差別在於處理消息導向的中間件以及遠程過程調用的不同。jaxm注重於消息導向,而jax/rpc是用來完成遠程過程調用的。以下是圖解。

請注意,在jaxm 和 jax/rpc技術成熟之前,開發人員還是依賴於第三方的soap apis,象apache soap, idooxoap, 以及 glue。當jaxm 和 jax/rpc正式發佈後,它將為當前不同的soap和ebxml消息提供統一的接口。就象jdbc位多種不同的數據庫提供統一的接口。

jaxb

xml綁定技術可以把xml文檔和java對象進行自由轉換。

用jaxb,你可以在後台的ejb層,把xml文檔轉換成java對象。同樣你也可以把從ejb中取出的java對象轉換成xml文檔返回給用户。

jaxb接口提供了比sax和dom更高級的方法來處理xml文檔。它提供的特性可以在xml數據和java類之間互相映射,提供了一個簡單的方法來轉換xml數據。它比逐個解析標記更簡單。

2.2 建立weservice的步驟

在建立weservice的時候,有三個主要步驟:

1.建立客户端聯接

為了允許applets,applications,商業合作伙伴,瀏覽器和pdas 使用web服務。

2.實現web服務

包括工作流,數據傳送,商業邏輯以及數據訪問。這些功能是隱藏在web服務後,並且為客户端工作的。

3.聯接後台系統

這個系統可能包括一個或多個數據庫,現存的企業信息系統,商業合作伙伴自己的系統或者web服務,以及在多個系統中共享的數據。

基於j2ee的web服務的核心構架:

rmi

1. rmi-iiop

2. rmi 是在java中使用remote method invocation的最初的方法,rmi使用包

rmi-iiop 是rmi的一個特殊版本,rmi-iiop可以和corba兼容,rmi-iiop使用包和

jaf(java活動構架)

開發者可以使用jaf來決定任意一塊數據的類型、封裝對數據的訪問、尋找合適的操作、實例化相關的bean來執行這些操作等。

例如,javamail就是使用jaf根據mime類型來決定實例化那一個對象。

ejb

1. ejb組件實現代碼的限制

ejb組件的約束

ejb的開發者並不需要在ejb的組件實現代碼中編寫系統級的服務,ejb提供商/開發

者需知道並且嚴格地遵守一些限制,這些限制與開發穩定的和可移植的ejb組件的利益有 <1><2><3><4><5><6><7><8><9><10><11><12><13><14><15>

關。

以下是你應該回避使用的一些java特色,並且在你的ejb組件的實現代碼中要嚴格限

制它們的使用:

1.使用static,非final 字段。建議你在ejb組件中把所有的static字段都聲明為final型的。這樣可以保證前後一致的運行期語義,使得ejb容器有可以在多個java虛擬機之間分發組件實例的靈活性。

2.使用線程同步原語來同步多個組件實例的運行。避免這個問題,你就可以使ejb容器靈活的在多個java虛擬機之間分發組件實例。

3.使用awt函數完成鍵盤的輸入和顯示輸出。約束它的原因是服務器方的商業組件意味着提供商業功能而不包括用户界面和鍵盤的i/o功能。

4.使用文件訪問/ 操作。ejb商業組件意味着使用資源管理器如jdbc來存儲和檢索數據而不是使用文件系統api。同時,部署工具提供了在部署描述器(descriptor)中存儲環境實體,以至於ejb組件可以通過環境命名上下文用一種標準的方法進行環境實體查詢。所以,使用文件系統的需求基本上是被排除了。

5.監聽和接收socket連接,或者用socket進行多路發送。ejb組件並不意味着提供網絡socket服務器功能,但是,這個體系結構使得ejb組件可以作為socket客户或是rmi客户並且可以和容器所管理的環境外面的代碼進行通訊。

6.使用映象api查詢ejb組件由於安全規則所不能訪問的類。這個約束加強了java平台的安全性。

7.欲創建或獲得一個類的加載器,設置或創建一個新的安全管理器,停止java虛擬機,改變輸入、輸出和出錯流。這個約束加強了安全性同時保留了ejb容器管理運行環境的能力。

8.設置socket工廠被url's serversocket,socket和stream handler使用。避免這個特點,可以加強安全性同時保留了ejb容器管理運行環境的能力。

9.使用任何方法啟動、停止和管理線程。這個約束消除了與ejb容器管理死鎖、線程

和併發問題的責任相沖突的可能性。

通過限制使用10-16幾個特點,你的目標是堵上一個潛在的安全漏洞:

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組件的編程限制中出現。通過這個策略,定義了一些許可諸如:permission,ermission,ectpermission,ritypermission,以便加強先前所列出的編程限制。

許多ejb容器沒有加強這些限制,他們希望ejb組件開發者能遵守這些編程限制或者是帶有冒險想法違背了這些限制。違背這些限制的ejb組件,比標準方法依賴過多或過少的安全許可,都將很少能在多個ejb容器間移植。另外,代碼中都將隱藏着一些不確定的、難以預測的問題。所有這些都足以使ejb組件開發者應該知道這些編程限制,同時也應該認真地遵守它們。

任何違背了這些編程限制的ejb組件的實現代碼在編譯時都不能檢查出來,因為這些特點都是java語言和j2se中不可缺少的部分。

對於ejb組件的這些限制同樣適用於ejb組件所使用的幫助/訪問(helper/access)類,j2ee應用程序使用java文檔(jar)文件格式打包到一個帶(代表enterprise archive)擴展名的文件中,這個ear文件對於發送給文件部署器來説是標準的格式。ear文件中包括在一個或多個ejb-jar文件中的ejb組件,還可能有ejb-jar所依賴的庫文件。所有ear文件中的代碼都是經過深思熟慮開發的應用程序並且都遵守編程限制和訪問許可集。

未來版本的規範可能會指定通過部署工具來定製安全許可的能力,通過這種方法指定了一個合法的組件應授予的許可權限,也指定了一個標準方法的需求:如從文件系統中讀文件應有哪些要求。一些ejb容器/服務器目前在它們的部署工具中都提供了比標準權限或多或少的許可權限,這些並不是ejb1.1規範中所需要的。

理解這些約束

ejb容器是ejb組件生存和執行的運行期環境,ejb容器為ejb組件實例提供了一些服務如:事務管理、安全持久化、資源訪問、客户端連接。ejb容器也負責ejb組件實例整個生命期的管理、擴展問題以及併發處理。所以,ejb組件就這樣寄居在一個被管理的執行環境中--即ejb容器。

因為ejb容器完全負責ejb組件的生命期、併發處理、資源訪問、安全等等,所以與容器本身的鎖定和併發管理相沖突的可能性就需要消除,許多限制都需要使用來填上潛在的安全漏洞。除了與ejb容器責任與安全衝突的問題,ejb組件還意味着僅僅聚焦於商務邏輯,它依賴於ejb容器所提供的服務而不是自己來直接解決底層的系統層的問題。 3 4 5 6 7 8 9 10 11 12 13 14 15

可能的問題

通常,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:只要可以,儘量使用cmp

cmp方式不僅減少了編碼的工作量,而且在container中以及container產生的數據庫訪問代碼中包括了許多優化的可能。container可以訪問內存緩衝中的bean,這就允許它可以監視緩衝中的任何變化。這樣的話就在事物沒有提交之前,如果緩存的數據沒有變化就不用寫到數據庫中。就可以避免許多不必要的數據庫寫操作。另外一個優化是在調用find方法的時候。通常情況下find方法需要進行以下數據庫操作:

查找數據庫中的紀錄並且獲得主鍵

將紀錄數據裝入緩存

cmp允許將這兩步操作優化為一步就可以搞定。[具體怎麼做我也沒弄明白,原文沒有具體闡述]

法則2:寫代碼時儘量保證對bmp和cmp都支持

許多情況下,ejb的開發者可能無法控制他們寫的bean怎麼樣被部署,以及使用的container是不是支持cmp.

一個有效的解決方案是,將商業邏輯的編碼完全和持久化機制分離。再cmp類中實現商業邏輯,然後再編寫一個bmp類,用該類繼承cmp類。這樣的話,所有的商業邏輯都在cmp類中,而持久化機制在bmp中實現。[我覺得這種情況在實際工作中很少遇到,但是作者解決問題的思路值得學習]

法則3:把ejbstore中的數據庫訪問減小到最少。

如果使用bmp,設置一個緩存數據改變標誌dirty非常有用。所有改變數據庫中底層數據的操作,都要設置dirty,而在ejbstore中,首先檢測dirty的值,如果dirty的值沒有改變,表明目前數據庫中的數據與緩存的一致,就不必進行數據庫操作了,反之,就要把緩存數據寫入數據庫。

法則4:總是將從lookup和find中獲得的引用進行緩存。(cache)

引用緩存對session bean和entity bean 都是適用的。

通過jndi lookup獲得ejb資源。比如datasource,bean的引用等等都要付出相當大的代價。因此應該避免多餘的lookup.可以這樣做:

將這些引用定義為實例變量。

從setentitycontext(session bean使用setsessioncontext)方法查找他們。setentitycontext方法對於一個bean實例只執行一次,所有的相關引用都在這一次中進行查找,這樣查找的代價就不是那麼昂貴了。應該避免在其他方法中查找引用。尤其是訪問數據庫的方法:ejbload和ejbstore,如果在這些頻繁調用的方法中進行datasource的查找,勢必造成時間的浪費。

調用其他entity bean的finder方法也是一種重量級的調用。多次調用finder方法的代價非常高。如果這種引用不適合放在setentitycontext這樣的初始化時執行的方法中執行,就應該在適當的時候緩存finder的執行結果。只是要注意的是,如果這個引用只對當前的entity有效,你就需要在bean從緩衝池中取出來代表另外一個實體時清除掉這些引用。,這些操作應該在ejbactivate中進行。

法則5:總是使用prepare statements

這條優化法則適用於所有訪問關係數據庫的操作。

數據庫在處理每一個sql statement的時候,執行前都要對statement進行編譯。一些數據庫具有緩存statement和statement的編譯後形式的功能。數據庫可以把新的statement和緩存中的進行匹配。然而,如果要使用這一優化特性,新的statement要必須和緩存中的statement完全匹配。

對於non-prepared statement,數據和statement本身作為一個字符串傳遞,這樣由於前後調用的數據不同而不能匹配,就導致無法使用這種優化。而對於prepared statement,數據和statement是分開傳遞給數據庫的,這樣statement就可以和cache中已編譯的statement進行匹配。statement就不必每次都進行編譯操作。從而使用該優化屬性。

【5】【6】【7】【8】【9】【10】【11】【12】【13】【14】【15】

這項技術在一些小型的數據庫訪問中能夠減少statement將近90%的執行時間。

法則6:完全關閉所有的statement

在編寫bmp的數據庫訪問代碼時,記住一定要在數據庫訪問調用之後關閉statement,因為每個打開的statement對應於數據庫中的一個打開的遊標。

security

1.加密

對稱加密

(1)分組密碼

(2)流密碼

常用的對稱加密算法:

des和tripledes

blowfish

rc4

aes

非對稱加密

常用的非對稱加密算法

rsa

elgamal

會話密鑰加密(對稱加密和非對稱加密一起使用)

常用的會話密鑰加密協議

s/mime

pgp

ssl和tls ssl是在application level protocal和transport protocal之間的。

比如:http和tcp/ip之間

ssl 提供了服務器端認證和可選的客户端認證,保密性和數據完整性。

提供基於ssl方式的傳輸加密和認證,確保以下三種安全防護:

數據的機密性和準確性、

服務器端認證

客户端認證。

客户端認證比服務器端認證不很普遍的原因是每一個要被認證的客户都必須有一張verisign這樣的ca簽發的證書。

通常,在進行身份認證的時候,應當只接受一個ca,這個ca的名字包含在客户證書中。

由於不可能隨意創建一個由指定ca簽發的證書,所以這可以有效的防禦通過偽造證書來進行的攻擊嘗試。

2.認證(authentication)

認證就是確定一條消息或一個用户的可靠性的過程。

1.消息摘要

md5

sha和sha-1

2.消息認證碼(message authientication codes,mac)

3.數字簽名

用户可以用自己的密鑰對信息加以處理,由於密鑰僅為本人所有,這樣就產生了別人無法生成的文件,也就形成了數字簽名

數字簽名可以

1)保證數據的完整性

2)驗證用户的身份

數字簽名採用一個人的私鑰計算出來,然後用公鑰去檢驗。

hash算法 私鑰加密

原報文 ――――――>;報文摘要( message digest ) ―――――>;數字簽名

原報文和數字簽名一起被髮送到接受者那裏,接受者用同樣的hash算法得到報文摘要,然後用發送者的公鑰解開數字簽名。

比較是否相同,則可以確定報文確定來自發送者。

驗證數字簽名必須使用公鑰,但是,除非你是通過安全的方式直接得到,否則不能保證公鑰的正確性。(數字證書可以解決這個問題)

一個接受者在使用公鑰(public key)檢查數字簽名(digital signature)的可信度時,通常先要檢查收到的公鑰(public key)是否可信的。

因此發送方不是單單地發送公鑰(public key),而是發送一個包含公鑰(public key)的數字證書(cetificate )。

4.數字證書

數字證書是一個經證書授權中心數字簽名的包含公開密鑰所有者信息以及公開密鑰的文件。

數字證書cetificate中包括:

i. 用户的公鑰(public key)

ii. 用户的一些信息,如姓名,email

iii. 發行機構的數字簽名(digital signature), 用於保證證書的可信度

iv. 發行機構的一些信息

數字證書的格式遵循x.509國際標準。

注意:一個數字證書certificate並不適用於多種browser,甚至一種browser的多個版本。

數字標識由公用密鑰、私人密鑰和數字簽名三部分組成。

當在郵件中添加數字簽名時,您就把數字簽名和公用密鑰加入到郵件中。數字簽名和公用密鑰統稱為證書。您可以使用 outlook express 來指定他人向您發送加密郵件時所需使用的證書。這個證書可以不同於您的簽名證書。

收件人可以使用您的數字簽名來驗證您的身份,並可使用公用密鑰給您發送加密郵件,這些郵件必須用您的私人密鑰才能閲讀。

要發送加密郵件,您的通訊簿必須包含收件人的數字標識。這樣,您就可以使用他們的公用密鑰來加密郵件了。當收件人收到加密郵件後,用他們的私人密鑰來對郵件進行解密才能閲讀。

在能夠發送帶有數字簽名的郵件之前,您必須獲得數字標識。如果您正在發送加密郵件,您的通訊簿中必須包含每位收件人的數字標識。

數字證書,可以是個人證書或 web 站點證書,用於將身份與"公開密鑰"關聯。只有證書的所有者才知道允許所有者"解密"或進行"數字簽名"的相應"私人密鑰"。當您將自己的證書發送給其他人時,實際上發給他們的是您的公開密鑰,這樣他們就可以向您發送只能由您使用私人密鑰解密和讀取的加密信息。

通過瀏覽器使用數字證書,必須先要設置瀏覽器軟件 internet explorer 或 netscape使用此證書,才能開始發送加密或需要數字簽名的信息。訪問安全的 web 站點(以"https"打頭的站點)時,該站點將自動向您發送他們的web站點證書。

(證書授證中心)

ca機構,又稱為證書授證(certificate authority)中心,作為電子商務交易中受信任的第三方,承擔公鑰體系中公鑰的合法性檢驗的責任。ca中心為每個使用公開密鑰的用户發放一個數字證書,數字證書的作用是證明證書中列出的用户合法擁有證書中列出的公開密鑰。ca機構的數字簽名使得攻擊者不能偽造和篡改證書。在set交易中,ca不僅對持卡人、商户發放證書,還要對獲款的銀行、網關發放證書。它負責產生、分配並管理所有參與網上交易的個體所需的數字證書,因此是安全電子交易的核心環節。

〖5〗〖6〗〖7〗〖8〗〖9〗〖10〗〖11〗〖12〗〖13〗〖14〗〖15〗

對證書的信任基於對根證書的信任. 例如在申請sheca的個人數字證書前,需要先下載根證書,然後再進行各類證書的申請。

下載根證書的目的:

網絡服務器驗證(s);安全電子郵件(e)

申請個人數字證書可以為internet用户提供發送電子郵件的安全和訪問需要安全連接(需要客户證書)的站點。

1)個人數字證書

a.個人身份證書

個人身份證書是用來表明和驗證個人在網絡上的身份的證書,它確保了網上交易和作業的安全性和可靠性。可應用於:網上炒股、網上理財、網上保險、網上繳費、網上購物、網上辦公等等。個人身份證書可以存儲在軟盤或ic卡中。

b.個人安全電子郵件證書

個人安全電子郵件證書可以確保郵件的真實性和保密性。申請後一般是安裝在用户的瀏覽器裏。用户可以利用它來發送簽名或加密的電子郵件。

用户在申請安裝完安全安全電子郵件數字證書後,就可以對要發送的郵件進行數字簽名。收信人收到該郵件後,就可以看到數字簽名的標記,這樣就可以證明郵件肯定來自發信者本人,而不是別人盜用該帳號偽造信件,同時也保證該郵件在傳送過程中沒被他人篡改過任何數據。

安全電子郵件中使用的數字證書可以實現:

保密性 通過使用收件人的數字證書對電子郵件加密。如此以來,只有收件人才能閲讀加密的郵件,在internet上傳遞的電子郵件信息不會被人竊取,即使發錯郵件,收件人也無法看到郵件內容。

認證身份 在internet上傳遞電子郵件的雙方互相不能見面,所以必須有方法確定對方的身份。利用發件人數字證書在傳送前對電子郵件進行數字簽名即可確定發件人身份,而不是他人冒充的。

完整性 利用發件人數字證書在傳送前對電子郵件進行數字簽名不僅可確定發件人身份,而且傳遞的電子郵件信息也不能被人在傳輸過程中修改。

不可否認性 由於發件人的數字證書只有發件人唯一擁有,故發件人利用其數字證書在傳送前對電子郵件進行數字簽名,發件人就無法否認發過這個電子郵件。

outlook express中的個人安全電子郵件證書

簽名郵件帶有簽名郵件圖標。

簽名郵件可能出現的任何問題都將在本信息之後可能出現的“安全警告”中得到描述。如果存在問題,您應該認為郵件已被篡改,或並非來自所謂的發件人。

當收到一封加密郵件時,您應該可以自信地認為郵件未被任何第三者讀過。outlook express 會自動對電子郵件解密, 如果在您的計算機上裝有正確的數字標識。

2)企業數字證書

a.企業身份證書

企業身份證書是用來表明和驗證企業用户在網絡上身份的證書,它確保了企業網上交易和作業的安全性和可靠性。可應用於:網上證券、網上辦公、網上交税、網上採購、網上資金轉帳、網上銀行等。企業身份證書可以存儲在軟盤和ic卡中。

b.企業安全電子郵件證書

企業安全電子郵件證書可以確保郵件的真實性和保密性。申請後一般是安裝在用户的瀏覽器裏。企業可以利用它來發送簽名或加密的電子郵件。

可使用 windows 中的證書服務來創建證書頒發機構 (ca),它負責接收證書申請、驗證申請中的信息和申請者的身份、頒發證書、吊銷證書以及發佈證書吊銷列表 (crl)。

通常,當用户發出證書申請時,在其計算機上的加密服務提供程序 (csp) 為用户生成公鑰和私鑰對。用户的公鑰隨同必要的識別信息發送至 ca。如果用户的識別信息符合批准申請的 ca 標準,那麼 ca 將生成證書,該證書由客户應用程序檢索並就地存儲。

安全接口層協議——ssl(se cure socketslayer),並且已經幾乎成為了目前www 世界的事實標準。這一標準使用公共密鑰編碼方案來對傳輸數據進行加密,在雙方之間建立一個internet 上的加密通道,從而使第三方無法獲得其中的信息,其思路與目前流行的方案大致相同,目的都是要保護數據不被未經授權的第三方所竊聽,或即使竊聽到也不知所云。但就象 一樣,ssl 在認證方面沒有任何作為,它們都需要通過另外的手段來確認身份和建立雙方彼此間的信任,然後再通過ssl 進行交易。

正是由於ssl 標準在認證方面的缺憾,所以set 才有存在的必要。set(secure electronic transactions) 規範由masterc ard 和visa 公司於1996 年發佈,專家們認為set 是保證用户與商家在電子商務與在線交易中免受欺騙的重要手段。傳統的信用卡交易者總在擔心不誠實的店員會將自己的信用卡號碼透露給他人,而在線交易也是如此,持卡者總在擔心服務器端的管理員會將信用卡號碼泄露出去,或者擔心黑客會在管理員不知情的情況下盜取信用卡號碼。事實上這些擔心都是必要的,而set 標準則可以保證用户的信用卡號碼只傳送給信用卡公司進行認證,不會被系統管理員看到,也不會留在交易服務器的硬盤上給黑客以可乘之機。

pki是一種易於管理的、集中化的網絡安全方案。它可支持多種形式的數字認證: 數據加密、數字簽字、不可否認、身份鑑別、密鑰管理以及交叉認證等。pki可通過一個基於認證的框架處理所有的數據加密和數字簽字工作。p ki標準與協議的開發迄今已有20xx年的歷史,目前的pki已完全可以向企業網絡提供有效的安全保障。 〖5〗〖6〗〖7〗〖8〗〖9〗〖10〗〖11〗〖12〗〖13〗〖14〗〖15〗

pki是一種遵循標準的密鑰管理平台,它能夠為所有網絡應用透明地提供採用加密和數字簽名等密碼服務所必需的密鑰和證書管理。pki必須具有

1)ca、

2)證書庫、

3)密鑰備份及恢復系統、

4)證書作廢處理系統、

5)客户端證書處理系統

等基本成分,構建pki也將圍繞着這五大系統來構建

一個pki由眾多部件組成,這些部件共同完成兩個主要功能:

1)為數據加密

2)創建數字認證。

服務器(即後端)產品是這一系統的核心,這些數據庫管理着數字認證、公共密鑰及專用密鑰( 分別用於數據的加密和解密)。

ca數據庫負責發佈、廢除和修改x.509數字認證信息,它裝有用户的公共密鑰、證書有效期以及認證功能(例如對數據的加密或對數字簽字的驗證) 。為了防止對數據簽字的篡改,ca在把每一數字簽字發送給發出請求的客户機之前,需對每一個數字簽字進行認證。一旦數字認證得以創建, 它將會被自動存儲於x.500目錄中,x.500目錄為樹形結構。ldap(lightweight directory access protocol)協議將響應那些要求提交所存儲的公共密鑰認證的請求。ca為每一用户或服務器生成兩對獨立的公共和專用密鑰。其中一對用於信息的加密和解密, 另一對由客户機應用程序使用,用於文檔或信息傳輸中數字簽字的創建。

大多數pki均支持證書分佈,這是一個把已發佈過的或續延生命期的證書加以存儲的過程。這一過程使用了一個公共查詢機制,x.500目錄可自動完成這一存儲過程。影響企業普遍接受p ki的一大障礙是不同ca之間的交叉認證。假設有兩家公司,每一家企業分別使用來自不同供應商的ca,現在它們希望相互託管一段時間。如果其後援數據庫支持交叉認證, 則這兩家企業顯然可以互相托管它們的ca,因而它們所託管的所有用户均可由兩家企業的ca所託管。

* 認證機關

ca是證書的簽發機構,它是pki的核心。眾所周知,構建密碼服務系統的核心內容是如何實現密鑰管理,公鑰體制涉及到一對密鑰,即私鑰和公鑰, 私鑰只由持有者祕密掌握,無須在網上傳送,而公鑰是公開的,需要在網上傳送,故公鑰體制的密鑰管理主要是公鑰的管理問題,目前較好的解決方案是引進證書(certificate)機制。

證書是公開密鑰體制的一種密鑰管理媒介。它是一種權威性的電子文檔,形同網絡計算環境中的一種身份證,用於證明某一主體(如人、服務器等)的身份以及其公開密鑰的合法性。在使用公鑰體制的網絡環境中, 必須向公鑰的使用者證明公鑰的真實合法性。因此,在公鑰體制環境中,必須有一個可信的機構來對任何一個主體的公鑰進行公證,證明主體的身份以及他與公鑰的匹配關係。c a正是這樣的機構,它的職責歸納起來有:

1、驗證並標識證書申請者的身份;

2、確保ca用於簽名證書的非對稱密鑰的質量;

3、確保整個簽證過程的安全性,確保簽名私鑰的安全性;

4、證書材料信息(包括公鑰證書序列號、ca標識等)的管理;

5、確定並檢查證書的有效期限;

6、確保證書主體標識的唯一性,防止重名;

7、發佈並維護作廢證書表;

8、對整個證書籤發過程做日誌記錄;

9、向申請人發通知。

其中最為重要的是ca自己的一對密鑰的管理,它必須確保其高度的機密性,防止他方偽造證書。ca的公鑰在網上公開,整個網絡系統必須保證完整性。

* 證書庫

證書庫是證書的集中存放地,它與網上"白頁”類似,是網上的一種公共信息庫,用户可以從此處獲得其他用户的證書和公鑰。

構造證書庫的最佳方法是採用支持ldap協議的目錄系統,用户或相關的應用通過ldap來訪問證書庫。系統必須確保證書庫的完整性,防止偽造、篡改證書。

* 密鑰備份及恢復系統

* 證書作廢處理系統

* pki應用接口系統

pki的價值在於使用户能夠方便地使用加密、數字簽名等安全服務,因此一個完整的pki必須提供良好的應用接口系統,使得各種各樣的應用能夠以安全、一致、可信的方式與p ki交互,確保所建立起來的網絡環境的可信性,同時降低管理維護成本。最後,pki應用接口系統應該是跨平台的。

許多權威的認證方案供應商(例如verisign、thawte以及gte)目前都在提供外包的pki。外包pki最大的問題是,用户必須把企業託管給某一服務提供商, 即讓出對網絡安全的控制權。如果不願這樣做,則可建造一個專用的pki。專用方案通常需把來自entrust、baltimore technologies以及xcert的多種服務器產品與來自主流應用程序供應商(如microsoft、netscape以及qualcomm)的產品組合在一起。專用pk i還要求企業在準備其基礎設施的過程中投入大量的財力與物力。

擴展jaas實現類實例級授權

“java 認證和授權服務”(java authentication and authorization service,jaas)

在 jaas 下,可以給予用户或服務特定的許可權來執行 java 類中的代碼。在本文中,軟件工程師 carlos fonseca 向您展示如何為企業擴展 jaas 框架。向 jaas 框架添加類實例級授權和特定關係使您能夠構建更動態、更靈活並且伸縮性更好的企業應用程序。

大多數 java 應用程序都需要某種類實例級的訪問控制。例如,基於 web 的、自我服務的拍賣應用程序的規範可能有下列要求: 《5》《6》《7》《8》《9》《10》《11》《12》《13》《14》《15》

任何已註冊(經過認證)的用户都可以創建一個拍賣,但只有創建拍賣的用户才可以修改這個拍賣。

這意味着任何用户都可以執行被編寫用來創建 auction 類實例的代碼,但只有擁有該實例的用户可以執行用來修改它的代碼。通常情況下,創建 auction 實例的用户就是所有者。這被稱為類實例所有者關係(class instance owner relationship)。

該應用程序的另一個要求可能是:

任何用户都可以為拍賣創建一個投標,拍賣的所有者可以接受或拒絕任何投標。

再一次,任何用户都可以執行被編寫用來創建 bid 類實例的代碼,但只有擁有該實例的用户會被授予修改該實例的許可權。而且,auction 類實例的所有者必須能夠修改相關的 bid 類實例中的接受標誌。這意味着在 auction 實例和相應的 bid 實例之間有一種被稱為特定關係(special relationship)的關係。

不幸的是,“java 認證和授權服務”(jaas)— 它是 java 2 平台的一部分 — 沒有考慮到類實例級訪問控制或者特定關係。在本文中,我們將擴展 jaas 框架使其同時包含這兩者。推動這種擴展的動力是允許我們將訪問控制分離到一個通用的框架,該框架使用基於所有權和特定關係的策略。然後管理員可以在應用程序的生命週期內更改這些策略。

在深入到擴展 jaas 框架之前,我們將重温一下 java 2 平台的訪問控制機制。我們將討論策略文件和許可權的使用,並討論 securitymanager 和 accesscontroller 之間的關係。

java 2 平台中的訪問控制

在 java 2 平台中,所有的代碼,不管它是本地代碼還是遠程代碼,都可以由策略來控制。策略(policy)由不同位置上的代碼的一組許可權定義,或者由不同的簽發者定義、或者由這兩者定義。許可權允許對資源進行訪問;它通過名稱來定義,並且可能與某些操作關聯在一起。

抽象類 cy 被用於表示應用程序的安全性策略。缺省的實現由 cyfile 提供,在 cyfile 中,策略被定義在一個文件中。清單 1 是一個典型策略文件示例:

清單 1. 一個典型的策略文件

// grant these permissions to code loaded from a file

// in the c drive and if it is signed by xyz

grant codebase "file:/c:/", signedby "xyz" {

// allow socket actions to any host using port 8080

permission etpermission "*:8080", "accept, connect,

listen, resolve";

// allows file access (read, write, execute, delete) in

// the user's home directory.

permission permission "${}/-", "read, write,

execute, delete";

};

securitymanager 對 accesscontroller

在標準 jdk 分發版中,控制代碼源訪問的機制缺省情況下是關閉的。在 java 2 平台以前,對代碼源的訪問都是由 securitymanager 類管理的。securitymanager 是由 ger 系統屬性啟動的,如下所示:

java ger

在 java 2 平台中,可以將一個應用程序設置為使用 ritymanager 類或者 sscontroller 類管理敏感的操作。accesscontroller 在 java 2 平台中是新出現的。為便於向後兼容,securitymanager 類仍然存在,但把自己的決定提交 accesscontroller 類裁決。securitymanager 和 accesscontroller 都使用應用程序的策略文件確定是否允許一個被請求的操作。清單 2 顯示了 accesscontroller 如何處理 socketpermission 請求:

清單 2. 保護敏感操作

public void somemethod {

permission permission =

new etpermission("localhost:8080", "connect");

kpermission(permission);

// sensitive code starts here

socket s = new socket("localhost", 8080);

}

在這個示例中,我們看到 accesscontroller 檢查應用程序的當前策略實現。如果策略文件中定義的任何許可權暗示了被請求的許可權,該方法將只簡單地返回;否則拋出一個 accesscontrolexception 異常。在這個示例中,檢查實際上是多餘的,因為缺省套接字實現的構造函數也執行相同的檢查。

在下一部分,我們將更仔細地看一下 accesscontroller 如何與 cy 實現共同合作安全地處理應用程序請求。

運行中的 accesscontroller

accesscontroller 類典型的 checkpermission(permission p) 方法調用可能會導致下面的一系列操作:

accesscontroller 調用 cy 類實現的 getpermissions(codesource codesource) 方法。

getpermissions(codesource codesource) 方法返回一個 permissioncollection 類實例,這個類實例代表一個相同類型許可權的集合。

accesscontroller 調用 permissioncollection 類的 implies(permission p) 方法。

接下來,permissioncollection 調用集合中包含的單個 permission 對象的 implies(permission p) 方法。如果集合中的當前許可權對象暗示指定的許可權,則這些方法返回 true,否則返回 false。

[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15]

現在,讓我們更詳細地看一下這個訪問控制序列中的重要元素。

permissioncollection 類

大多數許可權類類型都有一個相應的 permissioncollection 類。這樣一個集合的實例可以通過調用 permission 子類實現定義的 newpermissioncollection 方法來創建。cy 類實現的 getpermissions 方法也可以返回 permissions 類實例 — permissioncollection 的一個子類。這個類代表由 permissioncollection 組織的不同類型許可權對象的一個集合。permissions 類的 implies(permission p) 方法可以調用單個 permissioncollection 類的 implies(permission p) 方法。

codesource 和 protectiondomain 類

許可權組合與 codesource(被用於驗證籤碼(signed code)的代碼位置和證書)被封裝在 protectiondomain 類中。有相同許可權和相同 codesource 的類實例被放在相同的域中。帶有相同許可權,但不同 codesource 的類被放在不同的域中。一個類只可屬於一個 protectiondomain。要為對象獲取 protectiondomain,請使用 s 類中定義的 getprotectiondomain 方法。

許可權

賦予 codesource 許可權並不一定意味着允許所暗示的操作。要使操作成功完成,調用棧中的每個類必須有必需的許可權。換句話説,如果您將 permission 賦給類 b,而類 b 是由類 a 來調用,那麼類 a 必須也有相同的許可權或者暗示 permission 的許可權。

在另一方面,調用類可能需要臨時許可權來完成另一個擁有那些許可權的類中的操作。例如,當從另一個位置加載的類訪問本地文件系統時,我們可能不信任它。但是,本地加載的類被授予對某個目錄的讀許可權。這些類可以實現 privilegedaction 接口來給予調用類許可權以便完成指定的操作。調用棧的檢查在遇到 privilegedaction 實例時停止,有效地將執行指定操作所必需的許可權授予所有的後繼類調用。

使用 jaas

顧名思義,jaas 由兩個主要組件組成:認證和授權。我們主要關注擴展 jaas 的授權組件,但開始我們先簡要概述一下 jaas 認證,緊接着看一下一個簡單的 jaas 授權操作。

jaas 中的用户認證

jaas 通過添加基於 subject 的策略加強了 java 2 中定義的訪問控制安全性模型。許可權的授予不僅基於 codesource,還基於執行代碼的用户。顯然,要使這個模型生效,每個用户都必須經過認證。

jaas 的認證機制建立在一組可插登錄模塊的基礎上。jaas 分發版包含幾個 loginmodule 實現。loginmodules 可以用於提示用户輸入用户標識和密碼。logincontext 類使用一個配置文件來確定使用哪個 loginmodule 對用户進行認證。這個配置可以通過系統屬性 ig 指定。一個示例配置是:

java ig=

下面是一個登錄配置文件的樣子:

example {

nmoduleexample required

debug=true userfile="" groupfile="";

};

認識您的主體

subject 類被用於封裝一個被認證實體(比如用户)的憑證。一個 subject 可能擁有一個被稱為主體(principal)的身份分組。例如,如果 subject 是一個用户,用户的名字和相關的社會保險號可能是 subject 的某些身份或主體。主體是與身份名關聯在一起的。

principal 實現類及其名稱都是在 jaas 策略文件中指定的。缺省的 jaas 實現使用的策略文件與 java 2 實現的策略文件相似 — 除了每個授權語句必須與至少一個主體關聯在一起。cy 抽象類被用於表示 jaas 安全性策略。它的缺省實現由 cyfile 提供,在 cyfile 中策略定義在一個文件中。清單 3 是 jaas 策略文件的一個示例:

清單 3. 示例 jaas 策略文件

// example grant entry

grant codebase "file:/c:/", signedby "xyz",

principal cipalexample "admin" {

// allow socket actions to any host using port 8080

permission etpermission

"*:8080", "accept, connect, listen, resolve";

// allows file access (read, write, execute, delete) in

// the user's home directory.

permission permission

"${}/-", "read, write, execute, delete";

};

這個示例與清單 1 中所示的標準 java 2 策略文件相似。實際上,唯一的不同是主體語句,該語句聲明只有擁有指定主體和主體名字的 subject(用户)被授予指定的許可權。

再一次,使用系統屬性 cy 指出 jaas 策略文件駐留在何處,如下所示:

java cy=

subject 類包含幾個方法來作為特殊 subject 執行工作;這些方法如下所示:

public static object

doas(subject subject, ilegedaction action) 3 4 5 6 7 8 9 10 11 12 13 14 15

public static object

doas(subject subject, ilegedaction action)

throws ilegedactionexception

注意,用來保護敏感代碼的方法與“java 2 代碼源訪問控制”(java 2 codesource access control)概述中描述的方法相同。請參閲參考資料部分以瞭解更多關於 jaas 中代碼源訪問控制和認證的信息。

jaas 中的授權

清單 4 顯示一個授權請求的結果,該請求使用清單 3 中顯示的 jaas 策略文件。假設已經安裝了 securitymanager,並且 logincontext 已經認證了一個帶有名為“admin”的 cipalexample 主體的 subject。

清單 4. 一個簡單的授權請求

public class jaasexample {

public static void main(string args) {

...

// where authenticateduser is a subject with

// a principalexample named admin.

(authenticateduser, new jaasexampleaction);

...

}

}

public class jaasexampleaction implements privilegedaction {

public object run {

filewriter fw = new filewriter("");

e("hello, world!");

e;

}

}

這裏,敏感代碼被封裝在 jaasexampleaction 類中。還要注意,調用類不要求為 jaasexampleaction 類代碼源授予許可權,因為它實現了一個 privilegedaction。

擴展 jaas

大多數應用程序都有定製邏輯,它授權用户不僅僅在類上執行操作,而且還在該類的實例上執行操作。這種授權通常建立在用户和實例之間的關係上。這是 jaas 的一個小缺點。然而,幸運的是,這樣設計 jaas 使得 jaas 可以擴展。只要做一點工作,我們將可以擴展 jaas,使其包含一個通用的、類實例級的授權框架。

在文章開頭處我已經説明了,抽象類 cy 被用於代表 jaas 安全性策略。它的缺省實現是由 cyfile 類提供。policyfile 類從 jaas 格式的文件(象清單 3 中顯示的那個一樣)中讀取策略。

我們需要向這個文件添加一個東西為類實例級授權擴展策略定義:一個與許可權語句相關的可選關係參數。

缺省 jaas 許可權語句的格式如下:

permission ; [name], [actions];

我們在這個許可權語句的末尾添加一個可選的關係參數來完成策略定義。下面是新許可權語句的格式:

permission ;

[name], [actions], [relationship];

在為類實例級授權擴展 jaas 時要注意的最重要的一點是:許可權實現類必須有一個帶三個參數的構造函數。第一個參數是名稱參數,第二個是行為參數,最後一個是關係參數。

解析新文件格式

既然文件格式已經改變,就需要一個新的 cy 子類來解析文件。

為簡單起見,我們的示例使用了一個新的 cy 子類 olicyfile,來從 xml 文件讀取策略。在實際的企業應用程序中,關係數據庫更適合執行這個任務。

使用 xmlpolicyfile 類代替缺省的 jaas 訪問控制策略實現的最容易的方法是向 rity 屬性文件添加 ider=olicyfile 條目。rity 屬性文件位於 java 2 平台運行時的 lib/security 目錄下。清單 5 是與 xmlpolicyfile 類一起使用的樣本 xml 策略文件:

清單 5. 一個 xml 策略文件

;

;

;

"cipalexample" name="users">;

"urcepermission"

name="ion"

actions="create" />;

"urcepermission"

name="ion"

actions="read" />;

"urcepermission"

name="ion"

actions="write"

relationship="owner" />;

"urcepermission"

name=""

actions="create" />;

"urcepermission"

name=""

actions="read" />;

"urcepermission"

【5】【6】【7】【8】【9】【10】【11】【12】【13】【14】【15】

name=""

actions="write"

relationship="owner" />;

"urcepermission"

name=""

actions="accept"

relationship="actionowner" />;

;

;

;

在這個示例策略文件中,任何與名為 principalexample 的用户有關的用户(subject)都可以創建並讀取一個 s 實例。但是,只有創建該實例的用户才可以更新(寫)它。這是第三個 permission 元素定義的,該元素包含值為 owner 的 relationship 屬性。s 實例也是一樣,除了相應 s 實例的所有者可以更改投標接受標誌。

resource 接口

要求類實例級訪問控制的類必須實現 resource 接口。該接口的 getowner 方法返回類實例的所有者。fulfills(subject subject, string relationship) 方法被用於處理特定關係。另外,這些類使用 urcepermission 類保護敏感代碼。例如,auction 類擁有下列構造函數:

public auction {

permission permission =

new resourcepermission("ion", "create");

kpermission(permission);

}

所有者關係

resourcepermission 類的 implies(permission p) 方法是這個框架的關鍵。implies 方法就等同性比較名稱和行為屬性。如果定義了一個關係,那麼必須把受保護的類實例(resource)傳遞到 resourcepermission 構造函數中。resourcepermission 類理解所有者關係。它將類實例的所有者與執行代碼的 subject(用户)進行比較。特定關係被委託給受保護類的 fulfills 方法。

例如,在清單 5 中所示的 xml 策略文件中,只有 auction 類實例的所有者可以更新(寫)文件。該類的 setter 方法使用清單 6 中顯示的保護代碼:

清單 6. 運行中的 implies(permission) 方法

public void setname(string newname) {

permission permission =

new resourcepermission("ion", "write", this);

kpermission(permission);

// sensitive code

= newname;

}

被傳遞到 resourcepermission 構造函數中的 this 引用代表 auction 類實現的 resource 接口。由於策略文件中列出的關係是 owner,所以 resourcepermission 類使用這個引用檢查當前 subject(用户)是否擁有與實例所有者相匹配的主體。如果指定了另一個關係,那麼 resourcepermission 類調用 auction 類的 fulfills(subject subject, string relationship) 方法。由 resource 實現類提供 fulfills 方法中的邏輯。

xml 策略文件中列出的 bid 類擁有清單 7 中所示的方法(假設 bid 類實例有一個對相應 auction 類實例的引用 — auction)。

清單 7. 處理特定關係

public void setaccepted(boolean flag) {

permission permission =

new resourcepermission("ion", "accept", this);

kpermission(permission);

// sensitive code

pted = flag;

}

public boolean fulfills(subject user, string relationship) {

if( lsignorecase("auctionowner") ) {

string auctionowner = wner;

iterator principaliterator = ator;

while(ext) {

principal principal = (principal) ;

if( ls(auctionowner) )

return true;

}

}

return false;

}

傳遞到 fulfills 方法中的關係字符串是策略文件中列出的關係。在這個案例中,我們使用了“auctionowner”字符串。

缺省情況下,xmlpolicyfile 類在當前工作目錄中查找名為 的文件。系統屬性 cy 可以用於指定另一個不同的文件名和位置。

websphere application server 示例

除命令行示例之外,您可能還想運行這個簡單的程序,該程序為了 ibm websphere application server,version 4.0.2 而被優化。

一個可運行的示例

綜合這些信息,我們將運行一個簡單的命令行示例。該示例程序包含三個 jar 文件:

文件包含允許實例級訪問控制的 jaas 擴展框架。它還包含一個 loginmoduleexample 類,這個類從 xml 文件讀取用户認證信息。用户標識和密碼存儲在 文件中。用户組存儲在 文件中。關於 loginmoduleexample 的更多信息,請參閲參考資料部分。

該示例包含四個附加的文件:

policy

在試圖運行這個示例程序之前,請確保更新了 、policy 和 文件中的路徑。缺省情況下,所有的密碼都是“passw0rd”。

示例如何工作

該示例程序提示輸入用户標識和密碼。它用 文件中的條目核對所提供的用户標識和密碼。在認證了用户之後,程序設法創建一個 userprofile 類實例,修改它並從中讀取。缺省情況下,userprofile 類的所有者是 jane(jane)。當 jane 登錄時,三個操作全部成功。當 john(john)登錄時,只有創建操作成功。當 jane 的經理 lou(lou)登錄時,只有第一個和最後一個操作成功。當系統管理員(admin)登錄時,操作全部成功。當然,只有當提供的 文件未被修改時,上述這些才都是真的。

示例安裝

下面的安裝指導假設您正在使用 jdk 1.3 並且已經把文件解壓縮到 d:jaasexample 目錄。通過將文件解壓縮到這個目錄,您可以省去一些工作;否則您就必須使用正確的路徑名修改 policy 和 策略文件。

下面是運行該示例需要做的工作:

下載這個示例的源文件。

把 和 複製到 jdk jrelibext 目錄(即 d:jdk1.3jrelibext)。

向位於 jdk 的 jrelibsecurity 目錄(即 d:jdk1.3jrelibsecurity)中的 rity 文件的末尾添加下面的字符串:ider=olicyfile。

執行 文件。

結束語

類實例級授權把訪問控制分離到一個通用框架(該框架使用基於所有權和特定關係的策略)中。然後管理員可以在應用程序的生命週期內更改這些策略。用這種方法擴展 jaas 減少了您或另一個程序員必須在應用程序生命週期內業務規則發生更改時重寫代碼的可能性。

通過將關係字符串抽象為類可以進一步擴展特定關係這個概念。不調用 resource 實現類的 fulfills(subject user, string relationship) 方法,而只要調用 relationship 實現類中定義的新 fulfills(subject user, resource resource) 方法。這樣就會允許許多 resource 實現類使用相同的關係邏輯。

的安全性

1. the security manager是一個application-wide object ( ritymanager)

每個java application都可以有自己地security manager,但是默認地java application沒有一個security manager

可以通過下面地代碼得到一個security manager

try

{

ecuritymanager(new securitymanager(“--”));

}

catch( )

2.

jdbc

在 jdbc 2 開發的過程中,sql99 還處在一種變化不定的情況下。現在規範已經完成了,而且數據庫廠商已經採用了部分標準。所以自然地,jdbc 規範就跟着將自己與 sql99 功能的一部分相統一。最新的 jdbc 規範已經採用了 sql99 標準中那些已經被廣泛支持的功能,還有那些在五年內可能會獲得支持的功能。

1. datasource

在jdbc2.0 optional package中,提供了透明的連接池(connection pooling)。

一旦配置了j2ee應用服務器後,只要用datasource獲取連接(connection),連接池(connection pooling)就會自動的工作。

如果用户希望建立一個數據庫連接,通過查詢在jndi服務中的datasource,可以從datasource中獲取相應的數據庫連接。

datasource被認為是從jndi中獲取的網絡資源。

datasource在池中保存的對象都實現了pooledconnection接口。

當應用程序向datasource請求一個connection時,它會找到一個可用的pooledconnection對象。

如果連接池空了,它就向connectionpoolecdatasource請求一個新的pooledconnection對象

通過使用 datasource 接口 (jdbc 2.0) 或 drivermanager (jdbc 1.0) 接口,j2ee 組件可以獲得物理數據庫連接對象(connection)。要獲得邏輯(合用的)連接,j2ee 組件必須使用以下這些 jdbc 2.0 合用管理器接口:

ectionpooldatasource 接口,該接口充當合用的 ection 對象的資源管理器連接 factory。每家數據庫服務器供應商都提供該接口的實現

(例如,oracle 實現 leconnectionpooldatasource 類)。

edconnection 接口,該接口封裝到數據庫的物理連接。同樣,數據庫供應商提供其實現。

對於那些接口和 xa 連接的每一個,都存在一個 xa(x/open 規範)等價定義。

2. resultset

在jdbc2.0中,為了獲得一個uptatable result,在query語句裏必須包含primarykey,並且查詢的內容裏必須來自一個table

ltset接口中定義了三種類型的結果集

type_forward_only

type_scroll_insensitive 這種類型的結果集支持雙向滾動

type_scroll_sensitive

如果要建立一個雙向滾動的resultset,一定要在建立statement的時候使用如下參數

statement stmt = testatement(_scroll_insensitive,

ur_read_only);

3. jdbc驅動程序

連通oracle8.1.6的jdbc 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

把oracle8.1.6/lib/jdbc/* copy 到 %java_home%/jre/lib/ext/*

如果光copy不ren為是沒有用的。

4. 事務處理

本地事務

ection接口可以控制事務邊界(即開始和結束)。

在事務開始的時候調用setautocommit( false ), 而在中止事務時調用rollback或commit方法。這類事務叫本地事務。

分佈式事務

但是,在特定的情況下,可能有多個客户(例如兩個不同的servlet或ejb組件)參與了同一個事務。

或者,客户在同一個事務中可能會執行跨越多個數據庫的數據庫操作。

jdbc2.0 optional package 同jta一起來實現分佈式樣事務。

5. 一些技巧

檢索自動產生的關鍵字

為了解決對獲取自動產生的或自動增加的關鍵字的值的需求,jdbc 3.0 api 現在將獲取這種值變得很輕鬆。要確定任何所產生的關鍵字的值,只要簡單地在語句的 execute 方法中指定一個可選的標記,表示您有興趣獲取產生的值。您感興趣的程度可以是 rn_generated_keys,也可以是 _generated_keys。在執行這條語句後,所產生的關鍵字的值就會通過從 statement 的實例方法 getgeneratedkeys 來檢索 resultset 而獲得。resultset 包含了每個所產生的關鍵字的列。清單 1 中的示例創建一個新的作者並返回對應的自動產生的關鍵字。

清單 1. 檢索自動產生的關鍵字

statement stmt = testatement;

// obtain the generated key that results from the query.

uteupdate("insert into authors " +

'(first_name, last_name) " +

"values ('george', 'orwell')",

rn_generated_keys);

resultset rs = eneratedkeys;

if ( ) {

// retrieve the auto generated key(s).

int key = nt;

}

jta/jts

基本知識

服務器實現jts是否對應用程序開發人員來説不是很重要的。

對你來説,應該把jta看作是可用的api。

jta是用來開發distributed tansaction的 api.

而jts定義了支持jta中實現transaction manager 的規範。

javatransaction service (jts) specifies the implementation of a transaction manager which supports the java transaction api (jta) 1.0 specification at the high-level and implements the java mapping of the omg object transaction service (ots) 1.1 specification at the low-level. jts uses the standard corba orb/ts interfaces and internet inter-orb protocol (iiop) for transaction context propagation between jts transaction managers.

a jts transaction manager provides transaction services to the parties involved in distributed transactions: the application server, the resource manager, the standalone transactional application, and the communication resource manager (crm).

1.1 事務處理的概念

jta實際上是由兩部分組成的:一個高級的事務性客户接口和一個低級的 x/open xa接口。

我們關心的是高級客户接口,因為bean可以訪問它,而且是推薦的客户應用程序的事務性接口。

低級的xa接口是由ejb服務器和容器使用來自動協調事務和資源(如數據庫)的

1.1.1事務劃分

a.程序劃分

使用usertransaction啟動jta事務

the usertransaction interface defines the methods that allow an application to explicitly manage transaction boundaries.(from j2ee api

document)

諾曼底號遇難記讀書心得感悟 篇9

今天我讀了《小鹿學長跑》。清早,太陽公公還沒露出笑臉,小鹿就開始練習跑步了。很多小動物都還在睡懶覺,可是,小鹿已經呼吸着樹木裏的清新空氣,越跑越快了。小鹿每天堅持 練習長跑,身體鍛鍊得非常強健,所以,小鹿一次次逃脱了兇猛老虎的追捕。這個故事告訴我們:做任何事情都不能偷懶,只有堅持,才能學到真本領。

諾曼底號遇難記讀書心得感悟 篇10

一、洛克印象:

洛克的全名是約翰洛克,是有名的英國資產積極思想家和教育家。1632年出生於一個小地主家庭。父親是一個嚴格的清教徒,內戰中站在議會一邊,他們父子關 系極好,父親對他的政治態度和教育思想很有影響。1644年他入偉士敏士特學校受中學教育,那裏的經院主義教育使他十分反感。他在《教育漫話》中反對機械 的學習、反對靠文法學語文,就出自他的切身體驗。1659年入劍橋大學攻讀哲學、自然科學,深受培根和笛卡兒著作的影響,一度愛好化學和氣象學實驗。他喜 神學,因無真正的職業性神職機會,轉而習醫,打算以醫為業。1661年畢業後留校任教。

洛克的著作有《文官論》《論自然的法則》《論寬容》《政府論》《人類理解論》《教育漫話》《論基督教的合理性》《關於理解的指導》《自然哲學基礎》。此外,他還為工業和殖民地事務委員會擬了一份《工作學校草案》。

洛克的治學觀點有唯物和唯心兩重性。他着重研究了認識論。他在他的《人類理解論》第一卷中探討了觀念起源問題。他認為,觀念和原則同藝術和科學一樣,不是 天賦的。心靈原像一塊白板入一個暗室、一個空箱,或像一張白紙,其中沒有任何字樣、任何觀念。他的裝備和知識材料來自經驗。人類的知識都建立在經驗之上, 發源於經驗。人類的觀念來源首先是感覺,此外還有反省。人類理解首要的機能是心靈能接受所感受的印象,這是外在的對象通過感官所造成的。或他本身反省那些 印象時所造成的。他是一個唯物主義的感覺論者,又是一個感覺論的二元論者。

洛克的教育思想除散見於《人類理解論》和《工作學校草案》以外,集中在他的《教育漫話》一書中。《教育漫話》先後譯為法、荷、瑞典、德、意等國文字,在這 部著作中,他詳細審定了紳士教育的性質、目的、內容和方法。這部著作,反映了新興的資產階級的要求,批判了當時英國的傳統教育,提倡較廣泛的、切合實用的 教學內容和方法,並在體育、德育和智育方面,提出了一系列有價值的建議。他的教育思想主流是進步的,但也有反人民的因素,他提出的許多具體措施有很多正確 的成分。

二、健康的身體:健全的精神和知識的載體 (摘錄)

有健康的身體方有健全的精神,這是對於人生的一個簡短而充分的描繪。

身體和精神有一方面不健康的人,即使有了別的種種,也是徒然。不善於用心的人,決不能遵循正當的途徑;身體孱弱的人,即使有了正當的途徑也決不能獲得進展。

我敢説我們日常所見的人,他們之所以或好或壞,或有用或無用,十分之九都是他們的教育所決定的。人類之所以有千差萬別,便是由於教育之故。

我們幼小時所得的印象,哪怕極微極小,小到幾乎覺察不出,都有極大極長久的影響;正如江河的源泉一樣,水性很弱,一點點人力便可以把它導入他途,使河流的根本方向改變;從根源上引導一下,河流的終極流向途徑,就會截然不同。

我們要工作,要有幸福,必須先有健康;我們能忍耐勞苦,要在世界上做個人物,也必須先有強健的體格。

第一件當心事,是兒童無論冬夏春秋,衣着都不可太暖。初生時,人的面孔同其他部位一樣嬌嫩,因為長期袒露,所以比其他部位更經受得起風寒了。

只有睡眠是兒童可以充分享受的,只有睡眠最能增進兒童的生長與健康。

早起頂有益於健康。

多吸新鮮空氣,多運動,多睡眠;食物要清淡,酒類或烈性的飲料不可喝,藥物要用得極少,最好是不用;衣服不可過暖過緊,尤其是頭部和足部要涼爽,腳習慣冷水,應與水接觸。

孩子年齡增長,自由便隨之而來,無須永遠受人監護。這時,學校家長最要緊的是給孩子良好的原則與牢固的好習慣,這是最要緊和最可靠的。一切告誡與規勸及原則的重申,無論如何反覆叮嚀,除非形成了習慣,全是不中用的。

孩子的飲食宜極清淡簡單,兩三歲前,應該禁止肉食。三四歲以前完全禁止肉食,一切疾病定可以大大避免,而健康與強壯的體制基礎也一定可以確切地奠定下來。

孩子的卧牀,應該是堅硬的,寧可用絮絨,不可用羽絨。硬牀可以鍛鍊身體;至於每夜睡在羽絨被褥裏,那是消融體魄的,是虛弱的原因,短命的先兆。這種不 經意的舒適,會潛移默化地削弱人的體質,引起許多疾病。況且習慣睡硬牀的人,外出旅行等能夠適應不好的睡眠條件。將身體習慣為隨遇而安,是人的一種大幸, 也是成就事業的一個重要條件。

三、良好強健的心理素質:人生海洋中衝浪的堅船(摘錄)

心理強健的主要標準:能剋制自己的慾望,能不顧自己的好惡傾向而嚴格順從正確的理性指導。能在理性航標的指引下,毅然與願望背道而馳。

我們在教養子女中的一個重大錯誤,就是沒有注意到這一點:精神在最孱弱,可塑性最強的時候,沒有讓他們習慣於約束,服從於理智,沒有按應該形成的樣子 去塑造。對子女本能的愛常常成為溺愛,沒有規則的約束,形成了不良習慣,以後便成為一塊變形磚,沒法子派用場。幼兒要母親的奶頭,兒童要糖果,青年要愛 人……人的不同年齡段,有不同的慾望,這不是錯處。錯的是慾望脱開理智,產生不適當的慾望,或對正確的慾望產生不適當的度。如兒童就要愛人,便不適當;要 把所有的糖果都歸自己,便不適度。不適當和不適度放縱下去,就成習慣,遺害無窮。

從搖籃中開始,就要培養孩子這樣一種習慣:去爭取自己該得到的東西,不是爭取自己想 得到而不該得到的東西。不要因為孩子的哭鬧而違原則屈從,他們就會學會得不到也能心理平衡,他們就不會有非分之想,以及為達到非分之想而哭鬧,正象他們不會哭着要月亮一樣。

管教兒童,要從極小時開始。你要在孩子長大後服從你,首先要他在兒童時服從你。隨着孩子的長大,你就要以理服人,假以詞色。如果再強力迫脅,則必然招 致失敗。方法正確,小時孩子是你的“僕人”,大了成為你的朋友;方法不當,大了以後會成為你的“敵人”,會厭惡你,可能心裏會暗暗划算:“爸爸,你什麼時 候才死呢?”

另一方面,要警惕一種相反的傾向:兒童被管束太嚴,精神沮喪頹唐,失去活力和勤奮,那樣更糟糕。放蕩的青年,常生龍活虎一般,精神飽滿。一但上了軌道,常常可以變成一些能幹偉大的人物。

心情沮喪的兒童則不然,他們的態度是怯懦的,精神是抑鬱的,很不易振作起來,作出什麼事業。

要避免上述兩方面的矛盾,需要一種重要的技巧。誰要找出這樣一種方法:一方面使兒童的心情安逸、活潑、自由,同時又能使他們抑制非分的慾望,這就算懂得教育的真正祕訣了。

對兒童獎勵與懲罰都要慎用。懲罰的目的是為了知錯改錯,這主要體現在心理的認知上,如果不能觸及心理,這種懲罰便是無用的,如果使被懲罰者不但未感羞愧,而且產生反感,那就是一種徹底的失敗。

四、知識和技能教育

讀書、寫字和學問,是必要的,但卻不應該成為首要的事物。如果有人不把一個有德行的人或者有智慧的人看得遠比一個大學者更為可貴,那麼他是一個非常愚蠢的傢伙。

學問當然得有,但應該放在第二位,只能作為輔助更重要的品質之用。

對本質良好的人來説,學問對於德行與智慧都是大有幫助的,然而我們也得承認,對本質不良的人來説,學問就只會促使他們變得更加愚蠢,或者變成更壞的人。

閲讀……兒童到了能夠説話的時候,就應當開始學習閲讀。

一定要多加註意,決不可把讀書當作他的一種工作,也不可讓他把讀書看成一項任務。

讓他們自己嚮往學習,追求學習如同追求另一種遊戲或娛樂。但決不可把學習當作他們的一項任務,也不可讓學習成為他們的一種煩惱。

兒童的身上,是不應揹負任何工作之類的嚴肅事情的,因為他們的心智和身體都承受不了。

不要強迫兒童學習,也不要因此斥責他;要儘可能地誘導他去學習閲讀,不要把學習作為他的一種工作。寧可讓他晚一年學會閲讀,也不可讓他因此對學習產生憎惡心理。

當這些温和的方法使得他逐漸能夠閲讀時,便應當為他選擇一本淺顯、有趣而又適合他的能力的書,讓他在閲讀中得到樂趣,從而吸引他,使他能夠從讀書的辛勞中得到回報,不過所選的書不應在他的頭腦中充塞純粹無用、華而不實的東西,或者打下邪惡與愚蠢的基礎。

每一個兒童去閲讀他完全不能理解的章節段落,其中能有什麼樂趣、能受到什麼鼓勵呢?

教學方法

其實教師應該考慮到,自己的責任是讓兒童養成習慣,而不是怒氣衝衝地向兒童灌輸規則,規則對人生的指導是沒有多大用處的,至少對兒童沒有用處,因為兒童根本記不住規則。

在兒童年紀還很小的時候,兒童所學習的東西本身都很困難,教師的重大作用和技巧就在於儘可能讓一切事情變得容易,而尤其是在語言的學習上,最沒有理由為難兒童。

兒童的心智是狹窄與脆弱的,通常一次只能容納一種思想。一個兒童的頭腦裏一旦有了什麼想法,馬上就會被這種想法填滿,尤其是在帶有情緒的時候。

兒童的心智天生就是散漫不定的。只要是新奇的東西,都會吸引他們;無論看到什麼新奇的東西,他們都急於要去嘗試,過後卻很快就膩了。

要想讓兒童的心靈接受你的教導,增長知識,就應該食使之保持安以平靜。你不可能在一個戰慄的心靈上寫上美觀平整的文字,正如你不可能在一張震動的紙上寫上美觀平整的文字。

不在意、不經心、不穩定、易走神,那都是兒童本身固有的缺陷,因此,只要沒有發現他們是故意所為,便應温和地予以提醒,假以時日逐漸地克服。

兒童對導師具有的敬畏心理,應該經常通過導師對兒童表現出來的慈愛與善意來得到緩和,這種關愛之情能夠激發他們去儘自己的責任,使他們樂於服從導師的指令。這樣,兒童與導師相處的時候才會感到輕鬆自在,而惟有這樣的心態之下,心靈才能接收新的信息,接納那些印象。

洛克在外語學習、寫作、人文教育課程、語言表達能力、自然科學、出國學習等方面都進行了一定的探討論述,閲讀之後都會有一定的啟發。

五、賞識教育讀書

當今學生不缺溝通不乏激勵少的是管教,我認為有一定的道理。如何管教好學生,把握不好尺度,則“寬嚴皆誤”。這的確是一門學問。

中國青少年研究中心副主任孫雲曉認為,在提倡表揚、獎勵、賞識的同時,不應該忽視“懲罰”在教育中的積極作用。讓孩子在成長的過程中,懂得為自己的過失負 責,感到一種責任。一個能承擔責任的人,才是現代人。他認為,教育本就是十八般武藝,表揚批評獎勵懲罰,什麼都應該有。沒有懲罰的教育是不完整的教育,沒 有懲罰的教育是一種虛弱的教育、脆弱的教育、不負責任的教育。

此言甚善。這很容易令人想起家長和老師紛紛效仿的“賞識教育”。其實,賞識教育並不能包治百病。

現在,獨生子女佔很大比例,家長的注意力和愛自然都傾注在孩子身上,有的家庭對孩子的要求百依百順,特別在物質上不斷滿足。結果過分的寵愛,無休止的滿 足,漸漸使孩子養成了自私自利、任性乃至放蕩不羈的性格。在孩子心中就會形成“沒有什麼是不可能的”的概念,因此,只要他渴望得到的,就會毫無顧忌地去 抓、去取。有的家庭過分保護孩子,一切事情父母都包辦代替,甚至把做力所能及的家務都看成潛在的危險,因此孩子的全部探索都變成了在父母精心照管下的附屬 活動,由於沒有獨立的實踐機會,動手能力大大減弱。

另一方面由於獨生子女沒有兄弟姐妹共同生活的訓練,他們雖然常聽到父母教育他們要互相幫助,但這對於他們而言只是一個概念,並沒有真正的行動。

試想,如果用“賞識教育”來教育這樣的孩子,只會使他們更加不能正確地評價自己,更加狂妄、放任自流和孤僻。

即使孩子是各方面表現都優異的“好孩子”,過度地誇獎和賞識他們,可能會帶來以下不良的影響:一是增加孩子的依賴性。越是誇獎,孩子就越依賴大人們的選擇 來決定什麼是對什麼是錯,而不是形成自己的判斷;二是會剝奪孩子的自豪感。兒童教育專家瑪莉琳•古特曼認為,那些小時候經常受到父母表揚的孩子,在他們步 入生活後很可能會遇到更多的失望。隨着年齡的增長,孩子不再會很容易地接受父母那種表面上的誇獎。過分“賞識”你的孩子,必然滑向溺愛的沼澤,對孩子有百 害無一益,結果會害了孩子。

因此,教師和家長應該根據不同的性格特點,實施不同的教育方法,使孩子形成健康的人格。孩子犯了錯誤,在不傷害其自尊的前提下實施“懲罰”,嚴格管教,是 必要的。如果孩子性格孤僻,就應該鼓勵他多參加集體活動;如果孩子動手能力不強,就應該鼓勵他幹一些力所能及的事情,等等。

實際上,“懲罰”教育也好,賞識教育也好,只是若干教育方法中的一種,還要與嚴格教育、挫折教育等並行,沒有一種方法適用於所有孩子。

《教育漫話》讀書心得相關文章:

1.《教育漫話》教師讀書筆記

2.《審美教育書簡》教師讀書筆記

3.《迷戀人的成長》讀書筆記

4.中學教師讀書筆記摘抄

5.《審美教育書簡》教師讀書筆記(2)

諾曼底號遇難記讀書心得感悟 篇11

《平凡的世界》對我的影響也許我現在還無法預測,有一點時肯定的,它給予我一種來自靈魂的震撼。它改變了青春時期的我。我的思想,我的行為,我的態度。真的事無法言語,只記得那段時間自己好像很麻木,就像回到了那個時代,內心充滿着各種幻想。我開始變得多愁善感了,我感覺世界事多麼的美好。

生活沒有如果,他們的命運告訴了我們許多道理,在人生中,會遇到許多坎坷荊棘,但要堅定自己的理想信念,懷揣夢想,一直前行,無所畏懼的前行,它會將你帶進一個嶄新的人生,嶄新的世界。

我們在現實生活中會遇到各種各樣的事,但從中得到的是要擁有自己的思想,自己的態度,走屬於自己想的路,不論旅途多麼遙遠,這就是人生。

平凡的世界平凡的人生,而在平凡的人生中享受着一個不平凡的自我,懂得生活中的不易,學會珍惜,在痛苦與歡樂中前行,讓自己的人生充滿色彩,是我的的收穫。讀過之後,覺得大學中我需要做的真的很多,需要學習的也很多,用自己的思想來裝飾自己的夢才真正有意義,在大學中,做一個完整的自我,過理想的生活。

諾曼底號遇難記讀書心得感悟 篇12

初次讀《家》是在高二的時候,那時我的感受很深。《家》中有悲有喜,在當時他鼓舞了無數青年反抗封建制度的決心和勇氣,使他們擺脱了封建家庭的束縛,走上了革命道路。在今天,他的火焰依舊在燃燒,我們還可以從中拾取自己的哀歡。

《家》是巴老的代表作,和《春》《秋》合稱為激流三部曲。“激流”這兩個字頗能表達五四運動前後中國社會劇烈和巨大的變革,封建宗法制度的崩潰。首先是個人的覺醒,之後是個人從休慼相關,禍福與共的大家族的束縛中解脱出來,面對國家和社會。《家》給予這一從舊到新的變革提供了典型的人物和典型的故事,深化了五四文學反封建的主題。這一變革到今天已臨末期,但還沒有完全過去。因此這部小説的火焰還沒有熄滅,作為當代大學生讀它還是很有必要的。

家吸引我的的魅力在於以下幾點:

(一)作者抓住了那個時代變革的焦點,抓住了變革中舊和新的人物典型,同時用一連串的典型衝突事件,表達了變革激流的澎湃。家是那個激流年代的一首長歌,一首讓人激情燃燒的進行曲。

(二)新文學誕生以來的小説,十部中有九部,在寫作時都懷有一個文學以外的目標,巴金也未能免俗,但是《家》是為紀念他大哥寫的,他必須放下自己的“目的”,儘量接近現實,因此成為一部人情味最純,生活味最濃的小説。

(三)巴金一九一五年在《家》的後記最後一行中寫道,我始終記住:青春是美麗的東西,而且這一直是鼓舞我的源泉。在他一切的作品中滿溢着青春的氣息。《家》尤其濃厚。這種氣息反映一顆單純的心靈,讀他的小説,你毫不感到是在絞汁寫出來的,是唱出來的,是呻吟出來的,是自然的天籲。這不是藝術,這是天賦。如他所説“永生在青春的原野。”

(四)在《家》裏,我們覺得可愛的人十分可愛,可恨的人只感到可憫(含有同情的憐憫)。這裏使人記起“哀而不傷,怨而有怒”這兩句話。《家》有這種恰到好處之美。人物形象有血有肉,巴金不是靠客觀冷靜的描寫取勝,而是靠澎湃的激情折服人。他的小説,人物眾多,頭緒紛繁,卻寫得有條不紊,起伏有道。

《家》中典型人物

1.以高老太爺及克明為首的封建統治勢力,在封建大廈將傾的時期,他要掙扎,要維持那個所謂圓滿的最有秩序的大家庭,但他又維持不了。高公館內部出現極度的混亂,以克安,克定為首的子孫坐吃山空,腐朽淫蕩,偷雞摸狗,無惡不作。這批蛆蟲般的寄生動物根本無法也無力接替他的封建家業,他們一方面勾心鬥角爭奪權力,另一方面壓制迫害年輕人,他們剝奪年輕人戀愛的權利,使梅表姐抑鬱而終,瑞鈺悲痛身亡,鳴鳳投湖自盡,婉兒被逼出嫁。所有的這一切都加深了家族內部的矛盾,也引起了覺民覺慧的反抗與離家出走。

2.以覺慧為代表的具有民主思想的覺醒者反抗者,覺慧是五四運動的積極參與者,他既編輯《黎明週報》進行反軍閥宣傳,又直接參與反對地方督軍的請願。一開始就把矛頭指向封建軍閥政權,他的“叛逆”引起大家庭的恐慌,遇到高老太爺的禁止,這一進步導致他反抗封建家族族權的鬥爭。他違背祖父禁止他參加學生運動的命令,我行我素,支持覺民逃婚,不顧自己三少年的身份,敢於愛一個下等的女傭人鳴鳳。這不僅僅是對祖父的反抗,更是對整個封建禮教,等級觀念的挑戰,最後他毅然離家出走,與封建家庭徹底決裂,表現了他反抗封建的堅決性和徹底性。

3.以梅芬、瑞鈺、鳴鳳為代表的橫遭摧殘的幾個可愛的女青年。梅芬是大家閨秀,從小與表兄生活在一起,他們情感相投,成了私戀的情人。但是,不自由的婚姻制度無情的摧毀了她的自由戀情。她承着母命,不情願的遠嫁外地,一年不到就守了寡。回母家後,憂愁發病,帶着極端的痛苦死去。瑞鈺在高家是個柔順、温柔、賢惠的少奶奶,“血光之災”的説法給她帶來痛苦,以致難產而死,是封建迷信毒害了她年輕的生命。鳴鳳是一個可愛的少女,他聰明美麗善良,但地位卑微,處在被打罵被奴役的丫頭地位,這注定了她的全部悲劇命運。他和三少爺覺慧有着深厚的戀情,可是隔着她們的是封建等級那厚厚的牆,她有愛卻得不到愛,無法和覺慧結合。相反,高老太爺卻把她當成禮物送給了六十多歲的馮樂山做小老婆。鳴鳳不堪忍受這種安排,投湖自盡。她們三人都深受封建勢力的迫害和摧殘。單因為她們的身世經歷各不相同,各人的性格也各不相同。她們都具有女性的善良與温順,但在鳴鳳的純潔柔順中藴含着反抗,對於封建勢力對他的慘重打擊,她絕不屈服,縱身投湖,殉與愛情;而在梅芬的温順善良中,更多的是忍受痛苦,承受不幸,帶有淒涼絕望的情感色彩;瑞鈺的温順善良,更多的表現在對待覺新和梅的愛情問題上,對待家庭內部矛盾中所具有的自我犧牲品格。

4.塑造最豐滿最成功的形象——覺新。覺新的性格是複雜的,矛盾的。他處在長房長孫的特殊地位,從小耳濡目染的是光宗耀祖的教育這些使他有着振興家業的精神重擔,封建禮教的長期薰陶使他形成了懦弱順從的性格特徵,失去了自己的意志,失去了青年人應有的朝氣和反抗性格,他奉行作揖主義和不反抗主義,想用自己的痛苦換的暫時的苟安,這種“無反抗”“作揖”的道路將他推向絕望的深淵。但是,覺新生活在中國社會新舊交替的時期,他看到了舊式家庭的腐敗沒落,分崩離心,及自己振興家業的希望破滅的現狀,同時受到了五四新思想的衝擊和影響,在某些場合,他庇護反抗封建秩序的弟妹們,甚至資助他們逃出家庭。他沒有泯滅是非憎愛的正義感和對新生活的追求,不甘於死心塌地的做垂死階級的殉葬品。他只能在舊的人生道路上苦苦掙扎,走向絕望的深淵。總的來説,覺新具有雙重人格和雙重地位;他既是封建家族制度的犧牲品,又是不自覺的害人者,既是一個軟弱者,又是一個在艱難痛苦中萌生着新的思想的覺醒者,這就是覺新性格的所在,他可恨,但更可悲可憐。他的悲劇表明了一個真理:如果不勇敢的反抗而妥協投降,只能導致自己和新一代的毀滅。

諾曼底號遇難記讀書心得感悟 篇13

獨守空船,相思閨情,最終的悲劇結尾,是那麼的哀婉,但那麼自然。

易挑錦婦機下字,難識閨房玉女心。爺爺,儺送,天保,或許都知道,或許都不。這寧靜和煦的生活,並不能使他們心靜如水,因為一個女孩,因為一份感情。

問世間情為何物,直教人生死相許,這種在現在惡俗一般的三角關係,卻那麼的天真,淳樸,自然。

只是他們不懂,這懵懂的少女心,這迷惘的前途,會使他們跌入深淵,但我相信,就算跌入,也帶着笑容。

憩靜的夜晚,灑下一滴月光,照亮了翠翠的如棉絮的心,她想,那段不長但卻佔據她心靈的對話,那俏皮似得回答,看不清的朦朧郎君,彷彿激起了她心中自然地少女情懷,不禁留意住他,那種清淨純澈的思念慢慢包裹住她,好似沐浴在春光中,她不懂,這種感覺就是喜歡,是一種道不明的體驗。

懷念與他的第二次相遇,她看清了那個摸得到卻好似摸不到的人,她呆住了,這個她認識卻又不認識的人,給了他一種無形的威嚴和親和力,她找到了夢裏的另一個主角,她搶着渡船,無非是一種心思的表露,她愛上了他。

愛情的魔力,不在相見,而在相思。夜晚會不自覺的微抬額頭,看看那似水的月亮,想念着兩次不長的相遇,記掛着對方的一切,彷彿世界都消失了,兩人面對面站在一起,執手相看淚眼,竟無語凝噎,就那樣望着,就擁有了世界。

那無奈的變故,打亂了這種相思,天保的離去,深深觸及了儺送的心,他對這種相思產生了厭情,內疚,不敢面對所有人,從此,他不敢再踏入那個空間,一個只屬於兩個人的空間,他選擇了逃避,逃出這個不敢留戀的地方。

當離去的灰塵化作空中的霧靄,有個女孩,輕靠在船上,用腳有意無意的玩着水,望着遠方,好似看到了如意情郎的背影,偉岸,堅實,卻又帶有一絲縹緲,她又露出了一絲笑容,還是如此淳透,微風一吹,吹落了一滴露水,打到了她的手背,她抬起手背,過了一會,多了一滴一樣的“露水”。

諾曼底號遇難記讀書心得感悟 篇14

清爽的早晨,作者帶着滿懷的好心情,獨自一人來到了山中拜訪自己的好朋友。

作者用特別的描寫方法讓我感受到了他與大自然的親密無間:走進樹林,作者把自己也當成了一棵樹,可見他是多麼喜愛這些生命。作者運用了一句反問,更突出了他與大自然的親密:“這山中的一切,那個不是我的朋友?”他還運用了比喻、擬人、排比、設問、反問的修辭方法與許多好朋友打招呼。忽然,下起了雷陣雨,巖石給作者撐起了巨傘,給了作者一處看雨的好地方,更突出了作者與巖石的深厚情誼。

作者用生動活潑的文筆表達了他與大自然的各種生靈的美好友誼,並賦予了它們生命,還運用了親切的第二人稱來與大自然對話、交流。我們應學習這種寫法,給自己的文章多添一絲生動。

諾曼底號遇難記讀書心得感悟 篇15

我曾無數次期待過,可以揹着行囊四處流浪……在夕陽籠罩的原野上,在茫茫無邊的沙漠裏,在潺潺流淌的小溪邊,在百鳥齊飛的山林邊,我希望在有生之年讓這些地方都留下我的身影。

讀《美洲納粹文學》,我赫然發現幾乎所有的作家都有四處流浪的習慣,他們喜歡把自己的足跡印遍地球的每一個角落。

然而,現實生活中,在無邊的時間裏,我選擇看書。

我讀了《百年孤獨》,恍然發現,這世上有很多人比孤獨的旅人還要孤獨。

馬爾克斯筆下的梅爾基亞德斯似乎更孤獨。

你看,他來無影去無蹤,在沙漠上得熱死病後,還把孤獨的靈魂留在人間,留在那間曾經居住的屋子。他孤獨的靈魂乞求的不過是有人跟他對話,有人瞭解他的世界。他在不朽的羊皮捲上預知了布恩迪亞家族百年的歷史:家族的第一個人被捆在樹上,最後一個人正被螞蟻吃掉。他使布恩迪亞家族的幾個男人都跟他一樣陷入“實驗”的瘋狂和探索未知的狂亂。在那無人理解的無邊的科學的、帶有無窮魔力的世界裏,他和布恩迪亞家族的男人們交流的其實不是生活的科學,而是彼此撫慰無法安放的靈魂。

烏爾蘇拉是布恩迪亞家族裏活的最久的人,應當也是這個家族裏最孤獨的人。

她的孤獨,在於有一個陷入無窮無盡探索世界境地的丈夫,這個丈夫時而有指點江山的魔力,時而又陷入梅爾基亞德斯設置的怪圈,只要梅爾基亞德斯一出現,他的生活之鐘就停止了旋轉。不僅如此,她的兒子、孫子、孫女以及孫子、孫女的孩子,以及孩子的孩子,無不糾纏在自我的世界裏,以至於烏爾蘇拉一説起家裏的男人,常常恨恨地稱家裏生活着一羣瘋子。讀書筆記.她死在聖星期四早上,死之前本已經失明的她徹底失去了理智,走進卧室,會遇見生命裏經歷過的無數人,她在與這些亡靈的對話裏,迷失在自我的世界裏,也徹底迷失在亡靈的迷宮裏。她死得很悽慘,只被放進一口比當年裝奧雷里亞諾的籃子略大的小棺材,也只有很少的人。

諾曼底號遇難記讀書心得感悟 篇16

《誰動了我的奶酪》是一本非常暢銷的書,雖然它只是一個寓言故事,卻告訴我們,在如今的年代裏,應該怎樣去應對變化。

故事講的是在一個遙遠的地方,住着兩隻老鼠和兩個小矮人,兩隻老鼠一隻叫嗅嗅,一隻叫匆匆;小矮人一個叫唧唧,一個叫哼哼,他們都愛吃奶酪。開始,他們都勇敢地進了迷宮,在C站尋找到了很多奶酪。可是,忽然有一天所有的奶酪都不見了,兩隻老鼠急匆匆地又去尋找新的奶酪了,兩個小矮人卻在那裏喊:”誰動了我的奶酪?“當他們還在埋怨是,兩隻小老鼠已經克服困難在N站找到了自己喜歡的奶酪。這時唧唧勸哼哼一起離開,可哼哼不知該怎麼辦,唧唧只好一個人離開。路上他把想到的寫在了牆上,給哼哼留下了標記,而自己克服了一切困難,恐懼、飢餓、勞累……終於和小老鼠重逢,正快樂地跳着、蹦着地時候,忽然聽見從遠到近傳來熟悉的腳步聲……

在這四個形象中,我更想哼哼,遇到一些問題或者面對突然發生的變化,就不知該怎麼辦,總是埋怨別人,不去及早想辦法處理。比如我老是丟三落四的,為什麼呢?媽媽和我一起分析,其實就是父母管得太多,結果不管什麼事情,總是依賴他們,自理能力越來越差,遇過遇到一些突發事件,就不知道該怎麼辦了!

我想我應該學習匆匆、唧唧和嗅嗅,去適應變化,利用變化。這正像唧唧在牆上寫過的一句話:”注意細小的變化,這有助於適應即將來臨的更大的變化,一定要隨着變化而變化,才能享受變化!!“讀了這本書對我來説真是受益匪錢啊!!

諾曼底號遇難記讀書心得感悟 篇17

當我第一次看到“復活”這個書名時,我心裏就產生了疑問:誰,怎樣就復活了?然而當我把這本沉甸甸的大書從書架上拿下來時,我知道了答案就在這一片片的白紙黑字裏,只有用心去讀,才能體會到作者叫它“復活”的用意。

看完了書,合上書頁後,聶赫留朵夫成了一個思考的對象。這本書的主人公就是他。貴族青年聶赫留朵夫早年與家中的女僕卡秋莎產生了愛情,但沒有過多的表露。當他做了幾年的軍官回來後,原本善良的他變成了一頭野獸,他玷污了卡秋莎,給了她一筆錢後就拋棄了她。在一次法庭審理案件時,聶赫留朵夫作為陪審員,目睹了審理馬斯洛娃(卡秋莎)毒死人命案的經過,當馬斯洛娃的眼睛掃過他時,他心裏極度恐慌,併產生了自己無法控制的悔恨情緒。隨後的幾天裏經過思想的鬥爭,決定“救助”馬斯洛娃,及其他一些受苦的人並與馬斯洛娃一同流放到西伯利亞。

讀罷這本《復活》,我的感覺就是聶赫留朵夫能洗心革面,便會他原來的自己實在是非常不容易。早先他只是一個善良的貴族青年,過着屬於自己內心真實想法的生活,與卡秋莎也只是單純的喜愛。但是周遭的人不但不認可他,反而覺得他很好笑,使他逐漸不信任自己的善良。經過三年的軍旅生活,他更深刻的感受到了這一點,並決定做“跟大家一樣的人”。

這使他成了一個“徹頭徹尾的利益主義者”,迷戀酒色,享樂成癖。他把女人當作玩樂的工具,於是便在回來後誘_了那個曾經單純可愛的卡秋莎。但是在法庭上的相遇為他敲響了警鐘。他不敢直視馬斯洛娃那雙斜睨的眼睛。他感覺是自己曾經的舉動迫使卡秋莎墮落成現在的馬斯洛娃,一個妓女,囚犯。於是經過多日的思想鬥爭,他找回了自己的本色,他要去“救助”馬斯洛娃,並要徹底拯救她,與她結婚。這就是聶赫留朵夫的第一次復活,這讓他重新認識了這個世界。它有許多被污染的地方需要清理。

然而,我認為聶赫留朵夫能做到這一點的確是很不容易,這也是給我感觸最深的一點。在周遭可以説是十分惡劣的環境中,他墮落了。可他能被與馬斯洛娃的重逢所震撼,並決定重新做人,這説明了他的本質還是善良的。他重新開始記日記,“同自己談話”,“同人人身上都存在的真正的聖潔的自己談話”,這是他人生的轉變。試想,在一個人人都享樂的貴族環境中,一個公爵,只因一個妓女、囚犯的一個眼神就改變了自己,這是多麼不可思議。然而聶赫留朵夫卻做到了,而且是在那個妓女、囚犯近乎於玩弄的態度下做到的。這不得不讓人好好思考一下自身。

“知錯能改,善莫大焉”。聶赫留朵夫的第一次復活不僅“救助”了馬斯洛娃,讓她明白世上不知是黑暗,還有善良的人,也“救助”了其它受着不公平待遇的人。他幫助被誣陷的囚犯,去找典獄長、副省長,那些它並不想見的人。復活的聶赫留朵夫成為了黑暗社會中的一個亮點。

至於他與馬斯洛娃一起流放到西伯利亞,並不顧馬斯洛娃已不再需要他,仍舊希望馬斯洛娃能寬恕他,並想繼續幫助馬斯洛娃,這也就是聶赫留朵夫真正的復活了,他已經徹底從一個貴族公爵便回一個善良的人了。

想想聶赫留朵夫,再想想我們自己。他在一個不甚明朗的環境中復活,找回自己,而我們在一個十分光明的環境中就應該做得更好。但是即便如此,還是有很多讓人無法接受的事實。在報紙上曾刊過有個見義勇為的人總是不遺餘力對不正確的事做出糾正。有次他看見卡車司機亂吐檳榔汁,好心的勸他,卻因而被打了幾乎送了半條命!真是諷刺,報上這活生生的案例使的原本熱心的人不由得猶豫起來,最後大家看到不公平的事情不再勸阻,變成一幅事不關己,高高掛起的樣子。這是一個好人的“墮落”。

再舉一個很常見的例子。如今有許多學生不好好學習,天天往遊戲廳、網吧跑,家長、老師教育了半天,可惜學生不僅“堅決不改”,還“變本加厲”。學生不學習,也可以適當休息。但是根本不把學習當回事,只顧“休息”就是“自甘墮落”了。在一個很好的環境中不知道珍惜,倒顯得不如到差的環境中體會一下再回來的好。可是又有誰會到差的環境中去體會呢?既然沒有人想去,那麼就是人們不知珍惜了。

《復活》使我懂得了人的善良又多麼重要。珍惜現在良好的環境,真正去付出自己,把握生命的每一刻,不讓一絲一毫的不良因素動搖自己,這才是生活的真諦。

諾曼底號遇難記讀書心得感悟 篇18

在世界各大宗教中,只有猶太教、基督教及伊斯蘭教是“經典宗教”,因 為這三種宗教都有一部被稱為“神聖經典”的聖經。

《聖經》被稱為“惟一的書”,又通常被描述為“最偉大的書”。它對歷代人們的無盡的價值與影響,歷史上沒有一本書像《聖經》一樣對人文有如此影響力。到目前為止,《聖經》已被譯成20xx種語言,《聖經》每一年的銷售量比任何一本書的年銷售量都要多。

其實關於《聖經》這本書,從小就開始接觸了,但也只是聽大人説説而已,説得最多的是關於人們信奉耶穌的事情,在信徒的心中耶穌是神聖又慈愛的,他就救苦難的人們於各種災難之中。總是覺得他是一種跟宗教信仰有關的很神祕的東西,覺得和自己沒多大的關係,也只是喜歡聽一些故事而已。隨着在高中歷史課上對歷史的深入瞭解,慢慢的對西方歷史文化有了更深刻的瞭解,並且歷史課上老師多次解讀《聖經》,他特別喜歡《聖經》,受老師的影響,因此對它充滿了好奇,於是現在就找了機會看了。

我知道《聖經》是一本很厚的書,字密密麻麻的很小,如果不喜歡的話是很難堅持讀完的。所以我先看了關於聖經的一些故事,然後才讀的《聖經》。一些故事是我小時候就知道的,例如最常聽到的就是“亞當與夏娃”,還有“諾亞方舟”的故事,那時聽起來感覺是十分之有趣的。其實大部分是關於鬥爭的故事,雖然不是很感興趣,但還是堅持讀了。《聖經》故事的篇章真的多到令人不可思異,在這之中我也慢慢的去了解到,西方的文化,以及他們的經典書目《聖經》,去了解到西方的重要文化資產的書目。

通過讀《聖經》的過程,讓我深刻的體會到了讀書要掌握一定的技巧,否則會受益很淺,學不到多少東西。還有就是要有興趣,尤其像《聖經》這樣深奧複雜的經典讀本必須靜下心來讀。一開始讀時還必須弄清它的基本框架。這樣讀起來會輕鬆一些。

《聖經》一般包括《舊約全書》、《新約全書》和《聖經後典》。《舊約》又包括律法書、歷史書、智慧書和先知書四個部分;《新約》分為福音書、使徒行傳、使徒書信、啟示錄四大部分;而《後典》則反映了《舊約》與《新約》過渡時期巴勒斯坦的情況。

通過讀《聖經》,也讓我對聖經對基督教有更進一步的認識。《舊約》的主線是耶和華拯救其子民以色列人的歷史。我們可以先從聖經的故事目錄中,瞭解到架構是從一開始的創世、猶太人遇到一些問題以致必須不斷遷移,最後述説耶穌的誕生、早年生活以及最後如何的死亡,也因為有這一連串的事件發生。後來經由後人的統整之後,才會出現《聖經的故事》這本書。由七天創造世界來作為一開始的開端,這為之神話般的創世就此因而展開,接着開始出現了我們熟之的亞當與夏娃,偷嚐禁果之後,進而開始衍伸了後代,也因為人們的生成,開始出現了,我們是如何來的,為什麼是這樣來的,後來慢慢的,衍生成了,上帝創造了世界,這種説法,有點帶着神祕的色彩,而一開始就對於“神”之存在的,正是猶太人。而故事也因此開始慢慢的開始架構出來的。這就是《聖經》的大體框架,弄清了讀起來也就容易了。

  • 文章版權屬於文章作者所有,轉載請註明 https://wjfww.com/xinde/dushu/vozmyk.html
專題