成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Applet和Servlet的使用

開發 后端
本文介紹Applet和Servlet的使用,Applet和Servlet交換信息的最簡單地方法就是通過HTTP文字流。

Applet的安全約束

Applet代碼來自于web主機并在最終用戶的機器的瀏覽器中運行。有害的含有病毒的 Applet可能會造成破壞性的效果,為了防止這樣的Applet,Applet受到安全方面的約束,那就是Applet只可以與提供這個Applet的主機進行通信,而且Applet不能操作最終用戶的機器。它們不能讀寫該用戶的文件系統,不能執行上面的程序,也不能檢查一些敏感的環境參數。(事實上,我們有一種方法可以回避這種限制,那就是開發者可以利用數字簽名的技術對Applet進行標志,這將會詢問用戶是否可以給予Applet某種特殊的待遇。但是這已經超出我們這篇文章中所討論的范圍了。)此外,Applet不能建立或接受外來的socket連接。所謂外來的是指這個連接超出了提供這個 Applet類文件的主機(不是提供引用這個Applet的HTML所在的主機)。

因為這個安全性的限制,我們與Applet的通信必須采用一種特殊的策略。通信的唯一的途徑就是在提供Applet的主機和提供相應的HTML的主機之前的網絡連接。

Servlets

Java Servlet是服務器端的組件,它和CGI有很多相似。它可以處理web請求,并返回數據或HTML。Servlet可以訪問數據庫,進行計算,并和Enterprise JavaBean這樣的組件進行通信。與CGI程序不同的是,Servlet是持久有效的,也就是說,它只要被示例一次就可以不斷地處理請求(這些請求很可能是同時發生的)。因此,Servlet比CGI來得更高效。

Servlet運行在一個Servlet引擎中,通常是在一個web服務器或應用程序服務器上。Netscape Enterprise Server 4.0和Netscape Application Server都支持***版本的Java Servlet規范。和Applet不同,Servlet不受安全約束的限制。因為Servlet是完全在服務器上運行的,它具有所有操作系統所允許的性能。

Servlet可以用來很方便地建立在Applet和Web瀏覽器這樣的客戶端和企業應用程序的核心之間的連接。對于客戶端來說,向Servlet發出的請求與其他web請求并沒有任何不同。客戶端通過一個URL來接受返回的信息,正如我們看到的那樣,返回的信息并不一定只能是HTML,實際上我們可以通過HTML協議發送和接受任何類型的數據。

構造方法

一個企業級的應用程序可以有幾種方法來構造Applet和Servlet的使用。我將向大家介紹三種不同的構造方法,并對它們的優缺點進行比較。

***種方法實際上只使用了Applet而沒有使用Servlet,盡管Applet受到它們的安全模式的限制,但是Applet還是可以使用象JDBC、RMI這樣的協議來訪問象數據庫、LDAP目錄和Enterprise JavaBeans組件這樣的后端信息。這種構造方法如圖1所示。這種方法雖然看上去很簡單,但是這并不是一個好的方法,它會帶來很多的問題。首先,這種安排要求你將所有的訪問信息直接嵌入到你的Applet代碼中。數據庫用戶名、口令、服務器標識,所有的這一切都必須包含在你的Applet代碼中,這樣最終用戶就有可能從類文件中搜集到這些信息。此外,數據庫或任何其他你訪問的系統都必須在提供Applet的同一臺服務器上。這意味著你的服務器將不得不承擔雙重的負擔,它既是一個web服務器,也是一個數據庫服務器。典型的情況是,你的后端資源可能受到防火墻的保護,但是在這種情況下,這是不可能的,因為運行在客戶端上的Applet必須直接訪問你的機器。***,使用這種方法,你想使用web服務器群集,如果不是不可能的,至少也是很困難的。

一個雙層結構的應用程序構造

一個雙層結構的應用程序構造

好一點的方法是將與后端資源通信的事務封裝到Servlet中,而Applet僅僅用來處理前端的工作。在這種構造方法中,正如我們在圖2中所示的那樣,Servlet克服了Applet固有的安全約束,并用來控制Applet訪問企業信息系統和事務邏輯。當Servlet接受到一個請求時,它會在后端數據庫中查詢信息、執行計算、處理對代表Applet的信息的獲取并作用于來自Applet的信息。這種方法的一大進步是Applet和Servlet對可以分布在一個后端web服務器的群集上,所有與某一共享的數據庫的通信都存在于后端。此外,使用Servlet的設計有助于設計的模塊化、抽象應用程序的后端處理商業邏輯并提高設計的靈活性。

一個三層結構的應用程序構造

一個三層結構的應用程序構造

如果你是圍繞Enterprise JavaBeans構建你的應用程序,Servlet就成了中間件。EJB組件可以更加有助于將商業邏輯從Servlet中分離出來,并將其更加抽象。在這種情況下,一個Applet和Servlet通信,Servlet再與EJB組件通信。就象我們在圖3中所示的那樣。在應用程序構建中引入由EJB組件、Servlet和前端的applet/HTML這樣的層次結構,可以給我們提供***限度的彈性和性能。盡管這樣做你必須附出復雜化和費用的代價。

一個多層結構的應用程序構造

一個多層結構的應用程序構造


通信策略

如果你使用了這樣的構造:在前端使用Applet,在后端使用Servlet,那么你將需要執行Applet和Servlet的通信。因為Applet受瀏覽器的安全模式的限制,我們在對一個Applet存取數據和信息時并沒有太多的選擇。正如我們在前面提到的,我們不能讀取客戶端的文件系統、不能運行客戶端的程序,由于Applet不是在服務器上運行的,我們也不能訪問服務器上的文件系統。我們只能建立到運行在我們的主機上的服務的網絡連接。另外,不要忘記應用程序是在一個公開的Internet上發布的,防火墻可能會限制通過HTTP到Servlet或其它web-server模塊的會話。事實上,因為Applet本身就是在網絡上通過HTTP發布的,所以我們必須準確把握通信的策略。

假定在客戶端的Applet和服務器端的Servlet之間的網絡連接是我們可以使用的唯一的通信路徑,我們可以有幾種方法交換信息。正如你知道的,文字流可以由服務器通過HTTP發放。但是你可能不知道Java對象出可以用這種方式發放。我們將詳細地介紹HTTP文字流和HTTP 對象流的使用。另外,我們將簡單地介紹通過Socket進行通信的方法,當一個應用程序枰??虻摹⒊中?牧?郵保?飧齜椒ɑ崽乇鷯杏謾?br>HTTP文字流

Applet和Servlet交換信息的最簡單地方法就是通過HTTP文字流。Java的URL和URLConnection類型使得從一個URL讀取數據變得很容易,你可以不用擔心 Socket和其它有關網絡工作的通常的復雜問題。我們所需要的只是一個服務器端的組件,這個組件應該可以通過URL發放信息。這就是我們在這兒使用Servlet的原因。

【編輯推薦】

  1. Servlet 2.5版本終止響應
  2. 創建Servlet過濾器的向導
  3. 淺談user cache Servlet
  4. 過濾器解壓縮Servlet和JSP頁面內容
  5. Servlet的Context與Config
責任編輯:佚名 來源: IT專家網
相關推薦

2009-07-08 18:16:02

Applet和Serv

2009-07-09 16:57:03

Servlet與App

2009-07-07 17:23:08

Java Servle

2009-07-03 12:48:24

Java Servle

2009-07-07 16:05:15

Servlet和Jav

2009-06-23 13:47:02

JavaFxApplet示例

2009-07-08 09:35:53

Java ServleServlet 3.0

2012-01-17 13:53:16

JavaSwing

2009-07-06 15:34:56

JSP和Servlet

2009-07-08 09:22:03

Servlet和JSP

2009-07-09 09:54:07

Servlet和CGI

2012-03-28 13:11:35

JavaEclipse

2009-07-10 18:10:18

Jython編寫SerJython

2009-07-07 13:29:33

Servlet和JSP

2009-07-06 18:16:00

Servlet程序Cookie

2009-07-09 10:49:56

Servlet和JSP

2011-07-04 16:04:20

Applet

2010-09-17 10:16:26

Java Applet

2009-06-11 08:59:35

2009-07-07 17:10:57

JSP和Servlet
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品1区 | 桃花av在线| 日日操夜夜干 | 日本精品视频在线观看 | 久久99精品久久久水蜜桃 | 久久久99国产精品免费 | 国产日韩精品一区 | 91成人在线视频 | 99综合 | 精品欧美一区二区三区久久久 | 亚洲精品视频免费 | 天天射网站 | 日本五月婷婷 | www.国产精品 | 亚洲一区不卡在线 | 国产精品日产欧美久久久久 | 久久精品91久久久久久再现 | 就操在线 | 国产高清精品一区二区三区 | 91精品国产综合久久久动漫日韩 | 中文字幕日韩欧美 | 免费观看的黄色网址 | 国产成人免费视频 | 精品一区欧美 | 欧美一级免费 | 人人干人人干人人 | 欧美aⅴ片 | 国产精品久久久久久久久久久久久久 | 国产精品视频播放 | 正在播放一区二区 | 欧美精品在线免费 | av黄色片在线观看 | 激情国产视频 | 国产最新网址 | 久久天堂网 | 好好的日在线视频 | 美女天天操 | 在线日韩| 成人欧美一区二区三区 | 天堂一区二区三区四区 | 国产网站在线免费观看 |