Docstoc

jboss config

Document Sample
jboss config Powered By Docstoc
					2.0 FOR NEW USER
jboss 配置入门(一)
一、配置 jboss/tomcat
安装 jdk
设置 jdk 的环境参数
然后在 classpath 里加入如下
.;%java_home%\lib\tools.jar;
%jboss_home%\server\default\lib\javax.servlet.jar;
%jboss_home%\server\default\lib\jboss-j2ee.jar;
%jboss_home%\client\jbossall-client.jar;
%jboss_home%\client\jnet.jar;
%jboss_home%\client\log4j.jar;
%jboss_home%\server\default\lib\mssqlserver.jar;

二、运行
在 C:\jboss-3.2.1_tomcat-4.1.24\bin 下点击 run.bat 运行。
测试方法如下:
http://localhost:8080/jmx-console

看到 jmx agent    view
表示成功

在默认目录下建立一 test.war 文件夹,目录结构如下:
[test.war]
      [WEB-INF]
              [CLASSES]
              WEB.XML




三 servlet 的测试

(1)测试程序:helloworld.java
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("<html><head><title>");
out.println("This is my first Servlet");
out.println("</title></head><body>");
out.println("<h1>Hello,World!</h1>");
out.println("</body></html>");

}
}

别忘了把 javax.servlet.jar 加入工程中

编译
javac helloworld.java
java helloworld
将生成的 helloworld.class 文件放在 classes 目录下。
(2)
配置 web.xml 文件如下:

<?xml version="1.0"   encoding="ISO-8859-1"?>

<!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>


(3) 通过调用 http://localhost:8080/test/helloworld 就可以看到
hello world 的输出!

好玩吧!!!加油继续啊!
我们会相继推出!

posted on 2007-07-31 16:00 PointNet 阅读(443) 评论(4)      编辑 收藏 所属
分类: Java 相关

评论:

     #1 楼      大豆男生                  Posted @ 2007-07-31 16:49

      先收下        回复      引用      查看

     #2 楼      大豆男生                  Posted @ 2007-08-07 15:26

      Linux 下 如何把 8080 端口修改成 80 端口?                 回复      引
      用     查看

     #3 楼   [楼主]     PointNet             Posted @ 2007-08-07 19:45

      软件准备:

      J2SDK 1.5 beta1 http://java.sun.com
      Apache 2.0.48 http://archive.apache.org/dist/httpd/
      Tomcat 5.0.19 http://archive.apache.org/dist/jakarta/tomcat-5/
      Mysql 4.0.18 http://www.mysql.com/downloads/index.html
      Mysql Control Center 0.9.4
      http://www.mysql.com/downloads/index.html
      Mysql MySQL Connector/J 3.1
      http://www.mysql.com/downloads/index.html
      mod_jk2-2.0.43.dll
      http://archive.apache.org/dist/jakarta/tomcat-connectors/jk2/

      1. J2SDK 安装与环境配置

      1.1 安装 J2SDK 可以按自己的意愿随意安装在任何目录

      1.2 设置环境变量(以本人的安装目录为例)

      在我的电脑上右键->高级->新建变量

      变量 变量值
      JAVA_HOME D:\Program Files\Java\j2sdk1.5.0
      CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\
      lib\tools.jar;%JAVA_HOME%\jre\lib;%JAVA_HOME%\jre\lib\ext;%JAVA
      _HOME%\jre\lib\rt.jar;%TOMCAT_HOME%\common\lib\mysql-connector-
java.jar;%TOMCAT_HOME%\common\lib
PATH %JAVA_HOME%;%JAVA_HOME%\bin
TOMCAT_HOME c:\Tomcat 5.0

注:变量的具体值,请根据自己的情况设置,以上可以做为参考,其中
mysql-connector-java.jar 文件及 TOMCAT_HOME 将在下文陆续介绍

2. Apache 2.0.48 的安装与配置

2.1 Apache 的安装按照默认安装即可,我的安装目录是 C:\,安装完成后
在 C:上会有一个 Apache2 的目录,下文我以$Apache_Dir 表示此安装目录

2.2 Apache 的配置

2.2.1 在$Apache_Dir/conf 目录下新建一个 workers2.properties 的文
本文件,内容如下

#--------------------------------------------------------------
-
[shm]
#根据自己的安装目录更改
file=c:/apache2/logs/shm.file
size=1048576

# socket channel
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
#tomcatid=127.0.0.1:8009

# worker for the connector
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

#--------------------------------------------------------------
----

2.2.2 修改$Apache_Dir/conf/httpd.conf 文件,用任一文本编辑器打开

2.2.2.1 搜索 "DocumentRoot" 关键字,将原来的设置改为

#--------------------------------------------------------------
----
#根据自己设定的目录,d:/webapps 为我的 WEB 发布根目录
DocumentRoot "d:/webapps"

#--------------------------------------------------------------
-----

2.2.2.2 搜索 "DocumentRoot to" 关键字,也就是在上面一段的下方几
行
找到,并修改为 WEB 发布目录,与 DocumentRoot 一致,也与 TOMCAT 的发布
目录一致
#--------------------------------------------------------------
-----
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "d:/webapps">

2.2.2.3 搜索 "AddDefaultCharset ISO-8859-1"
改为

#--------------------------------------------------------------
----

#添加中文支持
# AddDefaultCharset ISO-8859-1

AddDefaultCharset GB2312
DefaultLanguage GB2312
AddLanguage zh-cn .cn

#--------------------------------------------------------------
-----
2.2.2.4

#------------------------------------------------------
LoadModule jk2_module modules/mod_jk2.dll

<Location "/*.jsp">
JkUriSet worker ajp13:localhost:8009
</Location>

<Location "/servlet/*">
JkUriSet worker ajp13:localhost:8009
</Location>
#------------------------------------------------------
     ---------------------------------------------------------------
     -----------------
     需要注意的,这里是 jk2_module 不是 jk_module,两者的配置方法是不一
     样的,JK2 更为强大

     这里的目的是将以下位置的相应后缀名的文件提交到 TOMCAT,由 TOMCAT
     来解释执行,因为 Apache 执行纯 HTML 文件的效率要比 TOMCAT 高 得多.
     这里为了提高执行效率,建议将 Servlet 放在单独一个目录下,并且只放
     入 Servlet 文件."/servlet/*"表示 WEB 发布目录下 servlet 目录下的所
     有文件,/*.jsp 表示 WEB 发布目录下的所有*.jsp 文件,大家可以根据需要
     添加




2.0.1 JBOSS 的一点说明

$JBOSS-HOME/server/下有 3 个目录,all/default/minimal,它们是表示 3 种配
置,全部的配置、默认配置、最小配置,我们在启动 JBOSS 服务时,可以指定

run –c all 表示是启动 all 配置(将会加载所有服务);run 表示是以默认配置
启动;

run –c mimimal 表示是启动 mimimal 配置。这三者所加载的服务数量不同,
具体区别可查阅 JBOSS 相关文档,你还可以自己定义一个配置,如 test,属于
高手去为了性能上的考虑了,那这份文档对你的帮助不会太大了。



如果你确定了 JBOSS 服务启动的配置,那么你的应用及相关配置就需要部署在对
应的目录下的相关的路径下,如 all/,default/,minimal/下。


2.0.1 JBOSS 常用配置文件的路径

  为了描述方便,以下描述将以 JBOSS3.2.6 版本,default 配置为例,如果
你以别的配置启动,则在对应的目录下寻找或配置相关文件。

  1、相关 DTD 定义文件位于$JBOSS-HOME/docs/dtd,在其下的文件中可以查
阅某个 XML 配置文件中某个元素或属性的意义。
    2、数据源配置文件的路径,$JBOSS-HOME/server/default/deploy,文件格
式必须是*-ds.xml 的样式。不同的数据库配置参数可参考
$JBOSS-HOME/docs/examples/jca/下的示例文档。有关参数的细节在下面会有一
定的描述。

  3、公共的 jar 包我们可以放在$JBOSS-HOME/server/default/lib 下,如数
据库的 JDBC jar,log4j.jar 等,如果这些 JAR 已经在该 lib 下放置了,那么我
们的应用 WEB-INF/lib 下不应该再放置,否则 JBOSS 也会将他们再一次加载,白
白占用内存。

  4、配置日志的文件,log4j.xml 位于$JBOSS-HOME/server/default/conf
下,具体配置下文还会有一点介绍

    5、$JBOSS-HOME/server/default/work 下存放的是 JSP 编译后的.java
及.class 文件,如果调试 JSP 时出错了,可以到该目录下(一级级去翻吧)去找对
应的文件,调试问题。还有个小 TIPS,有时我们明明把一个 JSP 更新到对应的
目录里了,可是去刷新页面时,内容还是旧的,为了解决该问题,我们可以到
work 目录下,将对应的.java 及.class 文件删了,再刷新即可,这个原因不好
推测,有时可以自动刷新,有时不行。单个的 TOMCAT 都能自动刷新,不知为何
集成到 JBOSS 里却有时不行。       还需注意的事,       你在清除旧的 java、class 文件时,
不能为了省事,而直接删除目录,否则刷新时会报错的,等着你的就是要重启
JBOSS 服务了。

    6、$JBOSS-HOME/server/default/log 下存放的是日志文件,默认的
log4j.xml 配置是将日志输出到该文件夹下的 server.log 文件,可以去查看信
息进行调试。

    7、我们的应用一般部署在
$JBOSS-HOME/server/default/deploy/jbossweb-tomcat50.sar/下,建个
TestCrm.war 目录,  把我们的整个应用部署在该.war 目录下,               这样 JSP、Servlet
将由 tomcat 引擎来解析处理。

   8、配置应用的 WEB 服务的端口号及参数。

  JBOSS3.2.6 是在…./ deploy/jbossweb-tomcat50.sar/server.xml 中,自
己找 8080,修改为你想设定的端口即可。

  JBOSS3.2.3 是
在…/default/deploy/jbossweb-tomcat41.sar/META-INF/jboss-service.xml
中配置。




2.1 JBOSS        应用程序的下载及安装
前往 http://www.jboss.com 去下载相应的版本。直接解压到相关的目录即可。




2.2 JBOSS         应用程序的配置调整

2.2.1 配置负载均衡,调整参数

需要修改配置文件以适应 apache 中配置的“session sticky 配置”。如下:

Jboss3.2.3 修改:

%JBOSS_HOME%/server/default/deploy/jbossweb-tomcat41.sar/META-INF/
jboss-service.xml



修改<Engine name="MainEngine" defaultHost="localhost">为

<Engine name="MainEngine" jvmRoute="
server106" defaultHost="localhost">

与上述 workers2.properties 定义的内容一致。



Jboss3.2.6 修改:

%JBOSS_HOME%/server/default/deploy/jbossweb-tomcat50.sar/server.xml

修改<Engine name="jboss.web" defaultHost="localhost">为:

<Engine name="jboss.web" jvmRoute=" server106"
defaultHost="localhost">

与上述 workers2.properties 定义的内容一致。

Jboss4.0 的修改和 Jboss3.2.6 的一致。



如上配置后,就可以实现 apache+jboss 的负载均衡。
2.2.2 配置集群(Clustering),调整参数

如果我们要想使得几台 JBOSS 应用服务器互为备份(仅限于 SESSION),在群内一
台 JBOSS 服务器 down 掉的时候,用户不受影响,继续以登陆用户身份进行工作,
则我们需要配置 Clustering,并启动相关服务。下面将描述相关配置项:

1)、修改应用 APP 的 web.xml:

Jboss3.2.6:

../default/deploy/jbossweb-tomcat50.sar/Test.war/WEB-INF/web.xml



Jboss3.2.3:

../default/deploy/jbossweb-tomcat41.sar/Test.war/WEB-INF/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>

…….

…..

….

<distributable/>

</web-app>

2)、需要启动一个服务 cluster-service.xml
  如果是以 run -c all 来启动 jboss 服务,则默认是将 cluster 服务启动,
无需做什么配置工作,只需确认相关文件是否存在即可。

确认…/server/all/deploy/下存在 cluster-service.xml 文件;

确认…/server/all/lib/下存在 jgroups.jar 文件,如果没有则重新安装 jboss。

如果应用程序部署在 default 配置下,则需将上述的两个文件分别拷入

…/server/default/deploy/、…/server/default/lib/目录下。



   配置完毕,如有异常,请查看日志。更详细的信息请参阅 JBOSS.com 上提供
的 admin.pdf。


2.2.3 配置数据源,调整参数

    各种类型的数据库,都可以根据%JBOSS_HOME%/docs/examples/jca/下的示
例文档配置,  更详细的参数配置可参阅 JBOSS.com 上的文档或…/docs/dtd/下的
dtd 定义来配置。

   下面以 oracle 为例,提供我们在生产机环境的配置。

该 xml 文件需要被部署在%JBOSS_HOME%/server/all(or default)/deploy/下,
对应的数据库驱动程序 jar 需 copy 至部署的配置的 lib 下,如…all/lib/
或…default/lib/下。



<datasources>

  <local-tx-datasource>

      <jndi-name>jdbc/TestDataSource</jndi-name>

       <connection-url>jdbc:oracle:thin:@192.168.1.2:1521:test</conne
ction-url>

       <!--<connection-url>jdbc:oracle:oci:@youroracle-tns-name</conn
ection-url>-->

      <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>

      <user-name>test</user-name>
      <password>test</password>

           <!-- Uses the pingDatabase method to check a connection is
still valid before handing it out from the pool -->

           <valid-connection-checker-class-name>org.jboss.resource.ad
apter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-chec
ker-class-name>

         <!-- Checks the Oracle error codes and messages for fatal errors
-->

<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.O
racleExceptionSorter</exception-sorter-class-name>

                 <!-- sql to call when connection is created

               <new-connection-sql>some arbitrary
sql</new-connection-sql>

                 -->

         <min-pool-size>5</min-pool-size><!—最小连接池数目-->

         <max-pool-size>800</max-pool-size><!—最大连接池数目-->

         <idle-timeout-minutes>5</idle-timeout-minutes><!—数据库连接空
闲时间,单位为分钟,如果负载较大,可以设为 5,如果一般,可以设为 3-->

<!—在从连接池里获得一个连接之前先通过执行一个简单的 SQL 来校验
connection 的有效性-->

       <check-valid-connection-sql>select 1 from
dual</check-valid-connection-sql>

   </local-tx-datasource>

</datasources>



如有多个数据源,则根据数据库的类型,配置完成,部署在上述路径下即可。



在代码中可通过 JNDI 来从连接池中获取连接。
……

Context ctx = new javax.naming.InitialContext();

DataSource ds = (DataSource)ctx.lookup("java:jdbc/TestDataSource ");

Connection con = ds.getConnection();

……




2.2.4 配置 jboss Connector 参数

  以下的配置是介绍 load balancing 所使用的协议(AJP 1.3 Connector)的服
务,

更准确的有效参数以及 HTTP/1.1 Connector 的配置。

请参阅:

http://tomcat.apache.org/tomcat-5.0-doc/config/ajp.html

http://tomcat.apache.org/tomcat-5.0-doc/config/http.html



jboss3.2.3 配置…/jbossweb-tomcat41.sar/META-INF/jboss-service.xml,
jboss3.2.6 配置…./jbossweb-tomcat50.sar/server.xml

<!-- jboss3.2.3 jboss-service.xml -->

<!-- A AJP 1.3 Connector on port 8009 -->

<Connector
className="org.apache.coyote.tomcat4.CoyoteConnector"

address="${jboss.bind.address}" port="8009"
minProcessors="5" maxProcessors="1000"
enableLookups="true" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
useURIValidationHack="false"

protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
<!-- jboss3.2.6 server.xml -->

<!-- A AJP 1.3 Connector on port 8009 -->

<Connector port="8009" address="${jboss.bind.address}"

enableLookups="false" redirectPort="8443" debug="0"

maxProcessors ="1000" minProcessors=”5” acceptCount="100"

protocol="AJP/1.3"/>




简单解释一两个参数(以 tomcat5.0 为准):


maxProcessors:最大并发数(连接数)


minProcessors:初始化时启动的最小的进程数


acceptCount:在当前 connector 的连接数达到最大时,允许进入等待队列的
数目


connectionTimeout:连接超时时间,单位为毫秒


enableLookups:是否允许通过 DNS lookups,返回远程客户端的机器名,如
果设为 false,则只能返回 IP 地址。该参数默认为 true,如果不需要,可以禁
掉,设为 false,可以提高服务器的性能


maxPostSize:设定允许透过 POST 上传参数的字节数,默认是 2M(2097152),
如果想禁掉该限制,则将该值设为一个小于或等于 0 的值,如 0、-1,如果所部
署的应用中有上传工作,则需注意该配置


port="8009":这个值要与上述”1.4.3.workers2.properties”中的 port
一致
redirectPort="8443":是制定如果用了 SSL 机制访问服务的话,将会转向的
端口,请参阅 SSL 相关的配置文档。


debug="0":这是配置日志级别的,可以忽略,因为该设置依赖于 log4j 的配
置文件的设置,server/all/conf/log4j.xml


2.2.5 访问 URL 如果是目录,不想显示该目录下文件

jboss3.2.3:

修改…/server/all(or default)/deploy/….sar/web.xml



jboss3.2.6/jboss4.0:

修改…/server/all(or default)/deploy/….sar/conf/web.xml



查看紫色斜体字符,设为 false 表示不列出目录。默认是设为 true

<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>false</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>




2.2.6 设置某个应用 APP 为默认应用

    通常情况下,如果我们部署的应用目录为…/server/all(or
default)/deploy/….sar/Test.war/,则我们应用部署完后,我们访问的路径类
似于:http://…./Test/index.htm,如果我们想去掉 Test 这个 APP Name,则
如下设置即可。

  在你需要设为默认应用的那个 war 目录,如上述 Test.war/WEB-INF/ 下新
建一个文件,文件名为 jboss-web.xml,内容如下:

   <jboss-web>

       <context-root>/</context-root>

   </jboss-web>



   重启服务后,以 http://…./index.htm 即可访问部署于 Test.war/下的应
用。


2.2.7 配置数据源在 APP 应用加载前有效(各相关服务加载完毕)

  这个经验的获知花费了一周多,后来结合 jboss wiki/forum 的文档,有了
灵感,才得以解决。详细的介绍可参阅下面帖子,这是我发的一个求助帖,后来
自己给解决后把答案贴上了。

http://www.jboss.com/index.html?module=bb&op=viewtopic&t=70600

http://www.javaworld.com.tw/jute/post/view?bid=9&id=129747&sty=1&tpg=
1&age=0(中文)
      以下简略说明一下。

  我们部署一个应用(项目),应用启动之初一般都进行若干初始化吧,可能会
从文件里、数据库里获取一些基础数据或配置项等等。

  如果从数据库里获取基础数据,          则我们必须确保配置的那些数据源及相关的
服务在我们应用开始加载之前生效(已经启动或加载完毕);也就是说,在我们部
署应用的一些初始化数据方法里要能正常获取数据。如果你不做一些设置,仅仅
是将配好的 ds_oracle_test.xml 扔到…/deploy/下,那么很遗憾的告诉你,你
的应用在初始化数据阶段根本不能从连接池中获取到连接,进而获取数据。如要
达到你初始化数据的目的,请按照上面我提供的那个帖子连接去查看详细的信
息,下面我仅提供解决方法。

1)、配置数据源:

      <!--oracle_ds.xml-->

      <datasources>

      <local-tx-datasource>

      <jndi-name>jdbc/test</jndi-name>

2)确认 datasource 依赖的服务名

  透过 http://wiki.jboss.org/wiki/Wiki.jsp?page=DependOnDataSource
我们发现:
======原文引用==============
! Depending on a DataSource
To specify a dependency on a DataSource deployment, you need to depend on the service which binds
the DataSource into JNDI.
The DataSource is not bound into JNDI until the service
jboss.jca:service=DataSourceBinding,name=(jndi-name) has been
started. The (jndi-name) is the value of the jndi-name attribute for your DataSource as defined in the
*-ds.xml.
The associated connection manager service is a function of the type of DataSource and its jndi-name
attribute value. The
MBean names for the types of DataSource deployments are:


1 no-tx-datasource
  jboss.jca:service=NoTxCM?,name=(jndi-name)
  local-tx-datasource
2 jboss.jca:service=LocalTxCM?,name=(jndi-name)
  xa-datasource
  jboss.jca:service=XATxCM?,name=(jndi-name)
3 no-tx-connection-factory
  jboss.jca:service=NoTxCM?,name=(jndi-name)
  tx-connection-factory
4 jboss.jca:service=TxCM?,name=(jndi-name)


5


6


7


8


9


10




     通过上述描述可以知道,数据源配置不同,则对应的依赖服务名信息也不同。
     根据上述描述及数据源配置,相关的服务名就是:

"jboss.jca:service=LocalTxCM,name=jdbc/test".

我修改了 ...sar/...war/WEB-INF/jboss-web.xml(如果不存在该文件,就创建
它),然后运行 jboss, 就可以在初始化时找到 datasource,       并正确获取数据了!!!

配置文件如下:

1     <jboss-web>
       <depends>jboss.jca:service=LocalTxCM,name=jdbc/test</depends>
    </jboss-web>
2


3
2.2.8 日志配置,配置 log4j.xml

    JBOSS 的日志模块集成了强大的 LOG4J 组件,我们可以直接配置
$JBOSS_HOME/server/default/conf/log4j.xml,来定义日志级别或是将某几个
类的日志输出到一个单独的文件。

    以下简单罗列一下配置文件,具体的 LOG4J 的使用请参阅 LOG4J 文档或
JBOSS 的文档。

    <appender name="ImportCharge"
class="org.jboss.logging.appender.DailyRollingFileAppender">

     <errorHandler
class="org.jboss.logging.util.OnlyOnceErrorHandler"/>

    <param name="File"
value="${jboss.server.home.dir}/log/importCharge.log"/>

      <param name="Append" value="true"/>



      <!-- Rollover at midnight each day -->

      <param name="DatePattern" value="'.'yyyy-MM-dd"/>

      <layout class="org.apache.log4j.PatternLayout">

        <!-- The default pattern: Date Priority [Category] Message\n
-->

     <param name="ConversionPattern" value="%d %-5p
[%c] %m%n"/>

      </layout>

  </appender>



 <logger name="com.tt.bs.action.corp.ImportChargeFileAction">
   <level value="DEBUG" />

   <appender-ref ref="ImportCharge"/>

 </logger>



  <category name=" com.tt.bs.action.corp.UploadChargeFileAction
">

   <priority value="DEBUG" />

   <appender-ref ref=" ImportCharge "/>

  </category>



   category 或 logger 的写法都可以,建议用最下面的写法,这是文档中的
标准写法。

   上面的最后两个代码块,表示所列的两个 ACTION 将会引用
“ImportCharge”这个 appender,他们中的 log.debug….的日志将会同时
写入“importCharge.log”文件。

还可以参考:

http://wiki.jboss.org/wiki/Wiki.jsp?page=Logging

http://logging.apache.org/log4j/docs/




2.2.9 配置 contentType 及 charset,TOMCAT5.0 下 JSP 统一配置

   在 JSP 里头部一般要用 page 语句指定 contentType 及 charset。

如:<%@ page contentType="text/html; charset=GBK" %>

或分开写:

– <%@ page contentType="MIME-Type" %>

– <%@ page pageEncoding="Character-Set" %>
    该语句的作用是“指定由 JSP 页面生成的 servlet 生成的页面的 MIME 类型
及 charset”。默认的字符集是“ISO-8859-1”,如果不指定正确的 charset,
则我们的页面如有中文,是会乱码的。

  我主要描述的是后者,charset,字符集。发生的场景位于一个页面包含另一
个页面的情况下。

  在 JBOSS3.2.3 下集成的是 tomcat4.0*,用的是 JSP1.2/Servlet2.3 标准,
要求 JSP 主页面和所包含页面中的“pageEncoding”必须一致,基于这一情况,
我们一般做法是包含页面不指定“pageEncoding”,它的属性直接继承父页面即
可。

   在 JBOSS3.2.6 下,集成的是 tomcat5.0*,要求每个 JSP 中必须有
“pageEncoding”,换句话说,父页面中的指定对子页面没有影响。

   有两个方法可解决该问题:

   1、为每个页面指定“pageEncoding”,显然不可取!

  2、用 JSP2.0/Servlet2.4 标准,统一配置一下 WEB.XML,解析 JSP 时统一用
一个“pageEncoding”.这样我们就不需要为每个 JSP 里加个声明了。



   法 2 的配置细节如下:

    配置
$JBOSS-HOME/server/default/deploy/jbossweb-tomcat50.sar/TestCrm.war/W
EB-INF/web.xml,为下面紫色斜体内容。

   替换头部的命名空间声明:

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app
xmlns="http://java.sun.com/xml/ns/j2ee"   xmlns:xsi="http://ww
w.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/
/java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-
app_2_4.xsd"

version="2.4">



………
………

<jsp-config>

 <jsp-property-group>

   <description>jsp encoding example</description>

   <display-name>JSPConfiguration</display-name>

   <url-pattern>*.jsp</url-pattern>

   <el-ignored>true</el-ignored>

   <page-encoding>GBK</page-encoding>

   <scripting-invalid>false</scripting-invalid>

   <include-prelude></include-prelude>

   <include-coda></include-coda>

 </jsp-property-group>

</jsp-config>

</web-app>



说明:<jsp-config>的配置说明



你可以在<jsp-property-group>中使用以下的配置元素:

      Element                       描述
                    如果设置为 true, 在匹配指定的 URL 模式的 JSP 页面中,
                    EL 表达式被当作常规的文本而不是 EL 表达式。        当移植看
<el-ignored>        起来有 EL 表达式文本的 JSP 1.2 页面到 JSP 2.0 的时候,
                    这非常有用。在已经转换为 JSP 2.0 的页面中,你可以使
                    用一个新增的“elIgnoredpage”属性来选择 EL 是否有效
<scripting-invalid> 如果设置为 true, 在某个匹配的 JSP 页面使用脚本
                    为匹配指定的 URL 模式的 JSP 页面指定编码。这是一个可
<page-encoding>     选的配置(在每一个 JSP 页面中指定页面的编码),并且
                    对于 JSP 页面来说这是使用某些文件编码     (比如:    EBCDIC)
                    唯一的办法
                    为所有匹配指定的 URL 模式的 JSP 页面的末尾自动包含一
                    个文件,而指定相关的 context 路径。你可以在一个
<include-coda>
                    <jsp-property-group>中多次使用,或者通过多个
                    <jsp-property-group>来实现
                    为所有匹配指定的 URL 模式的 JSP 页面的开头自动包含一
                    个文件,而指定相关的 context 路径。你可以在一个
<include-prelude>
                    <jsp-property-group>中多次使用,或者通过多个
                    <jsp-property-group>来实现
                    如果设置为 true, 所有匹配指定的 URL 模式的 JSP 页面使
<is-xml>
                    用 JSP XML 语法(它们是 JSP Document)




可参见 http://www.oreilly.com.cn/news/jsppart2.php?c=java




2.3 JVM 最小、最大内存的设定
             JVM
  如果采取默认配置的话, 默认只能分配到最大 64M 内存(默认大小和 JVM
版本有关系),这在生产环境里肯定是不够,将会导致用户通过 WEB 方式无法访
问应用服务,但是系统进程中,JBOSS 服务却没有宕掉的奇怪现象。

修改$jboss/bin/run.conf 文件,找到“#JAVA_OPTS=”,如果没有该字符串,
请添加,   并去掉最前面的     “#” 修改该字符串(含双引号)为 JAVA_OPTS="-server
                       ,
-Xms512m -Xmx512m”,这是分配 JVM 的最小和最大内存,取决于硬件物理内存
的大小,建议均设为物理内存的一半。



    更详细的介绍请参见
http://java.sun.com/docs/hotspot/VMOptions.html


2.4 OS 字符集问题
   如果应用服务需要 OS 支持 GBK 字符集,修改文件/etc/sysconfig/i18n

内容为:

LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"

SUPPORTED="zh_CN.GB18030:zh_CN:zh"

SYSFONT="lat0-sun16"

SYSFONTACM="8859-15"


2.5 JBOSS 服务的启动、停止
  $JBOSS_HOME 以及%JBOSS_HOME%为 jboss 在 linux、win 下安装的路径,如
果配置了,直接照样引用即可。

启动:

   1、for linux: $JBOSS_HOME /bin/run.sh

      2、for win :%JBOSS_HOME%/bin/run.bat



关闭/停止:

   1、for linux: $JBOSS_HOME /bin/ shutdown.sh –S

      2、for win :%JBOSS_HOME%/bin/ shutdown –S

可以用 tail –f $JBOSS_HOME /server/default/log/server.log 来查看
jboss 服务的启动或停止的信息。

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:6
posted:7/7/2012
language:
pages:23