⑴ J2EE是什麼麻煩告訴我
·宿主應用的一個運行基礎框架環境。
·一套用來創建應用的Java擴展API。」(引自《J2EE伺服器端高級編程》)
答:J2EE是很多技術的集合體,並且還在成長中。
你會遇到很多專有名詞:比如(X)HTML,Servlet/JSP,JDBC,JMS,JNDI,EJB,XML,Web Service……。
尤其是XML和Web Service正在快速成長。幸運的是,你不需要等到學會所有技術後再開始編程。
大體上J2EE可以分成3個主要應用:Servlet/JSP,EJB,XML/Web Service 和一些支撐技術例如JDBC和JNDI。
你可以一個一個的學。
答:用來建設大型的分布式企業級應用程序。或者用更時髦的名詞說就是「電子商務」應用程序。
這些企業可能大到擁有中心資料庫伺服器,Web伺服器集群和遍布全國的辦公終端,也可能小到只不過想做一個網站。
答:在這一市場目前只有一種技術可以和J2EE競爭,那就是Microsoft的.NET。
相對來說.NET要「新」一些而J2EE要「老」一些。
但是.NET只能用於Windows平台(Microsoft聲稱要開發C#在Linux上的虛擬機但是尚未兌現該諾言),
考慮到Linux的發展勢頭,你可以相信.NET不會一統天下。
答:在Sun公司提供的樣常式序Pet Store上,Microsoft聲稱不如相同的.NET程序好。
而Sun公司反駁說這一程序不能真正體現J2EE的性能,並且指責Microsoft在資料庫上做了優化。
作者沒有學習過.NET因而不能妄下斷言。
6 聽你說了這么多,我想學著玩玩。
答:除非你想靠它當飯吃或者作為技術儲備,否則請不要浪費你的時間。
Flash要好玩得多。計算機游戲就更加好玩了。
答:首先,下載一個J2EE伺服器。其次,去java.sun.com下載J2EE的API。第三,找一本好的參考書。最後,找一個順手的IDE。
J2EE伺服器。你可以用Sun的J2EE SDK(免費),或者Weblogic(性能最好,但是太大,而且作者不推薦盜版行為),或者JBoss(免費,就是文檔太少),或者JRun(開發版免費,作者用這個)。參考書作者感覺Wrox的《J2EE伺服器端高級編程》不錯,但是太老(作者手頭的是2001年中文版)。你還需要去下載一些最新的技術資料(當然肯定是英文的)。
IDE如果你的機器配置夠好(內存至少512M以上,256M或以下請勿考慮),可以用IBM的WSAD,不然就繼續用Eclipse或者其他。
你也可以經常去水木清華的Java版逛逛,但是在發貼前先看看精華區里有沒有你要的答案。
8 我下了一個J2EE伺服器但是不會配置。
答:請認真閱讀隨機指導文檔,不同的伺服器的配置都不一樣,作者愛莫能助。
9 我發現你沒有提到Tomcat。
答:Tomcat只是一個Web伺服器,更准確地說主要只是一個Web Container。
⑵ j2ee是什麼
j2ee
J2EE Java2平台企業版(Java 2 Platform,Enterprise Edition)
J2EE是一套全然不同於傳統應用開發的技術架構,包含許多組件,主要可簡化且規范應用系統的開發與部署,進而提高可移植性、安全與再用價值。
J2EE核心是一組技術規范與指南,其中所包含的各類組件、服務架構及技術層次,均有共通的標准及規格,讓各種依循J2EE架構的不同平台之間,存在良好的兼容性,解決過去企業後端使用的信息產品彼此之間無法兼容,導致企業內部或外部難以互通的窘境。
在J2EE架構下,開發人員可依循規范基礎,進而開發企業級應用;而不同J2EE供貨商,同會支持不同J2EE版本內所擬定的標准,以確保不同J2EE平台與產品之間的兼容性。換言之,植基J2EE架構的應用系統,基本上可部署在不同的應用伺服器之上,無需或者只須要進行少量的代碼修改,即能大幅提高應用系統的可移植性(Portability)。
J2EE主由升陽(SUN)與IBM等廠商協同業界共同擬定而成的技術規范,以企業與企業之間的運算為導向的JAVA開發環境。J2EE架構定義各類不同組件,如Web Component、EJB Component…等,而各類組件可以再用(reuse),讓已開發完成的組件,或者是經由市面采購而得的組件,均能進一步組裝成不同的系統。
對於開發人員而言,只需要專注於各種應用系統的商業邏輯與架構設計,至於底層繁瑣的程序撰寫工作,可搭配不同的開發平台,以讓應用系統的開發與部署效率大幅提升。
J2EE的核心規范是 Enterprise Java Beans(EJBs)。EJB依照特性的不同,目前共分為三種,分別是Session Bean、Entity Bean,以及 Message Driven Bean 。其中 Session Bean 與Entity Bean 算是EJB的始祖,這兩種EJB規格在EJB 1.x版本推出時就已經存在,而Message Driven Bean則是出現在EJB 2.0的規格之中。
目前業界許多程序設計師,或者是網頁設計人員,多利用JSP/Servlet的便利性,進而在J2EE伺服器之上開發相關的應用,或是整合公司內部的各種資源。
Java 2平台依照應用領域的不同,共分為三大版本,分別是J2EE、標准版本J2SE(Java 2 Platform, Standard Edition)、微型版本J2ME(Java 2 Platform, Micro Edition),以及Java Card等。
從整體上講,J2EE是使用Java技術開發企業級應用的一種事實上的工業標准(Sun公司出於其自身利益的考慮,至今沒有將Java及其相關技術納入標准化組織的體系),它是Java技術不斷適應和促進企業級應用過程中的產物。Sun推出J2EE的目的是為了克服傳統Client/Server模式的弊病,迎合Browser/Server架構的潮流,為應用Java技術開發伺服器端應用提供一個平台獨立的、可移植的、多用戶的、安全的和基於標準的企業級平台,從而簡化企業應用的開發、管理和部署。J2EE是一個標准,而不是一個現成的產品。各個平台開發商按照J2EE規范分別開發了不同的J2EE應用伺服器,J2EE應用伺服器是J2EE企業級應用的部署平台。由於它們都遵循了J2EE規范,因此,使用J2EE技術開發的企業級應用可以部署在各種J2EE應用伺服器上。
為了推廣並規范化使用J2EE架構企業級應用的體系架構,Sun同時給出了一個建議性的J2EE應用設計模型:J2EE Blueprints。J2EE Blueprints提供了實施J2EE企業級應用的體系架構、設計模式和相關的代碼,通過應用J2EE Blueprints所描述的體系模型,能夠部分簡化架構企業級應用這項復雜的工作。J2EE Blueprints是開發人員設計和優化J2EE組件的基本原則,同時為圍繞開發工作進行職能分工給出了指導性策略,以幫助應用開發設計人員合理地分配技術資源。
J2EE組成了一個完整企業級應用的不同部分納入不同的容器(Container),每個容器中都包含若干組件(這些組件是需要部署在相應容器中的),同時各種組件都能使用各種J2EE Service/API。J2EE容器包括:
◆ Web容器 伺服器端容器,包括兩種組件JSP和Servlet,JSP和Servlet都是Web伺服器的功能擴展,接受Web請求,返回動態的Web頁面。Web容器中的組件可使用EJB容器中的組件完成復雜的商務邏輯。
◆ EJB容器 伺服器端容器,包含的組件為EJB(Enterprise JavaBeans),它是J2EE的核心之一,主要用於伺服器端的商業邏輯的實現。EJB規范定義了一個開發和部署分布式商業邏輯的框架,以簡化企業級應用的開發,使其較容易地具備可伸縮性、可移植性、分布式事務處理、多用戶和安全性等。
◆ Applet容器 客戶端容器,包含的組件為Applet。Applet是嵌在瀏覽器中的一種輕量級客戶端,一般而言,僅當使用Web頁面無法充分地表現數據或應用界面的時候,才使用它。Applet是一種替代Web頁面的手段,我們僅能夠使用J2SE開發Applet,Applet無法使用J2EE的各種Service和API,這是為了安全性的考慮。
◆ Application Client容器 客戶端容器,包含的組件為Application Client。Application Client相對Applet而言是一種較重量級的客戶端,它能夠使用J2EE的大多數Service和API。
通過這四個容器,J2EE能夠靈活地實現前面描述的企業級應用的架構。
在View部分,J2EE提供了三種手段:Web容器中的JSP(或Servlet)、Applet和Application Client,分別能夠實現面向瀏覽器的數據表現和面向桌面應用的數據表現。Web容器中的Servlet是實現Controller部分業務流程式控制制的主要手段;而EJB則主要針對Model部分的業務邏輯實現。至於與各種企業資源和企業級應用相連接,則是依靠J2EE的各種服務和API。
在J2EE的各種服務和API中,JDBC和JCA用於企業資源(各種企業信息系統和資料庫等)的連接,JAX-RPC、JAXR和SAAJ則是實現Web Services和Web Services連接的基本支持。
J2EE的各種組件
我們就J2EE的各種組件、服務和API,進行更加詳細的闡述,看看在開發不同類型的企業級應用時,根據各自需求和目標的不同,應當如何靈活使用並組合不同的組件和服務。
· Servlet
Servlet是Java平台上的CGI技術。Servlet在伺服器端運行,動態地生成Web頁面。與傳統的CGI和許多其它類似CGI的技術相比,Java Servlet具有更高的效率並更容易使用。對於Servlet,重復的請求不會導致同一程序的多次轉載,它是依靠線程的方式來支持並發訪問的。
· JSP
JSP(Java Server Page)是一種實現普通靜態HTML和動態頁面輸出混合編碼的技術。從這一點來看,非常類似Microsoft ASP、PHP等技術。藉助形式上的內容和外觀表現的分離,Web頁面製作的任務可以比較方便地劃分給頁面設計人員和程序員,並方便地通過JSP來合成。在運行時態,JSP將會被首先轉換成Servlet,並以Servlet的形態編譯運行,因此它的效率和功能與Servlet相比沒有差別,一樣具有很高的效率。
· EJB
EJB定義了一組可重用的組件:Enterprise Beans。開發人員可以利用這些組件,像搭積木一樣建立分布式應用。在裝配組件時,所有的Enterprise Beans都需要配置到EJB伺服器(一般的Weblogic、WebSphere等J2EE應用伺服器都是EJB伺服器)中。EJB伺服器作為容器和低層平台的橋梁管理著EJB容器,並向該容器提供訪問系統服務的能力。所有的EJB實例都運行在EJB容器中。EJB容器提供了系統級的服務,控制了EJB的生命周期。EJB容器為它的開發人員代管了諸如安全性、遠程連接、生命周期管理及事務管理等技術環節,簡化了商業邏輯的開發。EJB中定義了三種Enterprise Beans:
◆ Session Beans
◆ Entity Beans
◆ Message-driven Beans
· JDBC
JDBC(Java Database Connectivity,Java資料庫連接)API是一個標准sql(Structured Query Language,結構化查詢語言)資料庫訪問介面,它使資料庫開發人員能夠用標准Java API編寫資料庫應用程序。JDBC API主要用來連接資料庫和直接調用SQL命令執行各種SQL語句。利用JDBC API可以執行一般的SQL語句、動態SQL語句及帶IN和OUT參數的存儲過程。Java中的JDBC相當與Microsoft平台中的ODBC(Open Database Connectivity)。
· JMS
JMS(Java Message Service,Java消息服務)是一組Java應用介面,它提供創建、發送、接收、讀取消息的服務。JMS API定義了一組公共的應用程序介面和相應語法,使得Java應用能夠和各種消息中間件進行通信,這些消息中間件包括IBM MQ-Series、Microsoft MSMQ及純Java的SonicMQ。通過使用JMS API,開發人員無需掌握不同消息產品的使用方法,也可以使用統一的JMS API來操縱各種消息中間件。通過使用JMS,能夠最大限度地提升消息應用的可移植性。 JMS既支持點對點的消息通信,也支持發布/訂閱式的消息通信。
· JNDI
由於J2EE應用程序組件一般分布在不同的機器上,所以需要一種機制以便於組件客戶使用者查找和引用組件及資源。在J2EE體系中,使用JNDI(Java Naming and Directory Interface)定位各種對象,這些對象包括EJB、資料庫驅動、JDBC數據源及消息連接等。JNDI API為應用程序提供了一個統一的介面來完成標準的目錄操作,如通過對象屬性來查找和定位該對象。由於JNDI是獨立於目錄協議的,應用還可以使用JNDI訪問各種特定的目錄服務,如LDAP、NDS和DNS等。
· JTA
JTA(Java Transaction API)提供了J2EE中處理事務的標准介面,它支持事務的開始、回滾和提交。同時在一般的J2EE平台上,總提供一個JTS(Java Transaction Service)作為標準的事務處理服務,開發人員可以使用JTA來使用JTS。
· JCA
JCA(J2EE Connector Architecture)是J2EE體系架構的一部分,為開發人員提供了一套連接各種企業信息系統(EIS,包括ERP、SCM、CRM等)的體系架構,對於EIS開發商而言,它們只需要開發一套基於JCA的EIS連接適配器,開發人員就能夠在任何的J2EE應用伺服器中連接並使用它。基於JCA的連接適配器的實現,需要涉及J2EE中的事務管理、安全管理及連接管理等服務組件。
· JMX
JMX(Java Management Extensions)的前身是JMAPI。JMX致力於解決分布式系統管理的問題。JMX是一種應用編程介面、可擴展對象和方法的集合體,可以跨越各種異構操作系統平台、系統體系結構和網路傳輸協議,開發無縫集成的面向系統、網路和服務的管理應用。JMX是一個完整的網路管理應用程序開發環境,它同時提供了廠商需要收集的完整的特性清單、可生成資源清單表格、圖形化的用戶介面;訪問SNMP的網路API;主機間遠程過程調用;資料庫訪問方法等。
· JAAS
JAAS(Java Authentication and Authorization Service)實現了一個Java版本的標准Pluggable Authentication Mole(PAM)的框架。JAAS可用來進行用戶身份的鑒定,從而能夠可靠並安全地確定誰在執行Java代碼。同時JAAS還能通過對用戶進行授權,實現基於用戶的訪問控制。
· JACC
JACC(Java Authorization Service Provider Contract for Containers)在J2EE應用伺服器和特定的授權認證伺服器之間定義了一個連接的協約,以便將各種授權認證伺服器插入到J2EE產品中去。
· JAX-RPC
通過使用JAX-RPC(Java API for XML-based RPC),已有的Java類或Java應用都能夠被重新包裝,並以Web Services的形式發布。JAX-RPC提供了將RPC參數(in/out)編碼和解碼的API,使開發人員可以方便地使用SOAP消息來完成RPC調用。同樣,對於那些使用EJB(Enterprise JavaBeans)的商業應用而言,同樣可以使用JAX-RPC來包裝成Web服務,而這個Web Servoce的WSDL界面是與原先的EJB的方法是對應一致的。JAX-RPC為用戶包裝了Web服務的部署和實現,對Web服務的開發人員而言,SOAP/WSDL變得透明,這有利於加速Web服務的開發周期。
· JAXR
JAXR(Java API for XML Registries)提供了與多種類型注冊服務進行交互的API。JAXR運行客戶端訪問與JAXR規范相兼容的Web Servcices,這里的Web Services即為注冊服務。一般來說,注冊服務總是以Web Services的形式運行的。JAXR支持三種注冊服務類型:JAXR Pluggable Provider、Registry-specific JAXR Provider、JAXR Bridge Provider(支持UDDI Registry和ebXML Registry/Repository等)。
· SAAJ
SAAJ(SOAP with Attachemnts API for Java)是JAX-RPC的一個增強,為進行低層次的SOAP消息操縱提供了支持。
企業級應用示例
下面我們通過假設一個企業應用的J2EE實現,來了解各種組件和服務的應用。假設應用對象是計算機產品的生產商/零售商的銷售系統,這個銷售系統能夠通過自己的網站發布產品信息,同時也能將產品目錄傳送給計算機產品交易市場。銷售系統能夠在線接受訂單(來自自己的Web網站或者來自計算機產品交易市場),並隨後轉入內部企業管理系統進行相關的後續處理。
參見圖3,這個企業應用可以這種方式架構。該企業應用的核心是產品目錄管理和產品定購管理這兩個業務邏輯,使用EJB加以實現,並部署在EJB容器中。由於產品目錄和定購信息都需要持久化,因此使用JDBC連接資料庫,並使用JTA來完成資料庫存取事務。
圖3 J2EE應用示例
然後使用JSP/Servlet來實現應用的Web表現:在線產品目錄瀏覽和在線定購。為了將產品目錄發送給特定的交易市場,使用JMS實現非同步的基於消息的產品目錄傳輸。為了使得更多的其它外部交易市場能夠集成產品目錄和定購業務,需要使用Web Services技術包裝商業邏輯的實現。由於產品定購管理需要由公司內部雇員進行處理,因此需要集成公司內部的用戶系統和訪問控制服務以方便雇員的使用,使用JACC集成內部的訪問控制服務,使用JNDI集成內部的用戶目錄,並使用JAAS進行訪問控制。由於產品訂購事務會觸發後續的企業ERP系統的相關操作(包括倉儲、財務、生產等),需要使用JCA連接企業ERP。
最後為了將這個應用納入到企業整體的系統管理體系中去,使用Application Client架構了一個管理客戶端(與其它企業應用管理應用部署在一台機器上),並通過JMX管理這個企業應用。
⑶ web前端和後端是不是指B/S架構
可以這么說。bs架構就是:B=瀏覽器,S伺服器。
關於前端和後端的解釋(針對於工作崗位)
前端 在大部分企業就是做瀏覽器端展現相關的工作,會用到html,css,js,ps,ai等等,總之就是和界面相關的東西。
而「後端」的主要工作室程序開發、數據處理了,比如:php,asp,mysql,mssql。主要實現功能上的東西,如用戶登錄驗證、圖片上傳處理,等等。
⑷ 「java web」和「java ee(j2ee)」有什麼區別
web前端分為網頁設計師、網頁美工、web前端開發工程師
首先網頁設計師是對網頁的架構、色彩以及網站的整體頁面代碼負責
網頁美工只針對UI這塊兒的東西,比如網站是否做的漂亮
web前端開發工程師是負責交互設計的,需要和程序猿進行交互設計的配合。
web前端需要掌握的有腳本技術javascript DIV+CSS現下最流行的頁面搭建技術,ajax和jquery以弊攜及簡單的後端程序等。 後端的話可供開發的語言有 asp、php、並伏jsp、.NET 這些後端開發語言的話搭建環境都不一樣,具體如果你想學的話看是想從事前端部分還是後端程序部分。後端開發如果有一定的條件的話可以轉為軟體開發。不過要有一定的語言基礎,類似java語言。C#等。關鍵是看你的興趣愛好。。
這個到後期不會區分這么細,做前端到後期也會懂一些後端的技術,反之,後端也是。
在我們實際的開發過程中,我們當前這樣定位前端、後端開發人員。
1)前端開發人員:精通JS,能熟練應用JQuery,懂CSS,能熟練運用這些知識,進行交互效果的開發。
2)後端開發人員:會寫Java代碼,會寫SQL語句,能做簡單的資料庫設計,會Spring和iBatis,懂一些設計模式等。
現在來看,我們對前後端的要求還是蠻低的,尤其是後端,新員工經過培訓之後都是可以參與到後端開發的,沒有太高的技術門檻,唯一需要做的就是先變成熟練工種,這租蔽伏個階段沒有涉及到設計模式、架構、效率等一些列問題。
還是先google一下,看看網上對Web前端開發、Web後端開發分別是什麼?
Web前端: 顧名思義是來做Web的前端的。我們這里所說的前端泛指Web前端,也就是在Web應用中用戶可以看得見碰得著的東西。包括Web頁面的結構、Web的外觀視覺表現以及Web層面的交互實現。
Web後端:後端更多的是與資料庫進行交互以處理相應的業務邏輯。需要考慮的是如何實現功能、數據的存取、平台的穩定性與性能等。
⑸ j2ee屬於什麼軟體架構風格
【J2EE 體系結構簡介】J2EE是針對web服務、業務對象、數據訪問和消息傳送的一組規范。這組應用編程介面(API)確定了web應用與駐留它們的伺服器之間的通信方式。J2EE注重兩件事,一是建立標准,使web應用的部署與伺服器無關;二是使伺服器能控制組件的生命周期和其它資源,以便能夠處理擴展、並發、事務處理管理和安全性等問題。
J2EE平台為設計、開發、安裝和部署企業應用提供基於組件的方法。這種方法不但能降低成本,還能快速跟蹤設計和實施。J2EE平台能提供多層分布式應用模型,重復利用組件,提供統一安全模式,並靈活地控制事務處理。藉助J2EE,不但能更快地將客戶解決方案推向市場,還能使基於J2EE組件、不依賴於平台的解決方案不被鎖定到任何廠商的產品和API上。
J2EE規范定義了以下幾種組件:
1、應用客戶端組件;
2、Enterprise JavaBeans 組件;
3、Servlets 和Java Server Pages(JSP) 組件(也稱為web組件);
4、 小應用程序 (Applet) 。
多層分布式應用模型意味著應用邏輯將根據功能分成幾個部分,用戶可以在相同或不同的伺服器上安裝由不同應用組件組成的J2EE應用。應用組件的安裝位置取決於應用組件在多層J2EE環境中屬於哪一層。
A、客戶端層
可以是在客戶端層內運行的瀏覽器、基於Java的程序或者其它web型編程環境——在公司防火牆內部和外部。
B、應用伺服器層
一般情況下,此層包含支持客戶端請求的表示邏輯和業務邏輯 。表示層由顯示HTML頁面的JSP頁面和servlets實現。業務邏輯通過RMI對象和EJB實現。EJB依靠Container實現事務處理、生命周期和狀態管理、資源池、安全等問題,簡言之, Container就是EJB依賴執行的運行環境。
C、後端層
此層是現有應用和數據倉庫的組合,也稱為企業信息系統(EIS)層,因為它可以包含企業資源規劃(ERP)、大型主機事務處理、資料庫系統及其它遺留下來的信 息系統等許多系統。