[1]
JBOSS安装:
1.
下载后,直接解压即可.
在eclipse中的配置与tomcat相似.设置为enable,且设置JDK即可.
2.
http://localhost:8080/ 进入JBoss的欢迎界面,点击JBoss Management下的JMX Console可进入JBoss
的控制台。
3.
JBOSS若启动失败,可能由以下原因引起:
1)
JBoss所用的端口(8080,1099,1098,8083等)被占用。一般情况下为8080端口被占用(例如,Oracle占
用了8080端口),此时需要修改JBoss的端口,
方法为进入JBoss安装目录"server"default"deploy"jboss-web.deployer目录,修改其下的server.xml
目录,在此文件中搜索8080,将其改成你想要的端口即可(例如8088);
2)JDK安装不正确;
3)JBoss下载不完全。
[2]
JBoss
的目录结构说明
目录
|
描述
|
bin
|
启动和关闭
JBoss
的脚本(
run.bat
为
windows
系统下的启动脚本,
shutdown.bat
为
windows
系统下的关闭脚本)。
|
client
|
客户端与
JBoss
通信所需的
Java
库(
JARs
)。
|
docs
|
配置的样本文件(数据库配置等)。
|
docs/dtd
|
在
JBoss
中使用的各种
XML
文件的
DTD
。
|
lib
|
一些
JAR
,
JBoss
启动时加载,且被所有
JBoss
配置共享。(不要把你的库放在这里)
|
server
|
各种
JBoss
配置。每个配置必须放在不同的子目录。子目录的名字表示配置的名字。
JBoss
包含
3
个默认的配置:
minimial
,
default
和
all
,在你安装时可以进行选择。
|
server/all
|
JBoss
的完全配置,启动所有服务,包括集群和
IIOP
。
|
server/default
|
JBoss
的默认配置。在没有在
JBoss
命令行中指定配置名称时使用。
(
我们下载的
4.2.1
版本默认采用此配置
)
。
|
server/default/conf
|
JBoss
的配置文件。
|
server/default/data
|
JBoss
的数据库文件。比如,嵌入的数据库,或者
JBossMQ
|
server/default /deploy
|
JBoss
的热部署目录。放到这里的任何文件或目录会被
JBoss
自动部署。
EJB
、
WAR
、
EAR
,甚至服务。
|
server/default /lib
|
一些
JAR
,
JBoss
在启动特定配置时加载他们。
(default
和
minimial
配置也包含这个和下面两个目录。
)
|
server/default/log
|
JBoss
的日志文件。
|
server/default/tmp
|
JBoss
的临时文件。
|
server:这里的每一个子目录对应着一个服务器配置。该配置由运行脚本文件时的参数"-c <配置名称>"来确定。在server目录下有三个配置例子,即all、default和minimal,每一个配置安装的服务都不一样。
其中default下是缺省配置。
minimal:仅加载启动JBoss所需的最少服务,如日志服务、JNDI和URL部署扫描器(发现新的部署),不包含Web容器、EJB和JMS。
all:启动所有的服务,包括RMI/IIOP、集群服务和Web服务部署器(默认配置不会被加载)。
启动JBoss时,如果run.bat不带任何参数,则使用的配置是server/default目录下的配置。如果要以其它目录下的配置启动JBoss,可以使用如下参数:
run -c all
上述命令将以all目录下的配置信息启动JBoss。也可以在server目录下新建目录,按自己的需要写配置文件。
下面以default目录为例,介绍服务器配置的目录结构。
conf:该目录下有
jboss-service.xml文件(用于指定此服务器有哪些核心服务),也可以放其它服务配置的文件。
data:该目录是JBoss内置的数据库Hypersonic存储数据的地方,也是JBossMQ(the JBoss implementation of JMS)存储相关信息的地方。
deploy:这是部署J2EE应用程序(jar、war和ear文件)的位置,只需将相应文件拷贝到该目录下即可。该目录也用来热部署服务和JCA资源适配器。已经有一些服务部署到这个目录了,如jmx-console,你启动JBoss后即可访问。JBoss会周期性的扫描deploy目录,当有任何组件改变,JBoss会重新部署该程序。
lib:存放服务器配置所需的jar文件,比如,你可以将JDBC驱动程序放在该目录下。
log:存放日志信息。JBoss使用Jakarta log4j包存储日志,在程序中你也可以直接使用该信息。
tmp:存储在部署过程中解压时产生的临时文件。
work: Tomcat编译JSP文件时的工作目录。
目录data、log、tmp和work在JBoss安装后并不存在,当JBoss运行时自动建立。
另外,连接数据库所用到的JDBC驱动程序要拷贝到JBoss_HOME\server\default\lib目录下。
[3]
web 服务的端口号的修改
这点在前文中有所提及,即修改JBoss安装目录server--default--deploy--jboss-web.deployer下的
server.xml文件,内容如下:
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
将上面的8080端口修改为你想要的端口即可。重新启动JBoss后访问: http://localhost/:新设置的端口,可看到JBoss的欢迎界面。
[4]
如果你想要定义自己的服务器目录配置,可参照如下步骤:
根据JBOSS文档,我们可知道,实际上配置一个Server仅仅只需要将Default目录下所有文件拷到一个新目录下并重命名就可以了,同时修改相应的一些文件中的参数就可以了。做如下约定:
1、 重新指定一个run.bat快捷方式 runJwfm.bat
复制一份<JBOSS_HOME>/BIN目录下的run.bat,并修改
"%JAVA%" %JAVA_OPTS% -classpath "%JBOSS_CLASSPATH%" org.jboss.Main %*为
"%JAVA%" %JAVA_OPTS% -classpath "%JBOSS_CLASSPATH%" org.jboss.Main ?c jwfm %*
2、修改相应参数文件
<JBoss_Home>/Server/jwfm/conf 目录下文件jboss-service.xml修改动态部署时间:
<attribute name="ScanPeriod">5000</attribute> 将5000调整到800,特稳定后调回5000
[5]
JBoss 的一些配置
2、虚拟目录配置:
编辑%jboss-4.0.2%\server\default\deploy\jbossweb-tomcat55.sar\server.xml
在</Host>之前增加:
<Context path="/test" docBase="F:\\test" debug="1" reloadable="true" override="true" crossContext="true"/>
其中path 为虚拟目录名,docBase为硬盘路径(可为绝对路径)reloadable为类变更时是否重新加载
3、解决附件汉字问题:
a.编辑
%jboss-4.0.2%\server\default\deploy\jbossweb-tomcat55.sar\server.xml
在Connector 属性最后增加:URIEncoding="UTF-8"
<!-- A HTTP/1.1 Connector on port 8080 -->
<Connector port="8888" address="$"
maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
b.页面处理
将生成的附件名称进行编码转换:
<%
String n2="Redhat9中文官方文档.rar";
n2=java.net.URLEncoder.encode(n2,"UTF-8");
%>
<a href="Redhat9">http://192.168.1.112:8080/zlsf/<%=n2%>">Redhat9中文官方文档</a>
4、解决汉字问题。
在:项目/WEB-INFweb.xml中增加:
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
其中
<param-value>GBK</param-value> 这里要设置GBK,而不是UTF8。为了解决标单提交后的中文问题。
filters.SetCharacterEncodingFilter 类文件在TOMCAT lib 目录下filters.jar文件中。
你只需要把filters.jar放入你应用目录下的LIB中即可。
5、虚拟主机配置
a.编辑
%jboss-4.0.2%\server\default\deploy\jbossweb-tomcat55.sar\server.xml
在 </Engine>之前添加:
<Host name="www.ytiic.com">
<Alias>www2.ytiic.com</Alias>--〉别名,通过这个名字可以访问www.ytiic.com下的应用。
<Alias>ytiic.com</Alias>--〉同上
<!-- Default context parameters -->
<DefaultContext cookies="true" crossContext="true" override="true"/>
</Host>
b.在这个目录下:%jboss-4.0.2%\server\default\deploy
创建一个目录:test.war(你的虚拟目录加.war)之后在其下创建WEB-INF目录
在WEB-INF下创建:jboss-web.xml 文件,内容如下:
<jboss-web>
<context-root>/</context-root>
<virtual-host>www.ytiic.com</virtual-host>
</jboss-web>
虚拟主机配置完成!
当jboss启动后,会自动对应2个配置文件中的虚拟主机名。
6、数据库配置:
去这个 %jboss-4.0.2%\docs\examples\jca 目录找一个你想用的数据库文件:
拷贝到%jboss-4.0.2%\server\default\deploy 下,打开编辑。
在%jboss-4.0.2%\server\default\deploy目录下自己建了一个文件:
test这个名字自己定义,后面需要保留。
test-ds.xml
内容如下:
< xml version="1.0" encoding="UTF-8" >
<!-- ===================================================================== -->
<!-- -->
<!-- JBoss Server Configuration -->
<!-- -->
<!-- ===================================================================== -->
<!-- $Id: mssql-ds.xml,v 1.3 2004/09/15 14:37:40 loubyansky Exp $ -->
<!-- ======================================================================-->
<!-- New ConnectionManager setup for Microsoft SQL Server 2000 driver -->
<!-- You may download the latest Microsoft JDBC driver from *Microsoft* -->
<!-- http://msdn.microsoft.com/downloads/default.asp url=/downloads/sample.asp url=/MSDN-
FILES/027/001/779/msdncompositedoc.xml&frame=true -->
<!-- ===================================================================== -->
<datasources>
<local-tx-datasource>
<jndi-name>test</jndi-name>
<connection-url>jdbc:mysql://192.168.1.1/test</connection-url>
<driver-class>org.gjt.mm.mysql.Driver</driver-class>
<user-name>root</user-name>
<password>password</password>
<!-- sql to call when connection is created
<new-connection-sql>some arbitrary sql</new-connection-sql>
-->
<!-- The minimum connections in a pool/sub-pool. Pools are lazily constructed on first use -->
<min-pool-size>5</min-pool-size>
<!-- The maximum connections in a pool/sub-pool -->
<max-pool-size>20</max-pool-size>
<!-- sql to call on an existing pooled connection when it is obtained from pool
<check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
-->
<!-- The time before an unused connection is destroyed -->
<!-- NOTE: This is the check period. It will be destroyed somewhere between 1x and 2x this timeout after last use-->
<!-- TEMPORARY FIX! - Disable idle connection removal, HSQLDB has a problem with not reaping threads on closed connections -->
<idle-timeout-minutes>1</idle-timeout-minutes>
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
<metadata>
<type-mapping>mysql</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
数据库配置完成。
连接数据源名为:java:/test
=================================
所有配置完成!!
注意问题:
(1)、你的应用下的LIB库不要和%jboss-4.0.2%\server\default\lib 下的类库相冲突。
(2)、数据库配置参考:%jboss-4.0.2%\docs\examples\jca 下的文件
7、禁止文件目录列表
编辑%jboss-4.0.2%\server\default\deploy\jbossweb-tomcat55.sar\conf\web.xml
把listing设置为false
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>