JBoss

本案例数据库为本地数据库mysql,web项目为原tomcatweb项目。Jboss服务器为jboss-4.2.3.GA

配置数据库连接池

1、在jboss-4.2.3.GA\docs\examples\jca文件夹下找到mysql-ds.xml,并将它复制到jboss-4.2.3.GA\server\default\deploy文件夹下。

2、修改jboss-4.2.3.GA\server\default\deploy文件夹下的mysql-ds.xml文件夹。(mysql-ds.xml名称请不要修改)

<?xml  version="1.0" encoding="UTF-8"?>
  <datasources>
    <local-tx-datasource>
      <jndi-name>mysqlDS</jndi-name><!--jndi名称(命名时一定要DS结尾)-->
      <connection-url>jdbc:mysql://localhost:3306/test</connection-url><!--数据库url地址-->
      <driver-class>com.mysql.jdbc.Driver</driver-class><!--jndidriver-->
      <user-name>root</user-name><!--数据库用户名-->
      <password>root</password> <!--数据库口令-->
      <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
      <metadata>
        <type-mapping>mySQL</type-mapping><!--数据库类型(大小写一定要区分开)-->
      </metadata>
    </local-tx-datasource>
  </datasources>

3、将mysql驱动包mysql-connector-java-5.1.7-bin.jar复制到jboss-4.2.3.GA\server\default\lib文件夹和jboss-4.2.3.GA\lib文件夹下。

修改web应用配置

1、修改web项目WEB-INF\resources文件夹下的congfig.xml里数据源。

<dataSource>
  <Name>mysql_DS</Name>  <!-- 数据源名称,与设计器中一致  -->
  <JNDIPrefix>java:comp/env/</JNDIPrefix>  <!-- JNDI查找前缀 -->
  <JNDIName>mysql_DS</JNDIName>  <!-- 数据源的JNDI资源名称 -->
  <DBType>mysql</DBType>  <!-- 数据库类型 -->
  <DBEncode>gbk</DBEncode>  <!-- 数据库编码方式 -->
  <SQLDecode>false</SQLDecode>  <!-- 是否进行Sql语句转码 -->
  <Default>true</Default>  <!-- 是否为默认数据源  -->
</dataSource>    

修改为

<dataSource>
  <Name>mysql_DS</Name>  <!-- 数据源名称,与设计器中一致  -->
  <JNDIPrefix>java:/</JNDIPrefix>  <!-- JNDI查找前缀 -->
  <JNDIName>mysqlDS</JNDIName>  <!-- 数据源的JNDI资源名称 -->
  <DBType>mysql</DBType>  <!-- 数据库类型 -->
  <DBEncode>gbk</DBEncode>  <!-- 数据库编码方式 -->
  <SQLDecode>false</SQLDecode>  <!-- 是否进行Sql语句转码 -->
  <Default>true</Default>  <!-- 是否为默认数据源  -->
</dataSource>    

部署web应用

将web项目打成war包复制到jboss-4.2.3.GA\server\default\deploy文件夹下,并解压。文件夹命名为XXX.war。

常见问题

1、Jboss在部署后可能会出现传参中文乱码问题

解决方案:

在jboss-4.2.3.GA\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" />

在这个节点下加一个属性URIEncoding="utf-8(或gbk)"

2、修改server.xml文件从外网访问JBOSS

修改配置文件jboss-4.2.3.GA\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" />

修改address="${jboss.bind.address}"    节点值为 address="0.0.0.0"

再启动后,就可以从外网访问了