Jboss

Jboss

是一個基於J2EE的開放原始碼套用伺服器。 JBoss代碼遵循LGPL許可,可以在任何商業套用中免費使用。JBoss是一個管理EJB的容器和伺服器,支持EJB 1.1、EJB 2.0和EJB3的規範。但JBoss核心服務不包括支持servlet/JSP的WEB容器,一般與Tomcat或Jetty綁定使用。

基本介紹

  • 軟體名稱:JBoss
  • 開發商:Redhat
  • 軟體語言:java
  • 支持標準:EJB 1.1、EJB 2.0、EJB3.0
產品特點,發展,版本,JBoss4,JBoss5,JBoss6,JBoss7,WildFly,書籍簡介,環境搭建,使用技巧,目錄結構,配置連線埠,啟動過程,伺服器,

產品特點

在J2EE套用伺服器領域,JBoss是發展最為迅速的套用伺服器。由於JBoss遵循商業友好的LGPL授權分發,並且由開源社區開發,這使得JBoss廣為流行。
另外,JBoss套用伺服器還具有許多優秀的特質。
JBoss運行後後台管理界面JBoss運行後後台管理界面
其一,將具有革命性的JMX微核心服務作為其匯流排結構
其二,本身就是面向服務架構(Service-Oriented Architecture,SOA);
其三,具有統一的類裝載器,從而能夠實現套用的熱部署和熱卸載能力。
因此,高度模組化的和松耦合。JBoss套用伺服器是健壯的、高質量的,而且還具有良好的性能。
1、JBoss是免費的,開放原始碼J2EE的實現,通過LGPL許可證進行發布。但同時也有閉源的,開源和閉源流入流出的不是同一途徑。
2、JBoss需要的記憶體和硬碟空間比較小。
3、安裝便捷:解壓後,只需配置一些環境變數即可。
4、JBoss支持"熱部署",部署BEAN時,只拷貝BEAN的JAR檔案到部署路徑下即可自動載入;如果有改動,也會自動更新。
5、JBoss與Web伺服器在同一個Java虛擬機中運行,Servlet調用EJB不經過網路,從而大大提高運行效率,提升安全性能。
6、用戶可以直接實施J2EE-EAR,而不是以前分別實施EJB-JAR和Web-WAR,非常方便。
7、Jboss支持集群

發展

為滿足企業級市場日益增長的需求,JBoss公司從2003年開始就推出了24*7、專業級產品支持服務。同時,為拓展JBoss的企業級市場,JBoss公司還簽訂了許多渠道合作夥伴。比如,JBoss公司同HP、Novell、Computer Associates、Unisys等都是合作夥伴。
在2004年 6月,JBoss公司宣布,JBoss套用伺服器通過了Sun公司的J2EE認證。這是JBoss套用伺服器發展史上至今為止最重要的里程碑。與此同時, JBoss一直在緊跟最新的J2EE規範,而且在某些技術領域引領J2EE規範的開發。因此,無論在商業領域,還是在開源社區,JBoss成為了第一個通過J2EE 1.4認證的主流套用伺服器。JBoss套用伺服器已經真正發展成具有企業強度(即,支持關鍵級任務的套用)的套用伺服器。
JBoss 4.0作為J2EE認證的重要成果之一,已經於2004年9月順利發布了。同時,JBoss 4.0還提供了JBossAOP(Aspect-Oriented Programming,面向切面編程)組件。AOP吸引了大量開發者的關注。它提供的新的編程模式使得用戶能夠將方面(比如,事務)從底層業務邏輯中分離出來,從而能夠縮短軟體開發周期。用戶能夠單獨使用JBoss AOP,即能夠在JBoss套用伺服器外部使用它。或者,用戶也可以在套用伺服器環境中使用它。JBoss AOP 1.0已經在2004年10月發布了。
基於JBOSS的J2EE開發基於JBOSS的J2EE開發
展望下一代JBoss套用伺服器,其重點關注的是EJB 3.0。當前,J2EE 1.4規範使用了EJB 2.1。其中,EJB 3.0的主要目標是簡化EJB模型,即用戶能夠更容易開發EJB組件,並且能夠在EJB容器外部測試EJB組件。EJB 3.0規範草案已經於2004年6月推出。JBoss公司一直在積極參與EJB 3.0規範的制定,並且在為EJB規範的發展貢獻自己的力量。其中,Gavin King(Hibernate的創立者)和Bill Burke(JBoss公司的首席架構師)已經為EJB 3.0規範草案貢獻了很多內容。
JBoss公司於2004年10月初發布了基於JBoss套用伺服器實現的EJB 3.0預覽版。儘管EJB 3.0規範草案還處於初期發展和評審階段,但這為J2EE社區測試EJB 3.0、並提供反饋信息提供了很好的機會。這也證實了JBoss是一家創新型公司。JBoss一直在引領技術規範的發展。
Hibernate已經成為了事實上的持久化引擎。JBoss公司致力於將自身發展成為開源項目的社區,比如招募Gavin King和許多Hibernate開發者。其中,最新版的JBoss套用伺服器已經將Hibernate集成為JMX MBean服務。這使得用戶能夠在套用伺服器環境中直接使用Hibernate,而不管它是否處於J2EE上下文中。
從2003年開始,JBoss啟動了JBossCache項目。JBossCache是基於記憶體的、可複製的、事務性的快取系統,並且具有持久化狀態存儲管理能力。它受到極大的關注。用戶能夠在JBoss套用伺服器或其他套用伺服器中,或單獨使用JBossCache。同時,它提供的基於JBossAOP的AOP模組能夠在可複製環境中實現細粒度、域級別複製,而且能夠透明地管理複雜對象。在最新版的JBoss套用伺服器中,用戶能夠直接通過JMX MBean服務訪問到JBossCache提供的服務。
JBoss套用伺服器5.0於2008年12月6日正式發布,新版套用伺服器的模組化更強,可配置性更高。JBoss套用伺服器5.0最終版完全兼容Java EE 5.0規範,具有一個微型核心和容器,支持OSGi和REST。

版本

JBoss4

JBoss4包括web伺服器(servlet/JSP容器,HTML伺服器)、EJB2.0容器。完整的純Java的資料庫引擎,(Java訊息服務)JMSJavaMail,和Java事務處理API/Java事務處理服務(JTA/JTS)支持。早期的JBoss使用了ApacheTomcatWeb伺服器,但在JBoss4.0中已經把Apache Tomcat內嵌到JBoss中了。後續又集成Java數據對象(JDO),對於JMS多點傳送機制支持的修補,對J2EE1.4的完全實現和分散式事務機制。
JBoss的套用伺服器控制和配置-JMX機制,運行一次可以部署所有的組件和服務。資源屬性和可配置參數可以通過MBeans(可控制beans)映射和更改,這些控制可以在 JBoss的控制台進行設定。一旦我們的servlet-based的應用程式被部署,JBoss就自動安裝一個部署MBeans,這個MBeans會被添加到JMX控制台的導航選單中。通過這個MBean就可以部署或卸載WAR應用程式,或查看應用程式相關的屬性。
Jboss4基於Jboss3.2,在J2EE標準特性方面,主要的改進包括:
· JBoss 4.0是業界第一家取得正式J2EE1.4認證的套用伺服器,完全符合規範的J2EE標準
· 完全支持J2EE web services(JAX-RPC方式和WS4EE架構方式)和SOA
· 支持AOP模型,JBoss Aop極大的提高了生產力
· 與Hibernate緊密集成
· 通過一個內建的Caching構架提升集群功能和分散式Caching(TreeCache)
JBoss4完全遵循J2EE1.4標準,所以允許開發者在不同的套用伺服器上重用J2EE組件(如EJB等),比如可以輕易的將部署在Weblogic或Websphere上的EJB遷移到JBoss上來,JBoss4比JBoss3.2實現了下面幾個新的J2EE標準:
· JBoss4支持J2EE Web Services,包括JAX-RPC和J2EE架構的Web Services,使用EJB提供安全的Web Service環境,它是基於J2EE的SOA實現。JBoss3.2中舊的JBoss .NET Web Services API不再支持,新的Web Service實現是WS BasicProfile-1.0 compliant
· JBoss4實現JMS1.1替代了JBoss3.2中的JMS1.0
· JBoss4實現了JCA (Java Connector Architecture) 1.5替代了JBoss3.2中的JCA1.0
· JBoss4實現了新的Java Authorization Contract for Containers (JACC),JACC是JAVA2一個基本的許可權機制,為訪問EJB方法和web資源賦予授權描述,即J2EE套用伺服器和特定的授權認證伺服器之間定義了一個連線的協約,新的實現在語法上基於JBoss3.2,使用認證過的Subject聲明Roles,認證與JAAS的authentication保持一致。並且security配置,JBoss4和JBoss3.2兼容
· JBoss4實現了EJB2.1規範.替代了JBoss3.2中的EJB2.0規範
JBoss 4特性:
1. JBoss4.2必須需要安裝jdk5
2. JBoss Ejb3默認被安裝
3. JBoss的web容器使用JBoss Web v2.x (集成tomcat6)
4. deploy/jboss-web.deployer 目錄替換了原先的deploy/jbossweb-tomcat55.sar
5. JBoss Transactions v4.2為默認的事務管理器
6. JBoss WS提供web service功能
7. JGroups/JBossCache支持 channel multiplexing
8. JBoss Remoting更新到stable 2.2.x,JBossMQ(JBoss4.0使用)為默認JMS實現,但是可以使用JBoss Messaging替換。
9. EJB調用方式 由 rmi-invoker替換為JBoss Remoting 的 unified-invoker
10. log4j 和 commons-logging 升級到新版本

JBoss5

第二代基於服務的架構:核心的JBoss Microcontainer可以在多種編程和組件模型上提供改進後的級別載入、性能、生命周期管理和靈活性,其中包括Java EE、多種POJO、OSGi、Spring Framework和傳統的現場和雲操作環境。這種Microcontainer還提供將企業服務從核心運行時間引擎中分離出來的能力,使其更便於配置。
改進後的管理和配置:JBoss運營網路管理控制台的嵌入式版本可以提供一個全面的接口,用於管理和配置套用、控制套用伺服器的運行,以及提供深入查看現場內外套用性能指標的能力。
Java EEF支持:JBoss企業套用平台支持全套的Java EE 5標準,並可為多種即將推出的Java EE 6標準提供支持,其中也包括Java EE Web Profile概念。
主要組件更新:更新的內容包括企業版的JBoss Application Server、Hibernate、Seam、JBoss Cache和JBoss Web Services,可為各類部署環境中的擴展性、高可用性和智慧型負載均衡提供性能增強特性。這一新版本還可支持分散式事務和全面的Web服務棧支持。
最新版的JBoss運營網路 - JBoss ON 2.3可支持運行管理。該版本提供全面的管理支持,包括在傳統和基於雲的部署中配置套用集群,並在多種運行環境中提供可用性和性能管理。
JBoss Developer Studio還可為開發人員提供開發工具。這種基於Eclipse的集成式開發環境能夠提供全面的工具集,使開發人員能夠使用Seam、Java EE、SpringHibernateAJAXRichFaces等技術,迅速建立豐富且互動性水平較高的套用和服務。
JBoss AS5中,大部分顯著的新特性添加都源自於要將所有主要的JBoss子系統帶到下一個階段去。
JBoss Messaging 1.4現在取代了JBossMQ,成為預設的JMS提供者。除了透明的故障恢復和智慧型的訊息重分發外,JBM還支持即開即用的集群佇列和主題。可以跨節點把訊息複製到記憶體中,從而避免磁碟I/O,或者能使用支持大訊息的分頁技術將訊息持久化到任何流行的關係資料庫中。JBM證明,利用已完全出現的新的只擴展日誌存儲,原本就很卓越的性能和東西會變得更加優秀。
JBoss WebServices 3.0,完全支持JAX-WS/JAX-RPC、XOP和SwA的附屬檔案、還有一系列WS-*標準。JBWS轉向了一個可插拔的架構,該架構允許更換底層的WebServices棧,所以你可以將JBossWS-native換成Sun Metro或Apache CXF。這樣的話,你就可以因地制宜,使用最合適WebServices棧。
為了改進可伸縮性和集群Web會話的鈍化,AS5中的集群支持SFSB的Buddy複製,以控制記憶體的使用。EJB3 Entity和Hibernate快取有了很大的改進,因為可以針對實體和查詢使用不同的快取,它們分別是失效快取和複製快取。在底層的JGroups協定棧中,還有一些其它的性能最佳化。
JBoss Transactions是JBoss 5默認的事務管理器。JBoss TS已經與JBoss 5的Servlet容器——JBoss Web——一起在AS 4.2系列中進行了測試,JBoss Web是基於Apache Tomcat的一個實現,支持原有的APR-based連線器,它在可伸縮性和性能上不但要達到,而且要超越Apache Http伺服器的水平。
就API來說,AS5是Java EE 5的實現,所有相關的API都會包含在內。對大部分Java EE 5“新的”API來說,比如EJB3、JAX-WS、JPA等,在JBoss AS 4.2系列中已經實現了,但由於JBoss AS5增加了TCK測試的覆蓋範圍,所以肯定會更為嚴格遵循規範。
JBoss5套用伺服器提供了大量的新功能:除了支持最新的EJB 3.0規範外,新版的JBoss AOP也正式發布。Web Services 方面,JBoss 現在支持全部的J2EE Web Services,同時兼容Microsoft .NET;Messaging 項目採用了完整的JMS 1.1 實現,同時充分的改進了分散式目的單元格等功能的高可用性;JBoss Seam 中包括了一系列統一的革命性的組建設計模型和框架。同時JBoss 5中也集成了Hibernate 3.2
JBoss AS 4.2和企業套用平台的第一個版本(EAP 4.2)確實對AS 5造成了很大的影響。從零開始創建一個全新的核心、從MBeans轉換到POJO、在最底層集成AOP、統一跨子系統的元數據處理、更改類載入系統、使部署器Aspect化,換句話說,就是改變內部架構、替換套用伺服器的核心,同時還要保持與大部分已有服務的向後兼容性,為各種內部子系統引入合適的SPI。長遠看來這是好事,因為它允許最大的可插拔性,以及在不同的運行時環境中(比如獨立的EJB3或嵌入到不同的套用伺服器中)按需要選取使用各種JBoss項目。
JBoss AS5不只是一個Java EE 5套用伺服器。對下一代JBoss項目來說,它還寄託了成為最先進的伺服器運行時環境的願景。

JBoss6

JBOSS AS6 最大亮點是對Java EE 6 Web Profile規範的支持,一份關於最流行的Java EE標準的報告中,排名前5(JPA、JSP、EJB3、JSF及CDI)的都是Java EE Web Profile的必備組件。除了Java EE 6 Web Profile所需的這些組件外,AS 6還提供了可選的經過認證的組件:RESTEasy 2.1.0——JAX-RS1.1規範的實現;HornetQ2.1.2——JMS 1.1規範的實現以及JBoss Web Services CXF棧——JAX-WS 2.2規範的實現。
主要特性就是對JBoss Injection框架的完整實現。這對於滿足Java EE 6平台規範所要求的Resources、Naming以及Injection是至關重要的。Infinispan v4.2.0是個開源的數據格線平台,從CR1里程碑發布時就加入了,現在它也集成到了JBoss AS 6中,並且是默認的分散式快取提供者。Infinispan公開了一個兼容於JSR-107的Cache接口,你可以將對象存儲其中。JBoss AS 6伺服器可以動態探測並註冊到前端的apache httpd伺服器。
對於性能來說,JBoss AS 5與6之間有明顯的變化。JBoss AS 6對啟動性能的提升很明顯,現在的平均啟動時間是15秒。用戶能夠感覺到這種改進,一定程度上是因為延遲了隨AS一同發布的管理控制台套用的部署,轉而以“按需”方式提供,同時還實現了Timer Service的延遲部署。Microcontainer(v2.2)的增強(包括新的註解掃描庫的實現)極大降低了套用部署的時間。

JBoss7

2011年07月13日,JBoss AS 發布了 7.0 正式版。這是一個全新的版本,帶來多項的改進和新特性,特別是:
1. 極快(小於3秒的啟動時間)
2. 輕量級
3. 模組化的核心
4.熱部署、增量部署
5. 優雅的管理
6. 集群域的管理
7. First Class components

WildFly

JBoss AS目前作為Redhat公司的商業產品JBoss Enterprise Application Platform的上游基礎,為了使這兩個產品有差異化,避免用戶混淆,因此該公司在去年10月份就尋求為JBoss AS找一個新名字。
RedHat公司稱,新名稱WildFly反映了伺服器“非常靈活、輕量、不羈、自由”的特性。
改名後的首個版本為WildFly 8,將接棒JBoss AS 7。RedHat公司表示,新版本不僅是名稱上的變化,還帶來了如下改進:
1.啟動超快
2.模組化設計
3.非常輕量,記憶體占用非常少
4.更優雅的配置、管理方式
5.嚴格遵守Java EE7和OSGi規範

書籍簡介

JBoss開發團隊還計畫開發新的微核心層,即獨立於JMX,使得它能夠獨立使用。另外,有關JBoss套用伺服器的架構和開發,開發者可以參考由Scott Stark博士著的《JBoss Administration and Development 3.2.x Third Edition》一書(此書已由電子工業出版社引進並翻譯出版,中文版書名為《JBoss管理和開發核心技術(第三版)》)。Scott Stark博士是JBoss公司的創始人之一,他一直在領導JBoss產品的研發。該書內容涵蓋了JBoss套用伺服器的方方面面,比如JMX微核心、客戶端和伺服器端攔截器以及J2EE平台服務的實現等內容。如果開發者對JBoss核心和開發基於JBoss/J2EE的套用感興趣,則最好能夠閱讀這本權威著作。

環境搭建

一、安裝JDK
java套用當然首先需要安裝java運行環境(JRE),JRE提供了運行java的基本環境。安裝jboss需要jdk,jdk中包含jre.
安裝完JDK後,需要做如下配置:
我的電腦->;屬性->;高級->;環境變數,在系統變數中點擊新建下面二項:
1. 名:JAVA_HOME,值:jdk的安裝路徑
2. 名:CLASS_PATH,值:%JAVA_HOME%\lib
在系統變數path中增加如下內容:;%JAVA_HOME%\bin;
這些做完後,在命令視窗中運行java -version有輸出便可
二、安裝Jboss
Jboss是Java EE套用伺服器(就像Apache是web伺服器一樣),專門用來運行Java EE程式的。
安裝jboss很簡單,它不需要安裝,直接解壓到一個目錄下即可
三、安裝AOP
對於Jboss我們使用了一些其它組件:AOP,用它來做許可權處理,(AOP是一個編程模型,用來對處理代碼的方面,橫切面),然後jboss自帶有,但是自帶的不能滿足要求,所以需要單獨安裝和配置
下載解壓後,把其中的jboss-40-install/jboss-aop-jdk50.deployer下的所有的檔案拷貝到jboss目錄的jboss/server/default/deploy/jboss-aop-jdk50.deployer下,覆蓋其中的所有檔案
打開jboss/server/default/deploy/jboss-aop-jdk50.deployer/META-INF/jboss-service.xml檔案,把其中的< attribute name=”EnableLoadtimeWeaving”>false< /attribute>;上的false修改為true.
打開jboss/bin/run.bat(如果是在linux則是jboss/bin/run. s h)檔案,修改其中的JAVA_OPTS=”-Dprogram. name=$PROGNAME $JAVA_OPTS”為JAVA_OPTS=”-D program. na me=$PROGNAME -javaagent:pluggable-instrumentor.jar $JAVA_OPTS”.其中有顏色的部分是加上的。
把aop解壓目錄下的lib/pluggable-instrumentor.jar檔案拷貝到jboss/bin目錄下
AOP安裝完成
四、部署套用
跟apache一樣,jboss也有一個部署目錄,那就是jboss/server目錄,其中有三個目錄:all,default,minimal,代表了jboss提供的三種部署方式,all表示jboss提供的服務全部打開,default表示默認的jboss服務,minimal表示只打開最基本的。這裡面可以增加自己的部署,我們只使用default。
進入default目錄後,有以下幾個目錄:
conf:一些配置檔案
data:保存的數據,比如有狀態會話bean
deploy:部署目錄,所有的套用都部署在這裡面,相當於apache的htdocs
lib:部署的應用程式需要使用到的其它庫(jar)
log:jboss的日誌
tmp:部署套用是產生的臨時檔案
work:工作目錄,所部署的套用(一些jar壓縮檔案)會被解壓在這裡
要部署我們的套用,還需要做以下幾步:
A。把jboss/docs/examples/jca/mysql-ds.xml拷貝到jboss/server/default/deploy目錄下,並做如下修改:
< connection-url>jdbc:mysql://你要連線的資料庫的ip:3306/資料庫名zeroDateTimeBehavior=convertToNull< /connection-url>
< driver-class>com.mysql.jdbc.Driver< /driver-class>
< user-name>;用戶名< /user-name>
< password>;密碼< /password>
B。下載jdbc驅動並把解壓後的mysql-connector-java-5.XX-bin.jar拷貝到部署目錄的lib中(server/default/lib)
C。現在資料庫連線就配置好了,接下來部署myro3,到svn上下載myro_server\build\jar\myro_server.jar,和myro_server\src\META-INF\jboss-aop.xml,myro_server\lib\jml-1.0b3-full.jar,myro_server\lib\ymsg_network_v0_64.jar,myro_server\lib\ymsg_support_v0_64.jar,都拷貝到server/default/deploy下面就可以了.
到此jboss伺服器和myro3套用就部署好了,現在只需要啟動jboss,便可通過rcp客戶端訪問你的jboss
打開命令提示視窗,到jboss的bin目錄下面,運行:run -b 你的ip 啟動jboss便可
剩下的就是修改rcp客戶端程式中myroConfig.properties把其中連線的jboss的ip修改為你的ip即可.
對於gwt套用的部署,到時候要提供一個war檔案,把它部署到server/default/deploy下面就行了,然後訪問http://你的ip:8080/war檔案名稱就可以訪問gwt程式.。同時把myro_server/myroConfig.properties部署到jboss/bin中。以上,Jboss環境搭建步驟介紹完畢。

使用技巧

目錄結構

1、bin:開始和停止JBoss的地方。
其中有兩個主要的批處理檔案:run.bat和shutdown.bat。要啟動JBoss只要執行run.bat檔案即可;要停止JBoss必須執行帶參數的shutdown.bat。
一般運行命令:run -c 伺服器名,例如:run -c all 或 run -c default 或自定義的伺服器 run -c ejbtest。
注意,shutdown.bat檔案直接執行並不會自動停止JBoss,它必須要輸入參數,參數意義如下:
-h 顯示幫助信息;
-D 設定系統屬性;
-- 停止處理選項;
-s 停止用JNDI URL指定的遠程服務
-n 通過制定JMX名字來停止服務;
-a 適配到指定的JNDI名稱的遠程服務;
-u 指定用戶名稱;
-p 指定用戶密碼;
-S 停止伺服器;
-e 從虛擬機退出;
-H 暫停(掛起)。
一般,我們使用-S選項來停止伺服器。即執行shutdown -S。
2、docs:放置JBoss的例子、測試腳本和各種腳本配置檔案的DTD。
3、lib:放置JBoss所需要的部分jar包檔案。
4、client:放置EJB客戶端運行時所需要的jar包。
5、server:放置各啟動類型的伺服器端EJB配置所需要的檔案等。
6、backup

配置連線埠

修改檔案:%JBOSS_HOME%\server\default\deploy\jbossweb-tomcat41.sar\META-INF\jboss-service.xml
在"8080"的配置後加入以下代碼
<!-- A HTTP/1.1 Connector on port 80 -->
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="80" minProcessors="5" maxProcessors="100"
enableLookups="true" acceptCount="10" debug="0"
connectionTimeout="20000" useURIValidationHack="false"/>
重新啟動JBoss即可

啟動過程

設定環境變數JBOSS_CLASSPATH (可以自己加上安全管理器和xml解析器)
a) %JBOSS_CLASSPATH%;
b) %JAVA_HOME%/lib/tools.jar;
c) run.jar;
d) ../lib/crimson.jar;
設定啟動參數JAXP(xml解析器和相應工廠)
啟動
設定配置信息
讀取配置檔案JBoss.properties,保存在系統屬性中(System.properties)
設定預設屬性jboss.home和java.security.auth.login.config
創建MBeanServer.的實例:
把配置檔案和補丁檔案所在的目錄指定給特定的遠程類載入器Mlet
載入保存配置檔案(mlet會自動在配置檔案目錄中查找)
初始化並啟動MBean
配置服務ConfigurationService
載入配置檔案
保存配置
服務控制ServiceControl
初始化服務程式(init方法)
啟動服務程式(start方法)
在JBOSS中發布檔案
1、製作JSP的war部署檔案
用"jar cvf hello.war index.jsp main.jsp"的方式生成把index.jsp和main.jsp檔案加入到hello.war中。把生成的hello.war拷貝到jboss安裝目錄\server\default\deploy\下,部署成功。用"http://localhost:8080/hello/"或"http://localhost:8080/hello/index.jsp"這兩個地址進行測試。
2、製作Servlet的war部署檔案
A、用[ javac -classpath "%CLASSPATH%;%jboss_home%\server\default\lib\javax.servlet.jar" HelloWorld.java ]的形式編譯HelloWorld.java(這是一個Servlet)得到HelloWorld.class
B、寫一個web.xml配置檔案
代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN"
"http://java.sun. com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>hello.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
每個標記(標籤)必須小寫,否則會出錯。
C、先在c:\servlet下建立一個web-inf目錄,在目錄中放入web.xml檔案。
D、在web-inf目錄下建立一個classes目錄,放入編譯好的HelloWorld.class檔案
E、在c:\servlet下執行jar cvf hello.war *.*,很快就生成了一個名為hello.war的檔案,接著把hello.war複製到jboss的安裝目錄\server\default\deploy\下完成部署。
3、也可以不打包,把檔案放在deploy下的同名資料夾下也可以。比如原來是製作成hello.war檔案,可以建立一個名稱為hello.war的資料夾,把要發布的檔案拷貝到這個目錄底下也可以發布成功。

伺服器

JBOSS伺服器使用詳解
1、把檔案解壓到一個不含空格的,非中文目錄下,如:jboss
2、加入MyEclipse —> Servers -> JBoss -> JBoss 5.x
(1)、JBoss home directory :選擇JBOSS存放的路徑;如:C:\JBOSS\jboss-5.1.0
(2)、Server name :default (3個默認的配置:minimial,default和all)
3、Apply -> OK
4、配置環境變數:
(1)、添加:變數名:JBoss_HOME 變數值:C:\JBOSS\jboss-5.1.0(JBoss的解壓後的目錄)
(2)、把 C:\JBOSS\jboss-5.1.0\bin 變數值加到:path變數中;
(3)、保存
5、運行:C:\JBOSS\jboss-5.1.0\bin\run.bat 檔案
6、發布web項目
JBOSS伺服器目錄結構作用介紹
目錄 描述
------------------------------------------------------------------------------
bin 啟動和關閉JBoss的腳本
client 客戶端與JBoss通信所需的的Java庫(JARs)
docs 配置的樣本檔案(資料庫配置等)
doc/dtd 在JBoss中使用的各種XML檔案的DTD。
lib 一些JAR,JBoss啟動時載入,且被所有JBoss配置共享。(不要把你的庫放在這裡)
server 各種JBoss配置。每個配置必須放在不同的子目錄。子目錄的名字表示配置的名字。
JBoss包含3個默認的配置:minimial,default和all。
server/all JBoss的完全配置,啟動所有服務,包括集群和IIOP。
server/default JBoss的默認配置。在沒有在JBoss命令航中指定配置名稱時使用。
server/default/conf JBoss的配置檔案。
server/default/data JBoss的資料庫檔案。比如,嵌入的資料庫,或者JBossMQ。
server/default/deploy JBoss的熱部署目錄。放到這裡的任何檔案或目錄會被JBoss自動部署。EJB、WAR、EAR,甚至服務。
server/default/lib 一些JAR,JBoss在啟動特定配置時載入它們。(all和minimial配置也包含這個和下面兩個目錄。)
server/default/log JBoss的日誌檔案。
server/default/tmp JBoss的臨時檔案。
補充
1、JBoss的默認連線埠是8080
2、對於NT和Win2000系統如果你要安裝NT或Win2000服務的話,可以把JBoss加在系統服務中,避免你每次需要到JBoss目錄下運行run.bat命令,只是當系統啟動時,自動啟動JBoss伺服器。

相關詞條

熱門詞條

聯絡我們