JBoss目錄結構,部署應用,啟動配置


JBoss目錄結構,部署應用,啟動配置 
-----------------------------------------------
安裝JBoss會創建下列目錄結構:
目錄 描述
bin 啟動和關閉JBoss的腳本
client 客戶端與JBoss通信所需的Java 庫(JAR)
docs 配置文件的例子(數據庫配置等)
docs/dtd 在JBoss中使用的各種 XML文件的 DTD。
lib JBoss啟動時使用到的JAR,這些庫為所有JBoss配置所共享。(不要把你的庫放在
這里)
------------
server 各種JBoss配置。每個配置必須放在不同的子目錄。 子目錄的名字表示配置的名字。
JBoss包含 3個默認的配置:minimal,default和 all。
server/all JBoss的完全配置,啟動所有服務,包括集群和 IIOP。
server/minimal 這是啟動JBoss服務器所要求的最低配置。minimal 配置將啟動日志服務、JNDI服
務器以及 URL 部署掃描器,以找到待部署的(新)應用。對於那些不需要使用任
何其他 J2EE 技術,而只是使用自定義服務的場合而言,則這種配置最適合。它僅
僅是服務器,而不包含 Web 容器、不提供EJB 和JMS 支持。
server/default 默認配置,它含有大部分J2EE應用所需的標准服務。但是,它不含有JAXR服務、
IIOP 服務、或者其他任何群集服務。如果在JBoss命令行中沒有指定配置名稱,則
默認使用此配置。(本教程就采用此配置)
server/default/conf JBoss的配置文件。如:log4j.xml是 Log4j日志配置文件,login-config.xml是 Jboss
安全配置文件,jboss-service.xml 配置在 jboss 啟動時開啟的 Jboss 服務(像類加載
器,JNDI,部署工具等),jbossmq-state.xml 是 JbossMQ(JMS 實現)的用戶配置
文件。
server/default/deploy
JBoss的熱部署目錄。任何位於此目錄下的文件或目錄都會被自動部署。如:EJB、
WAR、EAR,甚至服務。
server/default/lib 一些JAR,JBoss啟動 default配置時會加載它們。
server/default/log 日志信息將存儲到該目錄。JBoss 使用 Jakarta Log4j 包作為其日志功能。同時,用
戶可以在應用中直接使用Log4j日志記錄功能。
server/default/data 這一目錄存儲持久化數據, 即使服務器發生重啟其中的數據也不會丟失。 許多JBoss
服務將數據存儲在這里,比如Hypersonic 數據庫實例。
server/default/tmp 供部署器臨時存儲未打包應用使用,也可以作為其他用途。
server/default/work 供 Tomcat編譯JSP 使用。
其中,log、data、tmp、work 目錄是JBoss創建的。如果用戶沒有啟動過JBoss服務器,則這些目錄不會被創建。
---------------------------------------------------------
1.9 在 JBoss部署應用
在JBoss部署應用的過程非常簡單、直接。在每一個配置中,Jboss會不斷掃描一個名為[jboss安裝目
錄]/server/config-name/deploy的特定目錄,查看是否有任何更新,此目錄一般被稱為“部署目錄” 。
你可以把下列文件拷貝到部署目錄中:
? 任何Java 庫(其中的類將被自動添加到JBoss的 classpath 中)
? EJB-JAR
? WAR (Web Appliction aRrchive)
? EAR (Enterprise Application aRchive)
? 包含JBoss MBean定義的XML文件
? 以.jar、.war或者.ear結尾的目錄,分別包含了 EJB-JAR、WAR 或者 EAR 的解壓縮內容。
要重新部署上述文件(JAR、WAR、EAR、XML等),只需用更新后的版本覆蓋即可。Jboss將通過對比時間戳
來檢測變化,卸載舊文件,部署相應的新文件。如果要重新部署目錄,只需更新其時間戳即可。從部署目錄中刪
除文件會導致相應文件從部署中卸載。
---------------------
啟動時可用-c參數指定要啟動的配置:run.bat -c config-name
===================
hxzon: 啟動JBOSS

在run.bat啟動文件開頭添加如下兩句:
    set JBOSS_HOME=D:\big\jboss4.2.2.GA
    set JAVA_HOME=D:\big\Java\jdk1.6.0_07
在瀏覽器輸入可看到JBOSS首頁。
-------------------

測試
5.1、html,jsp測試
首先在deploy下建立一個test.war文件夾,然后將html,jsp文件都可以放到這里進行測試 
例如建立一testdate.jsp如下: 
<%@ page language="java" %> 
<%@ page contentType="text/html;charset=gb2312" %> 
<%@ page import="java.util.*" %> 
<%=new Date().toString()%> 
通過http://localhost:8080/test/test.jsp調用就可得到當前日期時間。

5.2、在jsp中操調用操作數據庫
<%@ page language="java" %> 
   <%@ page import="javax.naming.*" %> 
   <%@ page import="javax.sql.*" %> 
   <%@ page import="java.sql.*" %> 
   <%! 
    javax.sql.DataSource ds; 
   %> 

   <% 
    try { 
     Context ctx = new InitialContext(); 
     ds = (javax.sql.DataSource)ctx.lookup("java:/MySqlDS"); 
    } catch (Exception e) { 
     out.println("erro when connect to java naming api"); 
    }

Connection conn = ds.getConnection(); 
    Statement st = conn.createStatement(); 
    String sqlStr = "select * from cat"; 
    ResultSet rs = st.executeQuery(sqlStr); 
    while ( rs.next() ) { 
     out.println(rs.getString("categoryName")+"<br>"); 
    } 
    rs.close(); 
    st.close(); 
    conn.close(); 
   %>
5.3、servlet的配置測試 
5.3.1編寫並編譯如下的簡單servlet 
import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet { 
   public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException { 
    response.setContentType("text/html"); 
    PrintWriter out = response.getWriter(); 
    out.println(""); 
    out.println("Hello World"); 
   } 
}
5.3.2在test.war文件夾下建立一個WEB-INF目錄,里面再建立一個classes目錄和web.xml文件目錄結構如下: 
[test.war] 
   [WEB-INF] 
    [classes] 
    web.xml 
將編譯成功的HelloWorld.class放置到classes目錄下,web.xml內容如下:

<?xml version="1.0"?> 
<!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>HelloWorld</servlet-class>         
   </servlet> 
    <servlet-mapping> 
    <servlet-name>HelloWorld</servlet-name> 
    <url-pattern>/HelloWorld</url-pattern> 
   </servlet-mapping> 
</web-app>

通過調用http://localhost:8080/test/HelloWorld 就可以看到hello world的輸出


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM