亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

充分利用 EJB 使移動工作群體變得強大

2019-11-18 12:37:59
字體:
來源:轉載
供稿:網友

  假如您的企業已經依靠于使用多層的企業 java 應用,那么您也許比想象中更接近無線科技的未來。通過描述一個樣本應用,Aashish Patil 向您展示了如何用最少的人力物力把您現有的企業 Java 基礎構件連接到無線網絡中去。使用現有的 EJB、修改過的 Servlet 以及新的 WML 和 WMLScript 頁面會使這個過程產生一個飛躍。
  無線應用協議(Wireless application PRotocol,WAP)可以提高一個企業現有 Web 體系結構的含金量。假如您已經使用了企業 Java 應用,您可以輕易地將它們與 WAP 服務集成,這樣可以為移動工作群體帶來有用的數據和功能。在這篇文章里,我會涉及到使用與 WAP 相關的 J2EE 的基本要素,然后創建一個 WAP/企業 Java 樣本應用,以展示您如何把自己的 EJB 連接到無線網絡中去。
  背景:J2EE 和 WAP
  在閱讀本文前,您應該對 Java 2 平臺,Enterprise Edition(J2EE)體系結構有個基本的了解。您可以通過下面的參考資料章節找到關于 J2EE 的更多信息的鏈接。作為一個回顧,下面是一張為臺式客戶機設計的典型 J2EE 應用的示意圖。
  圖 1 — J2EE 應用結構
   充分利用 EJB 使移動工作群體變得強大(圖一)
  在圖 1 中,包含 JavaServer Page(jsp)和 Servlet 的那一層負責 什么是 WML?
  正如 Web 瀏覽器顯示 Html 編碼的數據一樣,支持無線標記語言(WAP)的設備顯示 WML 編碼的數據;另外,正如 Web 開發人員使用 Javascript 把腳本功能嵌入到 Web 頁面一樣,設備開發人員使用 WMLScript 把同樣的功能嵌入到 WML 頁面中。WML 是 xml 的一個子集,而對于精通 HTML 或其它標記語言的人來說它看起來很眼熟。WML 有一個獨一無二的特征需要牢記:它像一盒卡片;一個單一的 HTML 文檔顯示成一個單一的 Web 文檔,而一個單一的 WML 文檔 可以包含很多卡片。WAP 設備的屏幕一次只能顯示一張卡片。
  生成動態 HTML 頁面。而在 WAP 應用中,這一層將生成動態的無線標記語言(Wireless Markup Language,簡稱 WML)頁面。因此,為了轉換一個標準的 J2EE 應用使之為移動設備所使用,您將不得不編寫新的 JSP,并且在某些情況下,還要編寫新的 Servlet。企業 JavaBean(EJB)保持不變,因為它們與數據表現無關。
  有些人認為 Servlet 無需更改,或者說:只要把 Servlet 的輸出簡單地重定向到生成動態 WML 頁面的 JSP 上就已經足夠了。然而,Servlet 不能區別從臺式機和從 WAP 設備發來的請求;既然 WAP 應用可能無法實現基于 Web 的體系結構的所有功能,所以在這方面并沒有混淆的地方,這一點很重要。也正由于此,開發人員通常為 WAP 應用設計新的 Servlet。然而在大多數情況下,這些 Servlet 與那些在基于 Web 的體系結構上提供類似功能的 Servlet 非常相似。
  在圖 1 中沒有出現但對 WAP 應用又很重要的另一個組件是 WAP 網關。這個組件負責 WAP 棧和 Internet 棧之間的相互轉換。
  圖 2 是圖 1 的改進版,顯示了使用 WAP 設備作為客戶端的 J2EE 應用的結構:
  圖 2 — WAP/J2EE 應用的結構
   充分利用 EJB 使移動工作群體變得強大(圖二)
  按照圖示,所有自 WAP 客戶端到 Web 服務器的請求必須通過 WAP 網關發送。盡管 WAP 網關也可以作為放置 WML/WMLScript 頁面的 WAP 服務器,但使用 Web 服務器來放置這些頁面更為方便。
  有很多 WAP 網關的部署方法。對于多數 WAP 應用來說,網關或由 ISP 部署,或由提供這個應用的公司來部署。后者更為安全,我們以后會解釋;然而,假如用戶要求在他們的 WAP 設備上進行多用途的網絡訪問,一個內部的 WAP 網關會很不方便。大多數非 ISP 不希望他們的網關被用來訪問他們自己站點以外的其他站點;因此,為了訪問其他站點,用戶將不得不使用 ISP 網關。但對于被 WAP 客戶端使用的每一個網關來說,用戶都必須定義一個不同的連接,正如 Windows 98 的撥號網絡一樣 — 而且在每個設備上,這樣連接的數目通常是有限的。這就增加了用戶的不便性,并且在訪問一個站點時造成 WAP 設備中的連接阻塞。
  WAP 應用設計的考慮事項
  當使用 WAP 時,一個習慣為臺式客戶機編寫 J2EE 應用的開發人員會碰到一些新的挑戰。以下是在構建 WAP 應用時您也許會碰到的一些問題。
  我可以在屏幕上顯示幾行信息?
  事實上,對顯示多少行沒有非凡限制,只要不超過面板的最大尺寸就行(隨設備的不同而不同)。然而,為了避免太多滾屏,每屏(即卡片)5 至 7 行最佳。
  我應該考慮哪些安全問題?
  一些電話不支持使用 POST 方法發送表單數據。因此,用戶名和密碼必須通過 GET 方法發送。在 WAP 網關上,假如日志功能被激活并且請求已被記錄,治理員就有能看到用戶名和密碼。假如網關是由 ISP 或其它第三方提供的,這個問題就會非凡突出。
  即使一個安全的連接也不能完全消除安全隱患。那些發送到 WAP 網關的數據使用 WTLS(Wireless Transport Layer Security)加密,它使用與標準 TLS 相同的算法。然而,發送到 WAP 網關的數據是二進制的編碼格式(對 WAP),所以這些加密后的數據必須用 TLS 解密和再加密以適用于因特網。經過一段時間以后,敏感數據在 WAP 網關上以明文的形式出現。黑客則會在適當的時刻,將內存中的信息轉儲出來,進而成功地訪問這些敏感數據。
  按照注釋,解決該問題的一種辦法是在自己公司(而不是在 ISP)設一個 WAP 網關。在這種情況下,一個可信的人可以操作網關,并且可以關閉日志功能。
  您也可以用 WMLScript 來編寫自定義的加密算法,以對客戶端的用戶名和密碼進行加密。這只有在使用簡單的算法時才有可能實現;在支持 DES 類的算法上,WMLScript 不夠強大。
  我怎樣保持 session?
  WAP 客戶端不支持 Cookie。這樣,當用戶在您的站點的不同頁面之間穿梭時,為了在服務器端保留關于客戶端的信息,在向服務器發送每個請求的同時,一個 Session ID 必須被當作參數傳遞。Session ID 的參數名根據 Servlet 引擎的不同而不同。
  有時,缺省的 Session ID 長度很大幅度地增加了每個請求的長度。結果導致客戶端或 WAP 網關可能將此請求看作一個無效的 URL 而拒絕。這樣有必要縮短 Session ID 的長度。請查看一下您正在使用的 Servlet 引擎的說明文檔中關于 Session ID 參數名的部分。假如您碰到過無效 URL 的錯誤,這個說明文檔也應提供有關縮短 Session ID 值長度的指南。
  構造樣本應用
  XYZ Ltd. 是一家生產 PDA,可佩戴的計算機,及其它普及計算設備的公司。公司的銷售人員拜訪客戶,提供 XYZ 產品的現場演示;某些演示要求銷售人員必須跑很遠的路去客戶那里。那么在路上,他們是怎么收到客戶列表和其它重要數據的呢?
  為此使用電子郵件會需要體積較大且昂貴的便攜式電腦或無休止的 Internet cafés 的搜索;在客戶端使用傳真機則更不切實際。取而代之的是 XYZ 的銷售人員會通過支持 WAP 功能的設備接收數據,例如手機或 PDA。使用移動設備,銷售人員能在拜訪客戶時向公司提供及時的反饋。公司就能馬上安排給客戶及時發貨并維護目前的銷售統計信息。
  我們的應用有兩個主要目標。首先,我們流動的銷售人員應該能使用它在 WAP 設備上查看客戶列表。第二,假如一個客戶希望買貨,那么銷售人員應能使用設備來下訂單。此外,任何 WAP 應用的一個重要目標應該是減少用戶必要的按鍵數目。由于受手持設備的用戶界面限制,用戶需要輸入的數據量應控制在最少。
  這是一張顯示我們系統的體系結構的流程示意圖
  圖 3 — 應用流程示意圖
   充分利用 EJB 使移動工作群體變得強大(圖三)
  用戶首先必須登錄以訪問系統;然后他們能瀏覽客戶列表和每個客戶的具體信息。假如他們希望為某一特定的客戶下訂單,那么系統會提供他們一個產品列表,他們可以從中為該客戶選擇一個特定的產品。
  在本文余下的大多數內容中,我們會討論實現該應用的 Servlet 和 JSP 代碼,并會考察 JSP 和 Servlet 一起工作的方式。關于每個 JavaServer Page 的討論還配有圖解,顯示了 JSP 在設備屏幕上的輸出。
  清單 1,Login.jsp 接受用戶名和密碼,并把它們作為參數來調用 LoginServlet。對這個和其它所有的 JSP 來說,MIME 類型都應被設置成 text/vnd.wap.wml 類型。在傳遞請求的同時,上面的 Login.jsp 還傳遞了一個叫 SessionID 的參數。它必須與每個傳送到服務器的請求一起傳遞。參數名 SessionID 是一個占位符;請參考應用服務器的說明文檔,找到適用于您特定的應用服務器的正確的參數名。Java 方法 HttpServletResponse.encodeURL(String URL) 自動添加 Session ID;在我們的應用里,這已經被廣泛地使用在 Servelet 中。
   充分利用 EJB 使移動工作群體變得強大(圖四)
  驗證空白的輸入域時會出現問題。在 input 標記里有一個屬性,它讓您使輸入域不為空:
  〈input name="name" type="text" emptyok="false"/〉
  一個手機用戶必須訪問各個獨立的對話框屏幕去輸入數據。問題出現了,因為用戶寧愿選擇直接訪問下一盒或下一張卡片而不愿通過對話框屏幕去輸入數據。一個用戶面對如圖 4 所示的屏幕時也許會遺漏密碼并撳下 NEXT。
  一個開發人員可以通過使用 WMLScript 的驗證來避免這個問題的發生(通過使用 onclick 事件)。然而,直到輸入一個值到輸入框以后,您傳遞到 WMLScript 函數的代表輸入域值的那個變量才開始被初始化。因此,若無密碼鍵入,傳遞到該函數的是未初始化的變量和腳本錯誤結果。這個問題的解決方法是在服務器端驗證所有的輸入域。
  清單 2,LoginServlet 是我們問題的解決方案:它可以認證銷售人員,并把他記錄在系統中。它也可以在服務器端為銷售人員創建一個 Session。代碼塊上的注釋指明了在哪里這些操作會被執行。一旦成功登錄,設備

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91美女片黄在线观| 热久久免费视频精品| 91久久国产精品91久久性色| 亚洲一区二区三区xxx视频| 高潮白浆女日韩av免费看| 亚洲精品午夜精品| 国产日韩欧美电影在线观看| 精品亚洲va在线va天堂资源站| 久久成人在线视频| 欧美成人精品影院| 成人欧美一区二区三区在线湿哒哒| 国产亚洲日本欧美韩国| 欧美性极品xxxx做受| 成人黄色中文字幕| 91免费电影网站| 国产欧美一区二区三区久久| 98精品在线视频| 久久久久久97| 中文字幕日本精品| 欧美最顶级丰满的aⅴ艳星| 色999日韩欧美国产| 国产精品视频免费观看www| 国产视频999| 91精品久久久久久久| 在线视频中文亚洲| 欧美整片在线观看| 久久免费视频在线| 久久国产天堂福利天堂| 欧美日韩激情视频| 国产精品直播网红| 亚洲精品v天堂中文字幕| 欧美肥臀大乳一区二区免费视频| 亚洲a∨日韩av高清在线观看| 精品亚洲一区二区三区在线观看| 亚洲图片在线综合| 久久男人av资源网站| 日本不卡高字幕在线2019| 欧美在线不卡区| 亚洲欧美中文字幕在线一区| 国产精品免费一区二区三区都可以| 亚洲国产精品国自产拍av秋霞| 国产精品小说在线| 欧美另类69精品久久久久9999| 欧美日韩裸体免费视频| 欧美色另类天堂2015| 亚洲黄色www| 久久久久久有精品国产| 日韩av影院在线观看| 久久激情视频免费观看| 午夜精品久久久99热福利| 欧美日韩美女在线观看| 成人激情电影一区二区| 久久久精品中文字幕| 91国产精品电影| 欧美日韩亚洲精品内裤| 日本精品久久电影| 日韩在线播放视频| 久久久久国产精品免费网站| 亚洲精品综合精品自拍| 欧美成人免费播放| 一个人看的www欧美| 亚洲精品v欧美精品v日韩精品| 国产精品久久久久久久久久久不卡| 色综合视频一区中文字幕| 亚洲国模精品私拍| 国产精品福利在线观看网址| 91在线色戒在线| 欧美精品免费播放| 国模极品一区二区三区| 亚洲xxxx妇黄裸体| 欧美成人精品不卡视频在线观看| 在线精品视频视频中文字幕| 国产精品毛片a∨一区二区三区|国| 国产精品一区二区三区成人| 精品久久久久久中文字幕一区奶水| 成人黄色av网| 欧美黑人性猛交| 性色av一区二区三区在线观看| 亚洲网站在线看| 欧美福利在线观看| 亚洲石原莉奈一区二区在线观看| 久久久精品国产亚洲| 精品国产一区二区在线| 日韩av网站导航| 亚洲丝袜一区在线| 精品综合久久久久久97| 亚洲第一页在线| 国产精品成人av性教育| 日韩精品在线视频| 91精品国产91久久久久| 中文字幕亚洲欧美日韩高清| 成人网在线免费观看| 国产激情视频一区| 日韩av在线一区| 大伊人狠狠躁夜夜躁av一区| 九九九久久国产免费| 日韩一区二区精品视频| 欧美性受xxxx白人性爽| 韩国欧美亚洲国产| 一区二区欧美久久| 97色在线视频观看| 亚洲精品资源美女情侣酒店| 国产精品美女无圣光视频| 中文字幕亚洲图片| 亚洲r级在线观看| 久久精品国产亚洲| 精品视频www| 中文字幕久久久| 日本亚洲欧美三级| 成人精品视频在线| 色www亚洲国产张柏芝| 性欧美在线看片a免费观看| 一区二区三区视频观看| 91大神福利视频在线| 夜夜嗨av色一区二区不卡| 亚洲人成在线一二| 中文字幕亚洲欧美在线| 亚洲精品美女视频| 亚洲曰本av电影| 亚洲国产日韩欧美在线图片| 久久综合88中文色鬼| 国产日韩欧美一二三区| 亚洲国产精品yw在线观看| 国产aaa精品| 久久99精品久久久久久琪琪| 亚洲国产黄色片| 国产91精品久久久| 美女国内精品自产拍在线播放| 精品成人在线视频| 欧美激情xxxxx| 久热精品在线视频| 欧美视频中文在线看| 亚洲综合在线做性| 91精品91久久久久久| 亚洲新中文字幕| 国产区亚洲区欧美区| 国产精品aaaa| 亚洲色图综合网| 久久久久久久久爱| 91最新在线免费观看| 亚洲精品欧美一区二区三区| 亚洲国产精品嫩草影院久久| 久久精品国产精品| 久久精品国产亚洲一区二区| 超薄丝袜一区二区| 成人在线免费观看视视频| 国产精选久久久久久| 日本欧美在线视频| 亚洲欧美日本精品| 91免费人成网站在线观看18| 久久久久久高潮国产精品视| 狠狠色香婷婷久久亚洲精品| 亚洲日本中文字幕免费在线不卡| 神马久久久久久| 上原亚衣av一区二区三区| 成人性生交xxxxx网站| 欧美精品videofree1080p| 亚洲成在人线av| 亚洲女人天堂av| 成人h猎奇视频网站| 久久91亚洲精品中文字幕奶水| 97视频在线观看免费| 欧美一级bbbbb性bbbb喷潮片| 91在线观看免费高清完整版在线观看|