Chinaunix首页 | 论坛 | 博客
  • 博客访问: 151031
  • 博文数量: 32
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 330
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-13 21:09
文章分类

全部博文(32)

文章存档

2008年(7)

2007年(23)

2006年(2)

我的朋友
最近访客

分类:

2007-07-05 16:01:46

2.2.9配置contentTypecharsetTOMCAT5.0JSP统一配置

JSP里头部一般要用page语句指定contentTypecharset

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

或分开写:

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

<%@ page pageEncoding="Character-Set" %>

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

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

JBOSS4.0.5GA下,集成的是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/WEB-INF/web.xml,为下面紫色斜体内容。

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

    xmlns:xsi=""   xsi:schemaLocation="   /web-app_2_4.xsd"

version="2.4">

 

………

 

     jsp encoding example

     JSPConfiguration

     *.jsp

     true

     GBK

     false

    

    

 

 

说明:的配置说明

 

你可以在中使用以下的配置元素:

Element

描述

如果设置为true, 在匹配指定的URL模式的JSP 页面中,EL 表达式被当作常规的文本而不是EL 表达式。当移植看起来有EL表达式文本的JSP 1.2页面到JSP 2.0的时候,这非常有用。在已经转换为JSP 2.0的页面中,你可以使用一个新增的“elIgnoredpage”属性来选择EL是否有效

如果设置为true, 在某个匹配的JSP页面使用脚本

为匹配指定的URL模式的JSP页面指定编码。这是一个可选的配置(在每一个JSP页面中指定页面的编码),并且对于JSP页面来说这是使用某些文件编码(比如:EBCDIC)唯一的办法

为所有匹配指定的URL模式的JSP页面的末尾自动包含一个文件,而指定相关的context路径。你可以在一个中多次使用,或者通过多个来实现

为所有匹配指定的URL模式的JSP页面的开头自动包含一个文件,而指定相关的context路径。你可以在一个中多次使用,或者通过多个来实现

如果设置为true, 所有匹配指定的URL模式的JSP页面使用JSP XML语法(它们是JSP Document

 可参见

 

2.3 JVM最小、最大内存的设定

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

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

 JAVA_OPTS为:-Xms 520m -Xmx 1500m -Xss 128k

 

jboss性能优化:内存紧张的问题

JAVA_OPTS -Xms 520m -Xmx 1220m -Xss 15120k +XX:AggressiveHeap

这个JAVA_OPTS犯了2个致命的错误:

1. +XX:AggressiveHeap会使得 Xms 1220m没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个Gswap

另外Xmx作为允许jvm使用的最大内存数量,不应该超过物理内存的90%。

而之所以使用了这个参数,是因为不加的话,JBoss会在运行一天左右的时间后迅速崩溃,上机课是,甚至出现过半个小时就崩溃的情况。

之所以要用这个参数,用swap支持服务器运行,是因为犯了下面的错误:

2. -Xss 15120k

这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k.

3. -Xms指定初始化内存大小

 

所作的修改:

1.修改JAVA_OPTS,去掉+XX:AggressiveHeap,修改Xss。现在的JAVA_OPTS为:

Xms 520m -Xmx 1500m -Xss 128k

2.修改deploy/jbossweb-tomcat55.sar/service.xml

maxThreads根据目前的访问量由默认的250降为75,并使用jboss 4默认未写在标准service.xml里面而jboss 3写入了的2个参数:

maxSparseThreads=200minSparseThreads=100

3.修改oracle-ds.xml将最大连接数有150降为50.

4.去掉一些不用的服务。

 

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%jbosslinuxwin下安装的路径,如果配置了,直接照样引用即可。

启动:

1for linux $JBOSS_HOME /bin/run.sh –c all

    2for win %JBOSS_HOME%/bin/run.bat –c all

 关闭/停止:

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

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

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

 

阅读(741) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~