A. web有哪些表示層使用的框架
數據訪問層: hibernate
業務邏輯層和表示層:spring strus1
上面所說的就是大名頂頂的 ssh
B. 什麼是公共網路應用程序,什麼是WEB應用程序
Web應用程序首先是「應用程序」,和用標準的程序語言,如C、C++等編寫出來的程序沒有什麼本質上的不同。然而Web應用程序又有自己獨特的地方,就是它是基於Web的,而不是採用傳統方法運行的。換句話說,它是典型的瀏覽器/伺服器架構的產物。
瀏覽器/伺服器架構(Browser/Server,簡稱B/S)能夠很好地應用在廣域網上,成為越來越多的企業的選擇。瀏覽器/伺服器架構相對於其他幾種應用程序體系結構,有如下3方面的優點:
(1)這種架構採用Internet上標準的通信協議(通常是TCP/IP協議)作為客戶機同伺服器通信的協議。這樣可以使位於Internet任意位置的人都能夠正常訪問伺服器。對於伺服器來說,通過相應的Web服務和資料庫服務可以對數據進行處理。對外採用標準的通信協議,以便共享數據。
(2)在伺服器上對數據進行處理,就處理的結果生成網頁,以方便客戶端直接下載。
(3)在客戶機上對數據的處理被進一步簡化,將瀏覽器作為客戶端的應用程序,以實現對數據的顯示。不再需要為客戶端單獨編寫和安裝其他類型的應用程序。這樣,在客戶端只需要安裝一套內置瀏覽器的操作系統,如Window98或Windows2000或直接安裝一套瀏覽器,就可以實現伺服器上數據的訪問。而瀏覽器是現在計算機的標准設備。
理解了什麼是瀏覽器/伺服器架構,就了解了什麼是Web應用程序。常見的計數器、留言版、聊天室和論壇BBS等,都是Web應用程序,不過這些應用相對比較簡單,而Web應用程序的真正核心主要是對資料庫進行處理,管理信息系統(Management Information System,簡稱MIS)就是這種架構最典型的應用。MIS可以應用於區域網,也可以應用於廣域網。目前基於Internet的MIS系統以其成本低廉、維護簡便、覆蓋范圍廣、功能易實現等諸多特性,得到越來越多的應用。
B/S、C/S結構軟體技術上的比較
C/S結構軟體(即客戶機/伺服器模式)分為客戶機和伺服器兩層,客戶機不是毫無運算能力的輸入、輸出設備,而是具有了一定的數據處理和數據存儲能力,通過把應用軟體的計算和數據合理地分配在客戶機和伺服器兩端,可以有效地降低網路通信量和伺服器運算量。由於伺服器連接個數和數據通信量的限制,這種結構的軟體適於在用戶數目不多的區域網內使用。國內目前的大部分ERP(財務)軟體產品即屬於此類結構。
B/S(瀏覽器/伺服器模式)是隨著Internet技術的興起,對C/S結構的一種改進。在這種結構下,軟體應用的業務邏輯完全在應用伺服器端實現,用戶表現完全在Web伺服器實現,客戶端只需要瀏覽器即可進行業務處理,是一種全新的軟體系統構造技術。這種結構更成為當今應用軟體的首選體系結構。e通管理系列產品即屬於此類結構。
1,數據安全性比較。由於C/S結構軟體的數據分布特性,客戶端所發生的火災、盜搶、地震、病毒、黑客等都成了可怕的數據殺手。另外,對於集團級的異地軟體應用,C/S結構的軟體必須在各地安裝多個伺服器,並在多個伺服器之間進行數據同步。如此一來,每個數據點上的數據安全都影響了整個應用的數據安全。所以,對於集團級的大型應用來講,C/S結構軟體的安全性是令人無法接受的。對於B/S結構的軟體來講,由於其數據集中存放於總部的資料庫伺服器,客戶端不保存任何業務數據和資料庫連接信息,也無需進行什麼數據同步,所以這些安全問題也就自然不存在了。
2,數據一致性比較。在C/S結構軟體的解決方案里,對於異地經營的大型集團都採用各地安裝區域級伺服器,然後再進行數據同步的模式。這些伺服器每天必須同步完畢之後,總部才可得到最終的數據。由於局部網路故障造成個別資料庫不能同步不說,即使同步上來,各伺服器也不是一個時點上的數據,數據永遠無法一致,不能用於決策。對於B/S結構的軟體來講,其數據是集中存放的,客戶端發生的每一筆業務單據都直接進入到中央資料庫,不存在數據一致性的問題。
3,數據實時性比較。在集團級應用里,C/S結構不可能隨時隨地看到當前業務的發生情況,看到的都是事後數據;而B/S結構則不同,它可以實時看到當前發生的所有業務,方便了快速決策,有效地避免了企業損失。
4,數據溯源性比較。由於B/S結構的數據是集中存放的,所以總公司可以直接追溯到各級分支機構(分公司、門店)的原始業務單據,也就是說看到的結果可溯源。大部分C/S結構的軟體則不同,為了減少數據通信量,僅僅上傳中間報表數據,在總部不可能查到各分支機構(分公司、門店)的原始單據。
5,服務響應及時性比較。企業的業務流程、業務模式不是一成不變的,隨著企業不斷發展,必然會不斷調整。軟體供應商提供的軟體也不是完美無缺的,所以,對已經部署的軟體產品進行維護、升級是正常的。C/S結構軟體,由於其應用是分布的,需要對每一個使用節點進行程序安裝,所以,即使非常小的程序缺陷都需要很長的重新部署時間,重新部署時,為了保證各程序版本的一致性,必須暫停一切業務進行更新(即「休克更新」),其服務響應時間基本不可忍受。而B/S結構的軟體不同,其應用都集中於總部伺服器上,各應用結點並沒有任何程序,一個地方更新則全部應用程序更新,可以做到快速服務響應。
6,網路應用限制比較。C/S結構軟體僅適用於區域網內部用戶或寬頻用戶(1兆以上);而我們的B/S結構軟體可以適用於任何網路結構(包括33.6K撥號入網方式),特別適於寬頻不能到達的地方(例如迪信通集團的某些分公司,僅靠電話上網即可正常使用軟體系統)。
C. 前端開發時遇到過什麼坑尤其是webapp開發時
過去,應用開發需要注重大量的專業知識,程序員只需關注單一的語言(比如COBOL、RPG、C++等),並利用該語言創建應用。Web不再是單單關注獨立的一面。相反,一個現代化的Web應用開發者應該是「樣樣精通」。他們不僅要理解開發方面還要明白Web應用安全漏洞問題,了解如何與其他設備集成在一起等等。往深了說,他們還需要了解這些應用程序是如何運行在平板電腦和智能手機上的。
換句話說,Web應用開發正變得更加復雜化。它迫切需要一個不斷增加以及不斷發展的配套技能。
掌握六大技能後,估計Web應用開發時候就會避免一些坑。
1. 安全
過去,企業在內部安裝應用,基於防火牆背後的應用無法與第三方服務或應用進行通信。而隨著軟體的發展,現代Web應用能夠與其他設備進行集成,並存儲在雲伺服器上或者訪問多種類型設備。因此,安全問題顯得尤為重要。
「作為一名應用開發者(web/desktop),深入理解應用程序的安全性是最為重要的技能之一。」Veracode首席安全顧問Stephen Jensen說道,「在當今世界,有關安全問題的新聞不絕於耳,大多數是揭露數以百萬計的人們的敏感信息。因此,Web應用開發者必須知道如何預防常見的漏洞,比如Cross-Site Scripting (XSS),SQL注入等。為了確保應用在創建過程中免受安全問題的惡意攻擊,同時也為了保護用戶潛在的敏感信息問題,這也是所有開發者應當學習的必備基礎技能。」
2. 用戶體驗(UX)設計
「隨著移動設備用戶需求量的不斷增加,開發者需要充分理解用戶體驗設計顯得愈發重要。」Raster Media CEO Michael Smith說,「設計團隊單獨負責某款應用的用戶體驗的日子已經一去不復返了。開發者必須考慮互動、動畫、速度以及各個APP之間的通信等問題。」
我完全贊同這一觀點。用戶體驗設計有幾大重要因素,首先,用戶的期望有所上升。用戶下載一款新的應用,他們想立即知道它是如何運行的。他們希望從業務應用中獲取相同的體驗。其次,用戶有選擇的餘地。如果不喜歡這款應用,他們會尋找另一款代替。由於用戶的期望值增加以及競爭的加劇,更為直觀的界面需求比以往顯得更加重要。
3. 自適應/響應式設計
談及UX設計,Web App開發者必須建立可隨處運行的應用程序。現在的問題不再是「用戶如何與我的應用進行交互?」而是演變成「用戶與我的應用如何在每款設備類型上進行交互?」
想要做到這一點並不容易。你必須回答以下這些問題:「智能手機上的按鈕設置在哪裡?你如何在小屏幕上格式化數據表?當設備從人像模式切換至風景模式會發生什麼?」總之,Web開發者必須知道讓Web應用適應不同屏幕大小的方法。
針對跨平台/設備,響應式設計和自適應設計主要兩大方法:
響應式設計使用流體網格以及CSS3媒體查詢來適應各種屏幕大小/類型上的應用。你可以通過Web找到各種響應式設計案例。例如TheNextWeb就是個典型的案例。你會發現,當你調整瀏覽器大小時,該網站會自動適應新的尺寸。
自適應設計根據不同的設備提供不同的HTML頁面。比如,一款獨立的Web應用可能需要3個獨立的表示層(HTML):一個是PC端,一個是平板電腦,另一個則是智能手機。例如,在不同的設備上訪問Web App,外觀和行為顯示的均各不相同。
那麼哪一種方法最好呢?我想說它們有各有各的優勢。響應式方法對於Web網頁設計以及Web應用信息來說是個不錯的選擇;而自適應方法可更好的適用於數據驅動Web應用,尤其是包含那些數據表的應用。為什麼?這是因為它讓開發者能夠更好的控制數據結構和樣式,而不是試圖去適應多種屏幕尺寸上的單個表格,自適應設計方法可讓你為每款設備創建不同的表單。
4. JavaScript
開發者總會為他們選擇的編程語言而爭論。你無法說服一個Java程序員稱贊PHP是最好的,反之亦如此,就像你也無法說服一個PHP程序員贊同Java是最好的,但在Web應用中開發者大多數會選擇使用JavaScript。
「隨著移動和Web桌面應用的發展,JavaScript已快速成為最為重要的計算機語言。」 Coordinato創始人Ben Bakhshi表示,「不少業內人士認為利用JavaScript編碼將在未來10年內顯著增加。」
5. Web應用架構
在Web開發上,應用架構變得比以往更加重要。應用體系架構直接影響到應用可擴展性、靈活性,以及集成其他Web服務和應用的能力。如果開發者想要創建一款有用的、可持續性的應用,那麼理應深刻掌握Web應用架構知識。
「Web應用開發者應該充分關注Web應用架構」,MRC軟體開發經理Tyler Wassell說,「開發者應該了解,所開發的應用程序如何與所有系統組件進行交互,以及底層架構將如何影響諸如可移植性、可維護性、可用性等性能情況。」
6. API集成
現如今,API已發展成為Web開發一個重要的方面。從本質來講,API讓不同的Web服務之間相互通信。開發者可以通過其他應用/服務上調用數據創建應用。
SimpleCollegeRecipes網站創始人兼CEO Brendan O』Connor認為,「API集成已成為現在Web應用開發者必備的技能。API允許你從其他網站上整合內容和信息。可以說,API使人人受益,包括終端用戶,API供應商以及程序員自己。」
總結:
Web應用開發正在不斷演變,Web開發所具備的技能也在不斷更新變化中。開發者唯有不斷進取、學習新的知識才能在開發行業中站住腳。當然,想要掌握每一種Web(移動Web)技能,幾乎是不可能的,大部分公司無法為員工給予Web以及移動開發方面不同的解決方案,不可能做到面面俱到。
D. 什麼叫web表示層
web表現層
(1)Servlet的誕生,宣告java在web 領域佔有一席之地,並逐步取代CGI的地位。
(2)在Servlet里寫html標簽是一件痛苦的事。畢竟HTML中,靜態的文本標簽佔大部分,動態顯示部分只是小部分。於是JSP誕生了。成為了ASP的一個有力競爭對手。
(3)隨著"Java Code Pollution"問題浮出水面(HTML和Java代碼混雜,不僅頁面結構差,而且其中的Java代碼也很難維護),TagLib應運而生。自定義的XML元素開始替換Java代碼,這樣,整個頁面就XML化了。
(4)TagLib不能在一般的HTML瀏覽器或編輯器裡面顯示,頁面不能所見即所得。而ASP.net挾Visual Studio快速可視開發之優勢,正在Web開發領域攻城掠地。Java世界倉促應戰,啟動JSF項目。成員眾多的Web Framework陣營中又多出一位權威的重量級選手。
......
各種新概念層出不窮,頁面流程越來越復雜。大家的口號都是"為了降低開發難度,讓程序員只關注於業務邏輯,而不用關心底層的技術細節",都是"為了企業級應用,而企業級應用的需求是復雜的,所以,把簡單問題復雜化是有道理的——據說,這是為了系統的面向未來的可擴展性、可伸縮性......"
E. Web應用層,業務邏輯層,數據訪問層,連接支持層,業務實體層。主要指的是什麼
Web應用層 就是專門放aspx頁面的,裡面只有簡單的數據展示到頁面上的文件。包括一些js。css等等
業務邏輯層 就是處理web應用層和數據訪問層的關聯的,這裡面主要寫一些處理業務邏輯的方法等等。
數據訪問層,就是用來訪問資料庫的,簡單的表的增刪改查。
業務實體層,就是對應資料庫表的,用來保存數據的。
連接支持層 就是一些幫助類
F. web標准中的網頁的結構層,表現層,行為層分別指的是什麼
結構層(HTML),表示層(CSS),行為層(JavaScript)
G. 企業級應用為什麼一般選web作為表示層
因為Web通用性好,每台電腦基本都有瀏覽器,免除了客戶端安裝的麻煩,另外升級維護也容易,只需要更新伺服器上的系統就可以了,而不用更新每一個客戶端。