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的输出

posted @ 2012-04-20 11:29  @龙飞凤舞@  阅读(8202)  评论(0编辑  收藏  举报