版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、&和&的區(qū)別&兩邊都要執(zhí)行。&當左邊為 false 時,不執(zhí)行右邊為什么不建議用Stop()方法來停止一個正在運行的線程?stop 是不安全的,因為有時會導致嚴重的系統(tǒng)錯誤。比如一個線程正在等待關(guān)鍵的數(shù)據(jù)結(jié)構(gòu),并只完成了部分的改變,如果這個時候停止它,那么數(shù)據(jù)結(jié)構(gòu)將會停留在錯誤的狀態(tài)上。也就是說它會接觸由線程獲取的所有鎖定,而且一旦隊形處于一種不連貫的狀態(tài),那么其他線程就能在那種狀態(tài)下檢查和修改它們,結(jié)果導致很難再檢查出問題的真正所在。調(diào)用 Thread 類的 destroy()方?thread 的 destroy()方法從來就沒有被實現(xiàn)過,不能用它來銷毀線程 public void dest
2、roy()throw new nosuethoderror();該方法最初用于破壞該線程,但不作任何清除。它所保持的任何監(jiān)視器都會保持鎖定狀態(tài)。不過,該方法決不會被實現(xiàn)。即使要實現(xiàn),它也極有可能以 suspend() 方式被死鎖。如果目標線程被破壞時保持一個保護關(guān)鍵系統(tǒng)資源的鎖,則任何線程在任何時候都無法再次該資源。如果另一個線程曾試圖鎖定該資源,則會出現(xiàn)死鎖。這類死鎖通常會證明它們自己是“凍結(jié)”的進程。需求分析文檔包括那些內(nèi)容, CMMI,生命周期?方案的總體介紹文檔介紹總體需求描述產(chǎn)品范圍,功能性需求,非功能性需求能力成熟度模型集成。早期是應用于合性模型業(yè)項目的管理方法,現(xiàn)在成為一種被廣泛
3、應用的綜立項、需求分析、設計、編碼、測試、交付、退役守護線程,如何判斷一個線程是守護?如何設置守護線程守護線程是一種特殊的線程,它和普通線程的區(qū)別在于它并不是應用程序的部分,當一個應用程序的所用非守護線程終止運行時,及時仍然有守護線程在運行,應用程序也將終止,它一般用于在為其他線程提供服務??梢酝ㄟ^調(diào)用方法 isDaemon()來判斷一個線程是否是守護線程。setDaemon()將一個線程設為守護線程。 UML答:UML 是一種標準、是一種協(xié)議,它是系統(tǒng)分析戶之間所應遵循的一種通訊協(xié)議。和設計之間、從業(yè)與客通過使用 UML,系統(tǒng)分析不僅可以很直觀地客戶需求,為系統(tǒng)設計提供具體的、甚至客戶進行交
4、流,因為大家都遵循可參考的系統(tǒng)分析模型,而且可以很方便地與設計同一協(xié)議,交流就變得容易和直觀。UML 是建模語言?!啊??它表示 UML 并不僅僅是系統(tǒng)的“專利”,非行業(yè)同樣可以使用 UML 進行建模描述。同時,它也更好地證實了“UML 是一種標準”這一說法。“語言”?因為它有自己的語法和語義。UML 的各個元素有著自己的語義,而元素的組織形式卻遵循著一定的語則。從語法強度來講,UML 應該和自然語言的語法強度平級,因此 UML 應該會出現(xiàn)二義性問題。數(shù)據(jù)庫建表原則遵從 3 個范式,業(yè)務需要。寫一段驗證號碼的代碼(String 類)面象,分析 設計面象其實是現(xiàn)實世界模型的自然延伸?,F(xiàn)實世界中任何
5、實體都可以看作是對象。對象之間通過消息相互作用。另外,現(xiàn)實世界中任何實體都可歸屬于某類事物,任何對象都是某一類事物的實例。如果說傳統(tǒng)的面向過程式編程語言是以過程為中心以算法為驅(qū)動的話,面向?qū)ο蟮木幊陶Z言則是以對象為中心以消息為驅(qū)動。用公式表示,過程式編程語言為:程序=算法+數(shù)據(jù);面象編程語言為:程序=對象+消息。所有面象編程語言都支持三個概念:封裝、多態(tài)性和繼承,Java 也不例外。現(xiàn)實世界中的對象均有屬性和行為,到計算機程序上,屬性則表示對象的數(shù)據(jù),行為表示對象的方法(其作用是處理數(shù)據(jù)或同外界交互)。所謂封裝,就是用一個式框架把對象的數(shù)據(jù)和方法聯(lián)在一起形成一個整體??梢哉f,對象是支持封裝段,
6、是封裝的基本。Java語言的封裝性較強,因為 Java 無全局變量,無主函數(shù),在 Java 中絕大部分成員是對象,只有簡單的數(shù)字類型、字符類型和 類型除外。而對于這些類型,Java 也提供了相應的對象類型以便與其他對象交互操作。多態(tài)性就是多種表現(xiàn)形式,具體來說,可以用一個對外接口,多個內(nèi)在實現(xiàn)方法表示。舉一個例子,計算機中的堆棧可以各種格式的數(shù)據(jù),包括整型,浮點或字符。不管的是何種數(shù)據(jù),堆棧的算法實現(xiàn)是一樣的。針對不同的數(shù)據(jù)類型,編程不必手工選擇,只需使用接口名,系統(tǒng)可自動選擇。運算符重載(operator overload)一直被認為是一種優(yōu)秀的多態(tài)機制體現(xiàn),但由于考慮到它會使程序變得難以理
7、解,所以 Java 最后還是把它取消了。繼承是指一個對象直接使用另一對象的屬性和方法。事實上,遇到的很多實體都有繼承的含義。例如,若把汽車看成一個實體,它可以分成多個子實體,如:卡車、公共汽車等。這些子實體都具有汽車的特性,因此,汽車是它們的父親,而這些子實體則是汽車的孩子。Java 提供給用戶一系列類(class),Java 的類有層次結(jié)構(gòu),子類可以繼承父類的屬性和方法。與另外一些面象編程語言不同,Java 只支持單一繼承。其實在沒有面象的世界里也有繼承,編程語言都支持直接轉(zhuǎn)換為 float,這叫低類型轉(zhuǎn)換為高類型。類是其實一個自定義數(shù)據(jù)類型,父類是高類型,子類是低類型。Hibernate用
8、(優(yōu)點),流程HibernateHibernate 是一個免費的開源 Java 包,它使得與關(guān)系數(shù)據(jù)庫打交道變得十分輕松,不用考慮如何把他們從數(shù)據(jù)庫表中取出或放回。使如何保存他們或怎么找到他們可以專注應用程序的對象和功能,而不用擔心大多數(shù)應用程序都要處理數(shù)據(jù),Java 應用程序運行時,往往把數(shù)據(jù)封裝成相互連接的對象網(wǎng)絡。但是當程序結(jié)束時候,這些對象就會,所以需要有一些保存他們的方法,有時候,甚至在編寫應用程序知青,數(shù)據(jù)就已經(jīng)存在了,所以需要有讀入他們和將其標識為對象的方法,手動編寫代碼來執(zhí)行這些任務,不但單調(diào),容易出錯,而且會占用整個應用的很大一部分開發(fā)工作量。創(chuàng)建工具,使整個過程自動化。是一
9、種“積極”的偷懶做法。對于關(guān)系數(shù)據(jù)庫來說,這種努力的最大成果就是對象/關(guān)系(ORM)工具。Hibernate 工作方式Hibernate 不會強迫你修改對象的行為方式,不需要實現(xiàn)任何接口以便能夠繼續(xù)存在。唯一要做的就是創(chuàng)建一個xml“文檔”,告訴 Hibernate 你希望能夠保存在數(shù)據(jù)庫中的類。以及他們?nèi)绾侮P(guān)聯(lián)到這個數(shù)據(jù)庫中的表和列。然后就可以要求它以對象的形式獲取數(shù)據(jù),或者把對象保存為數(shù)據(jù)。運行時,Hibernate文檔,然后動態(tài)構(gòu)建 Java 類,以便管理數(shù)據(jù)庫和 Java 之間的轉(zhuǎn)換,在 hibernate 中只有一個簡單的 API,用于對數(shù)據(jù)庫所表示的對象執(zhí)行查詢。要修改這些對象,只
10、需在程序中和他們進行交互,然后告訴 Hibernate 保存修改即可。類似地,創(chuàng)建新對象也很簡單,只需以常規(guī)方式創(chuàng)建他們,然后告訴 Hibernate 有關(guān)他們的信息,這樣就能在數(shù)據(jù)庫中保存了和其他的ORM 產(chǎn)品(JDO,TopLink,CocoBase,Castor 等)相比較:1、開源和免費的 License,我可以在需要的時候研究源代碼,改寫源代碼,進行功能的定制。2、輕量級封裝,避免引入過多復雜,調(diào)試容易,也減輕程序員的負擔。3、具有可擴展性,API 開放,當本身功能不夠用的時候,可以自己遍碼進行擴展。4、開發(fā)者活躍,產(chǎn)品有穩(wěn)定的發(fā)展保障。一、Hibernate 是JDBC 的輕量級的
11、對象封裝,它是一個獨立的對象持久層框架,和App Server,和 EJB 沒用程序的數(shù)據(jù)庫必然的聯(lián)系。Hibernate 可以用在任何 JDBC 可以使用的場合,例如 Java 應接口的實現(xiàn)類,甚至可以是 BMP 里面的代碼數(shù)據(jù)庫的代碼。從這個意義上來說,Hibernate 和EB 不是一個范疇的東西,也不存在非此即彼的關(guān)系。二、Hibernate 是一個和 JDBC 密切關(guān)聯(lián)的框架,所以 Hibernate 的兼容性和 JDBC 驅(qū)動,和數(shù)據(jù)庫都有一定的關(guān)系,但是和使用它的 Java 程序,和 App Server 沒有任何關(guān)系,也不存在兼容性問題。三、 Hibernate 不能用來直接和
12、 Entity Bean 做對比,只有放在整個 J2EE 項目的框架中才能比較。并且即使是放在整體框架中來看,Hibernate 也是做為 JDBC 的替代者出現(xiàn)的,而不是 Entity Bean 的替代者出現(xiàn)的,讓我再列一次我已經(jīng)列 n 次的框架結(jié)構(gòu):傳統(tǒng)的架構(gòu):1) SesBean Entity Bean DB為了解決性能的替代架構(gòu):2) SesBean JDBC DB使用 Hibernate 來提高上面架構(gòu)的開發(fā)效率的架構(gòu):3) SesBean Hibernate DB就上面 3 個架構(gòu)來分析:1、內(nèi)存消耗:采用 JDBC 的架構(gòu) 2 無疑是最省內(nèi)存的,Hibernate 的架構(gòu) 3 次
13、之,EB 的架構(gòu) 1。2、運行效率:如果 JDBC 的代碼寫的非常優(yōu)化,那么 JDBC 架構(gòu)運行效率最高,但是實際項目中,這一點幾乎做不到,這需要程序員非常精通 JDBC,運用 Batch 語句,調(diào)整PreapredSement 的 Batch Size 和 Fetch Size 等參數(shù),以及在必要的情況下采用結(jié)果集 cache等等。而一般情況下程序員是做不到這一點的。因此 Hibernate 架構(gòu)EB 的架構(gòu)效率會差的很遠。最快的運行效率。3、開發(fā)效率:在有 JBuilder 的支持下以及簡單的項目,EB 架構(gòu)開發(fā)效率最高,JDBC 次之,Hibernate。但是在大的項目,特別是持久層關(guān)系
14、很復雜的情況下,Hibernate 效率高的驚人,JDBC 次之,而EB 架構(gòu)很可能會失敗。4、分布式,安全檢查,集群,負載均衡的支持由于有SB 做為 Facade,3 個架構(gòu)沒有區(qū)別。四、EB 和 Hibernate 學習難度在哪里?EB 的難度在哪里?不在復雜的 XML 配置文件上,而在于 EB 運用稍微不慎,就有嚴重的性能。所以難在你需要學習很多 EJB 設計模式來避開性能問題,需要學習 App Server和 EB 的配置來優(yōu)化 EB 的運行效率。做 EB 的開發(fā)工作,程序員的大部分精力都被放到了EB 的性能問題上了,反而沒有設計上來。的精力關(guān)注本身就主要投入精力去考慮的對象持久層的H
15、ibernate 難在哪里?不在Hibernate 本身的復雜,實際上Hibernate 非常的簡單,難在Hibernate太靈活了。當你用 EB 來實現(xiàn)持久層的時候,你會發(fā)現(xiàn) EB 實在是太笨拙了,笨拙到你根本沒可以選擇的余地,所以你根本就不用花費精力去設計方案,去平衡方案的好壞,去費腦筋考慮選擇哪個方案,因為只有唯一的方案面前,你只能這么做,沒得選擇。Hibernate 相反,它太靈活了,相同,你至少可以設計出十幾種方案來解決,所以特別的,究竟用這個,還是用那個呢?這些方案之間到底區(qū)別呢?他們的運行原理不同?運行效率哪個比較好?光是主鍵生成,就有七八種方案供你選擇,你為難不為難?集合屬性可
16、以用 Set,可以用 List,還可以用 Bag,到底哪個效率高,你為難不為難?查詢可以用 iterator,可以用 list,哪個好,區(qū)別?你為難不為難?復合主鍵你可以直接在 hbm 里面配置,也可以自定義 CustomerType,哪種比較好些?你為難不為難?對于一個表,你可以選擇單一一個對象,也可以成父子對象,還可以成兩個 1:1 的對象,在什么情況下用哪種方案比較好,你為難不為難?這個列表可以一直開列下去,直到你不想再看下去為止。當你面前擺著無數(shù)的眼花繚亂的方案的時候,你會覺得呢?還是呢?如果你是一個負責的程序員,那么你一定會仔細研究每種方案的區(qū)別,每種方案的效率,每種方案的適用場合,
17、你會覺得你已經(jīng)陷入進去拔不出來了。如果是用 EB,你第一秒種就已經(jīng)做出了決定,根本沒得選擇,比如說集合屬性,你只能用 Collection,如果是 Hibernate,你會在 Bag,List 和 Set 之間來回猶豫不決,甚至搞不清楚的話,程序都沒有辦法寫。Struts 的優(yōu)點,流程Struts controller 基本功能是.截獲用戶的 Http 請求把這個請求到一個定義好的業(yè)務操作上獲取業(yè)務操作結(jié)果,提供給客戶端決定下一步應該顯示哪一個頁面有幾個部分共同組成了 Struts 的 Controller, 用戶的請求發(fā)送到 ActionServlet 中, ActionSer
18、vlet 調(diào)用 RequestProssor 開始處理用戶請求的流程,在這個流程中,會查找 ApplicationConfig,得到用戶請求對應的 Action,調(diào)用相應的 Action 來具體執(zhí)行用戶的請求,最后返回ActionForward,轉(zhuǎn)向相應的流程。=.apache.strution.ActionServlet 是Struts Controller 中最主要的部分,所有用戶請求都會被發(fā)送到這里,所有的其它處理也必須從這里經(jīng)過。ActionServlet 是從HttpServlet 中繼承過來的。當 ActionServlet 接收到 HTTP request 的時候,不管是 doG
19、et()或者 dot()方法,都會調(diào)用pros()方法。protected voidpros(HttpServletRequest request,HttpServletResponse response)throwsIOException, ServletException RequestUtilectApplication( request, getServletContext() );getApplicationConfig(request).getProsor().pros( request, response );一般情況下,不需要自己實現(xiàn)或者修改 ActionServlet 類,僅
20、僅使用就可以了。某些情況下可以自己擴展ActionServlet 類,從 ActionServlet 繼承,實現(xiàn)自己的 MyActionServlet類。 覆蓋其 中的一些 方法來 達到你的 特殊處理的需要 。 ActionServlet 繼承自javax.servlet.http.HttpServlet,所以在本質(zhì)上它和一個普通的 servlet 沒有區(qū)別,你完全可以把它當做一個 servlet 來=,只是在其中完成的功能不同罷了。RequestProssor 具體處理用戶的 request,作為一個 request handler 存在。同樣,處理request的時候,會執(zhí)行 Reques
21、tProsor 類中的 pros(execute)方法。pros 中調(diào)用的方法都是可以重載的, 如果有需要,可以實現(xiàn)為自己特定的方法。比如,對于 Locale 問題,通常都是在系統(tǒng)最一開始加載的時候的,如果用戶想在任何時刻都sLocale()方法。然后只需要在配置可以切換或者選擇自己的 Locale,文件中加入段就可以了就可以重載 pro=Action 類是實現(xiàn)整系的部分,它在客戶請求、界面表示和業(yè)務邏輯之間起到一個橋梁的作用。每一個 Action 都用來處理某一項任務,或者進行一個業(yè)務操作。當然了,說一項任務不是說 Action 只實現(xiàn)一個業(yè)務操作方法,而是集中實現(xiàn)某一個功能單元。比如登錄用
22、的 LogonAction、查找用的 SearchAction 等等。Action 是在 RequestProsor 中,由proionPerform 方法調(diào)用的非常重要的一點:不要在 Action 中包含任何業(yè)務邏輯操作,而是應該調(diào)用一個 M層的JavaBean 來實現(xiàn)你的業(yè)務邏輯操作。在某些情況下,可能包含少許表現(xiàn)邏輯。這樣,就可以充分進行代碼重用,比如上例中調(diào)用的 IStorefrontService 接口,這個接口在實現(xiàn)時完全可以不用考慮客戶端的事情,所以它可以被其它部分或者其它系統(tǒng)所使用。否則的話,Action會變得非常難于理解,難于,代碼也不能重用。struts-exle 工程的設
23、計就是一個 bug,它把業(yè)務邏輯封裝到了Action 類中=在Action 的execute 方法中,返回一個 ActionForward 類。ActionForward 把配置文件中forward部分的信息包裝起來,減少了應用程序和物理資源信息之間的耦合性。通過ActionMap類,可以在配置文件中查找相應的 forward 信息。例如,對于一個 LoginAction,它的配置信息可能是這樣的:返回的 ActionForward 就會包含段中的信息。在 ActionMap類的 findForward 方法中,首先會根據(jù)查找 forward 的 name 查找是否有相應的 forward 段
24、,如果沒有,則在配置文件中的段中進行查找,如果還沒有就會拋出一個例外。=以前,頁面上的輸入數(shù)據(jù)都通過HTTP request 提交,服務方檢索出輸入的數(shù)據(jù),進行驗證,然后將這些數(shù)據(jù)傳遞給其它組件進行業(yè)務處理。一切基本都需要手工編寫代碼進行操作,比較麻煩,也使代碼變得復雜。ActionForm.apache.strution.ActionForm用來收集用戶的輸入,并且把這些信息傳遞給 Action 對象,然后,在 Action 對象中,ActionForm 中的數(shù)據(jù)被取出來傳遞給業(yè)務邏輯層進行處理。ActionForm 一方面作為一個緩沖區(qū),臨時用戶輸入的數(shù)據(jù);另一方面,可以把ActionFo
25、rm當成是 HTTP 和 Action 之間的一個,它可以驗證輸入數(shù)據(jù)的正確性,如果驗證不通過,這個request 是不會發(fā)送給Action 進行處理的。ActionForm 可以有兩種 Scope,request 或者 ses。request 就是只能在rquest 到 response,之后 ActionForm 就不可見了;ses可以保存時間長一點。在 ActionForm 的 Validate 方法中返回的是ActionErrors 對象。這個對象可以將錯誤信息都封裝起來,并且自動把它們顯示給用戶。在相應 JSP 頁面上添加,可以自動將 ActionErrors 中的錯誤信息顯示出來。
26、包括,每一個具體的,通過 add 添加的錯誤信息,和一個 ErrorHeader 和一個 ErrorFooter,這些都可以通過配置文件指定,并且可以包含HTML 語法。Struts 提供了四種自定義 Tag 庫:bean:struts-bean taglib 包含在tag。bean 和bean 屬性時使用的 tag,也包含一些消息顯示的html:struts-html taglib 包含用來創(chuàng)建 struts 輸入表單的 tag,和其它通常用來創(chuàng)建基于 HTML用戶界面的 tag。logic:struts-logic taglib 包含的 tag 用來管理根據(jù)條件生成輸出文本,和其它一些用來
27、控制的信息。template:struts-template taglib 包含的 tag 用來定義模板機制。SQL 有幾種用戶答:SQL Server 的用戶及權(quán)限Sybase 中的用戶分為兩種:SQL 服務器用戶(登錄帳號)和數(shù)據(jù)庫用戶。 安裝完 SQL 服務器后,系統(tǒng)自動建立一個 SQL 服務器用戶 sa,口令為空,即系統(tǒng)管理員,他對整個系統(tǒng)有操作權(quán),其他用戶均由系統(tǒng)管理員建立。在 SQL Server 中有三種特殊的用戶:系統(tǒng)管理員、用戶數(shù)據(jù)庫所有者(建立相應數(shù)據(jù)庫的數(shù)據(jù)庫用戶)DBO、一般用戶。系統(tǒng)管理員對整個系統(tǒng)有操作權(quán);用戶數(shù)據(jù)庫所有者對他所建立的數(shù)據(jù)庫具有全部操作權(quán)利;一般用戶
28、對給定的數(shù)據(jù)庫只有被的操作權(quán)限。數(shù)據(jù)庫用戶一般可分為用戶組,任一數(shù)據(jù)庫在建立后即被賦予一個用戶組public。 -)1、建立SQL 服務器用戶名(登錄帳號)作為一個用戶,為了使用 SQL Server,他必須在 SQL Server 上有一個SQL 服務器用戶名(登錄帳號)。這個帳號是系統(tǒng)管理員通過 sp_addlogin 來增加的。sp_addlogin 登錄名,口令,庫名,語言,全名例:建立用戶 zhang, 口令為 zhangling(最低六位),全名為 Zhang ling 1 sp_addlogin zhang,zhangling,null,null,Zhang ling2 go3
29、select * from syslogins 4 go2、增加數(shù)據(jù)庫用戶名同樣,為了使用 SQL Server 上的數(shù)據(jù)庫,他必須在數(shù)據(jù)庫中有一個用戶名,這個用戶名是數(shù)據(jù)庫所有者通過 sp_adduser 來增加的。數(shù)據(jù)庫用戶名不必和用戶帳戶一樣,而且在不同的數(shù)據(jù)庫中用戶名可以不同。多個用戶可以有相同的 SQL Server 帳戶。同樣,多個 SQL Server帳戶可以有相同的數(shù)據(jù)庫名。sp_adduser 登錄名,別名,組名登錄名為用戶的 SQL 服務器登錄名;別名為用戶在數(shù)據(jù)庫中的用戶名;組名為用戶所屬的數(shù)據(jù)庫用戶組。例:用戶 zhang 增加為1sp_addgroup china 2
30、goe114 的用戶,別名為 zhang1,屬于用戶組 china1sp_adduser zhang,zhang1,china gB 2go1 sp_helpuser2 go*例:刪除別名 zhang1,用戶組china,登錄名 zhang1 use2 goe1143 sp_dropuser zhang14 go5 sp_helpuser6 go 1sp_dropgroup china 2go1 sp_helpgroup2 go3 use master4 go5 sp_droplogin zhang6 go7 select * from syslogins 8 go3、數(shù)據(jù)庫操作grant 命
31、令序列 to 用戶名A. 系統(tǒng)管理員可以授予其他用戶 CREATE庫所有者。DATABASE 的權(quán)限,使其他用戶可以成為數(shù)據(jù)B. 數(shù)據(jù)庫所有者在他所擁有的數(shù)據(jù)庫中,可以授予其他用戶的權(quán)限有:l CREATE TABLE建表 lCREATE DEFAULT建缺省lCREATE RULE建規(guī)則lCREATE PROCedure建過程lCREATE VIEW建視圖lDUMP DATABASE備份數(shù)據(jù)庫lDUMP TRANion備份日志C. 數(shù)據(jù)庫對象所有者可以授予其他用戶的操作權(quán)限有l(wèi) SELECT l UPDATE l INSERTl EXECute l DELETEl REFERENCE例:授予
32、 zhang1 在數(shù)據(jù)庫e114 上建表,建視圖,建過程;對表students 有select,reference權(quán);對 name,native 字段有 update 權(quán)。1 use2 goe1143 grant creat table,create procedure ,create view to zhang1 4 go5 grant select,reference on students to zhang1 with grant option 6 go 7 grant update on students(name,native) to zhang18 go9 sp_helprotec
33、t10 goXML 的優(yōu)點答:(1)更有意義的搜索數(shù)據(jù)可ML 唯一的標識。沒有 XML,搜索必須了解每個數(shù)據(jù)庫是如何構(gòu)建的。這實際上是不可能的,因為每個數(shù)據(jù)庫描述數(shù)據(jù)都是不同的。有了 XML,書就可以很容易以標準的方式按照作者、標題、ISBN 序號或其他的標準分類。搜索書就變得十分方便。(2)開發(fā)靈活的 Web 應用數(shù)據(jù)一旦建立,XML 能被發(fā)送到其他應用、對象或者中間層服務器做進一步地處理?;蛘咚梢园l(fā)送到桌面用瀏覽器瀏覽。XML 和HTML、公共對象模式一起為靈活的三層 Web 應用的開發(fā)提供了所需的技術(shù)。(4)不同來源數(shù)據(jù)的集成現(xiàn)在搜索多樣的不兼容的數(shù)據(jù)庫實際上是不可能的。XML 能夠使
34、不同來源的結(jié)構(gòu)化的數(shù)據(jù)很容易的結(jié)合在一起商可以在中間層的服務器上對從后端數(shù)據(jù)庫和其他應用處來的數(shù)據(jù)進行集成。然后,數(shù)據(jù)就能被發(fā)送到客戶或其他服務器做進一步的集合、處理和分發(fā)。(5)多種應用得到的數(shù)據(jù)XML 的擴展性和靈活性允許它描述不同種類應用中的數(shù)據(jù),從描述搜集的 Web 頁到數(shù)據(jù)。同時,由于基于XML 的數(shù)據(jù)是自我描述的,數(shù)據(jù)不需要有換和處理。描述就能被交(6)本地計算和處理XML 格式的數(shù)據(jù)發(fā)送給客戶后,客戶可以用應用數(shù)據(jù)并對數(shù)據(jù)進行編輯和處理。使用者可以用不同的方法處理數(shù)據(jù),而不僅僅是顯示它。XML 文檔對象模式(DOM)允許用或其他編程語言處理數(shù)據(jù)。數(shù)據(jù)計算不需要回到服務器就能進行。
35、分離使用者數(shù)據(jù)的界面,使用簡單靈活開放的格式,可以給 Web 創(chuàng)建功能強大的應用原來只能建立在高端數(shù)據(jù)庫上。,這些(7)數(shù)據(jù)的多樣顯示數(shù)據(jù)發(fā)到桌面后,能夠用多種方式顯示。通過以簡單開放擴展的方式描述結(jié)果化的數(shù)據(jù),XML 補充了 HTML,被廣泛的使用者界面。HTML 描述數(shù)據(jù)的外觀,而 XML 描述數(shù)據(jù)本身。由于數(shù)據(jù)顯示與內(nèi)容分開,XML 定義的數(shù)據(jù)允許指定不同的顯示方式,使數(shù)據(jù)更合理地來。本地的數(shù)據(jù)能夠以客戶配置、使用者選擇或其他標準決定的方式動態(tài)地來。CSS 和XSL 為數(shù)據(jù)的顯示提供了的機制。(8)粒狀的更新通過 XML,數(shù)據(jù)可以粒狀的更新。每當一部分數(shù)據(jù)變化后,不需要重發(fā)整個結(jié)構(gòu)化的數(shù)
36、據(jù)。變化的元素必須從服務器發(fā)送給客戶,變化的數(shù)據(jù)不需要刷新整個使用者的界面就能夠顯示出來。目前,只要一條數(shù)據(jù)變化了,整一頁都必須重建。這嚴重限制了服務器的升級性能。XML 也允許加進其他數(shù)據(jù),比如需要瀏覽器發(fā)一個新的頁面。的溫度。加入的信息能夠流入存在的頁面,不(9)在Web 上發(fā)布數(shù)據(jù)由于XML 是一個開放的基于文本的格式,它可以和 HTML 一樣使用 HTTP 進行傳送,不需要對現(xiàn)存的網(wǎng)絡進行變化。(10)升級性由于XML 徹底把標識的概念同顯示分開,處理者能夠在結(jié)構(gòu)化的數(shù)據(jù)中嵌套程序化的描述以表明如何顯示數(shù)據(jù)。這是令人難以相信的強大的機制,使得客戶計算機同使用者間的交互作用盡可能的減少了
37、,同時減少了服務器的量和瀏覽器的響應時間。另外,XML 使個人的數(shù)據(jù)只能通過更新的布告發(fā)生變化,減少了服務器的工作量,大大增強了服務器的升級性能。(11)壓縮性XML 壓縮性能很好,因為用于描述數(shù)據(jù)結(jié)構(gòu)的可以重復使用。XML 數(shù)據(jù)是否要壓縮要根據(jù)應用來定,還取決于服務器與客戶間數(shù)據(jù)的傳遞量。XML 能夠使用 HTTP1.1 中的壓縮標準。(12)開放的標準XML 基于的標準是為 Web 進行過優(yōu)化的。微軟和其他一些公司以及 W3C 中的工作組正致力于確保 XML 的互用性,以及為開發(fā)供支持,并進一步發(fā)展 XML 的標準。、處理和不同系統(tǒng)和瀏覽器的使用者提XML 包括一套相關(guān)的標準:可擴展標識語
38、言(XML)標準,這是 W3C 正式批準的。這意味著這個標準是穩(wěn)定的,完全可用于 Web 和工具的開發(fā)。XML 名域標準,這名域的句法,支持能識別名域的 XML器。文檔對象模式(DOM)標準,這為給結(jié)構(gòu)化的數(shù)據(jù)編寫能夠同計算機在基于XML 的數(shù)據(jù)上進行交互作用。提供了標準,這樣開發(fā)就可擴展類型語言(XSL)標準,這是一個工作草案。XSL 有兩個模塊XSL 轉(zhuǎn)換語言和 XSL 格式化對象。轉(zhuǎn)換語言可用來轉(zhuǎn)換 XML 以滿足顯示要求。由于 XSL 的兩部分是模塊,轉(zhuǎn)換語言能夠獨立的用來進行多用途的轉(zhuǎn)換,包括把 XML 轉(zhuǎn)換成結(jié)構(gòu)完整的 HTML。CSS 可應用于結(jié)構(gòu)簡單的 XML 數(shù)據(jù),但不能以不
39、同于信息如何傳遞來的方式顯示信息??蓴U展語言(XLL)標準和 XML 指針語言(XPOER)標準是當前的工作草案。XLL可以是多方向的,可以存在于對象提供類似與 HTML 的,但功能更強大。例如,上而不僅僅是頁面上。IE5 內(nèi)在不支持 XLL(13)微軟產(chǎn)品的支持微軟 IE4.0 支持通用的 XML器、XML 對象模式和 XML 數(shù)據(jù)源對象。IE5 和Office2000 支持許多添加的 XML 特性和技術(shù)。(14)新的機會作為表示結(jié)構(gòu)化數(shù)據(jù)的一個工業(yè)標準,XML 為組織、開發(fā)者、Web 站點和終端使用者提供了許多有利條件。的縱向市場數(shù)據(jù)格式建立起來,被應用于關(guān)鍵市場諸如高級的數(shù)據(jù)庫搜索、網(wǎng)上
40、、醫(yī)療、法律事務、電子商務和其他領(lǐng)域,這使得機會更進一步地擴大。當站點地進行分發(fā)數(shù)據(jù),而不僅僅是提供數(shù)據(jù)瀏覽時,特別的機會就產(chǎn)生了。務正從和地理位置轉(zhuǎn)移到 Web 站點上來,而且將會由于 XML 的強大功能受顧益。并且,由于大多數(shù)商業(yè)應用包括數(shù)據(jù)的處理和轉(zhuǎn)移,如單、發(fā)貨單、顧客信息、合同、圖紙等等,XML 將會實現(xiàn)。另外,使用基于 XML 的面向企業(yè)終端用戶在ernet 上的行為,許多商業(yè)應用將能互連網(wǎng)的詞匯庫,Web 站點上的信息,無論是在文檔中還是數(shù)據(jù)庫中,可以被標識。這些詞匯也能夠?qū)δ切┬枰陬櫩秃凸讨g交換信息的中小型企業(yè)提供幫助。一個重要的未開發(fā)的市場是開發(fā)使終端用戶很容易建立自
41、己的 Web 站點的工具,包括用來從數(shù)據(jù)庫信息和存在的使用者界面中產(chǎn)生XML 數(shù)據(jù)的工具。另外,標準模式可以開發(fā)數(shù)據(jù),可以使用規(guī)劃、圖表、Excel 或其他電子數(shù)據(jù)表的功能。開發(fā)的用來描述從數(shù)據(jù)庫中產(chǎn)生的 XML 的可視化工具是個很好的機會。Visual Basic,Java 和 C+編寫。XML 數(shù)據(jù)的工具可以用XML 需要強大的新工具用來在文檔中顯示豐富的復雜的 XML 數(shù)據(jù),可以在分層的動態(tài)變化的數(shù)據(jù)上用戶友好的顯示層來實現(xiàn)這一目的。XML 數(shù)據(jù)的布局圖包括數(shù)據(jù)表等。Web 站點可以提供報價、新文章或?qū)崟r的交易數(shù)據(jù)。通過制定信息老化的規(guī)則,信息超載可以避免。開發(fā)用戶用來制定規(guī)則和服務器和
42、客戶用來實現(xiàn)規(guī)則的基于 XML的工具是個巨大的機會。可以用編寫一個標準對象模式用來過濾進來的信息,檢查的信息,創(chuàng)建輸出的信息,進入數(shù)據(jù)庫等等。你項目中數(shù)據(jù)庫的設計,為什么要這樣設計Java 的優(yōu)點1.Java 是簡單的Java 與 C+極為相似,但卻簡單得多。高級編程語言的所有特性中,不是絕對需要的都已刪去了。例如,Java 沒有算符過載、標題文件、預處理、指針運算、結(jié)構(gòu),聯(lián)合、數(shù)組、模板及隱式類型變換。 如果你知道一點C、C+或Pascal,你很快就會駕馭 Java。這里是一個簡單的 Javao World 程序:public classoernet public sic void main
43、(String argv) System.out.prln(“oernet!”)2.Java 是 面象 的Java 是一種面的大部分都是對象。算子之外 Java 中象的編程語言 除了簡單的類型,如數(shù)字和正如任何面象的語言一樣,Java 代碼也按類組織。每個類定義一組規(guī)定對象行為的方法。一個類可以繼承另一個類的行為。在類的根層次上,通常是類對象。Java 支持單繼承類層次結(jié)構(gòu)。這就是說 每個類一次只能繼承一個別的類。有些語言允許多繼承性,但這可能造成繼承兩個完全不同的類的行為。,使語言不必要地復雜化。例如,難以想像一個對象會Java 還支持摘要類的接口。這允許編程先定義接口的方法,而不急于馬上確
44、定方法的實現(xiàn)。一個類可以施行多個接口從而正多繼承性的許多優(yōu)點。一個對象也可實施任意數(shù)量的接口。Java 接口與IDL 接口極其相似。很容易建立 IDLJ編譯器這就是說,Java 可用于 CORBA 對象系統(tǒng)來建立分布式對象系統(tǒng)。鑒于在許多計算機系統(tǒng)中都采用 IDL 接口和CORBA 對象系統(tǒng)這種兼容性是重要的。3.Java 是靜態(tài)類型的在一個 Java 程序中,必須定義所用對象(數(shù)字、字符、數(shù)組等)的類型。這有助于編程很快發(fā)現(xiàn)問題,因為當程序編譯時可以檢測類型錯誤。不過,Java 系統(tǒng)中的對象也有動態(tài)類型要求一個對象為動態(tài)類型往往是可能的,所以寫的程序可以對不同類型的對象做不同的事。編程4.Java 是 編 譯 型 的當運行 Java 程序時它首先被編譯成字節(jié)代碼。字節(jié)代碼非常類似于機器指令,所以Java 程序非常高效。然而,字節(jié)代碼并不專對一種特定的機器,所以 Jav
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版建筑工程施工監(jiān)理單位招標投標合同書3篇
- 二零二五版古籍文獻儲藏室修復合同3篇
- 二零二五年度高品質(zhì)膩子施工服務供應合同2篇
- 二零二五版導游人員旅游安全責任合同3篇
- 小區(qū)車子棚施工合同(2篇)
- 2025年度新能源項目財務監(jiān)督出納人員擔保合同2篇
- 二零二五版車位購置及租賃合同樣本12篇
- 2025年度欠條收藏:古董字畫修復與交易合同3篇
- 二零二五年度高新技術(shù)項目研發(fā)團隊聘用合同范本3篇
- 二零二五年餐飲服務人員勞動合同樣本12篇
- HG∕T 2058.1-2016 搪玻璃溫度計套
- 九宮數(shù)獨200題(附答案全)
- 泌尿科一科一品匯報課件
- 人員密集場所消防安全管理培訓
- 白銅錫電鍍工藝
- 拜耳法氧化鋁生產(chǎn)工藝
- 2024年南京信息職業(yè)技術(shù)學院高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
- 部編版二年級下冊道德與法治第二單元《我們好好玩》全部教案
- 幼兒園利劍護蕾專項行動工作方案總結(jié)與展望
- 合同信息管理方案模板范文
- 2024年大唐云南發(fā)電有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論