Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26279042
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: Java

2010-05-04 11:56:49

如何解决linux下面resin运行JSP出现乱码

JSP页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

而且文档也是以utf-8编码保存进来的。但是一到服务器上面一运行发现还是乱码

测试发现跑*.html是不会出现乱码的。现在来看一下如果运行*.jsp哦就出现乱码了

我的页面:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

这样设置之后再运行发现还是出现中文乱码了。奇怪了~

解决Linux下面运行JSP出现中文乱码的方案:

1.     设置好这几个地方
<%@ page contentType="text/html; charset=utf-8"%>
<%@ page language="java"

2.     import="java.util.*,com.util.IPUtil" pageEncoding="utf-8"%>
JSP
页面的头部
设置好META标签的编码风格


//-------------------------
浏览器编码-----------------

 

//
控制住JSP页面的编码形式!
<%@ page pageEncoding=" utf-8"%>                            //JSP
页面编码:
<%@ page contentType="text/html";charset= utf-8%>    //JSP
页面输出编码:
<% request.setCharacterEncoding("utf-8"); %>               //JSP
页面输入编码:
//------------------------MySql
编码-------------------
Connection connect = java.sql.DriverManager.getConnection(
"jdbc:mysql://localhost/mydb?user=
登陆帐号&password=你的密码&useUnicode=true&characterEncoding= utf-8");

说明:

1、   控制浏览器的输出显示编码是:

控制输出utf-8

2、   控制JSP页面编码

<%@ page pageEncoding=" utf-8"%> 这个编码非常重要。以后在每一个JSP页面务必要保证

3、   控制脚本输出的编码

4、   <%@ page language="java"

import="java.util.*,com.util.IPUtil" pageEncoding="utf-8"%>

表示out.println 里面的输出将是utf-8的格式的

 

 

配置文件详谈

3.1 数据库连接池配置
如果应用使用数据库连接池,查找,在其后加入数据库连接池的配置信息如下:
SQL SERVER
==================================================================

jdbc/job36_use
javax.sql.DataSource








ORACLE
==================================================================

jdbc/job36
javax.sql.DataSource







注意:如果要访问数据库,请先确认RESIN安装目录下lib文件夹有相应数据库的JDBC驱动,如mssqlserver.jaroracle_jdbc.jar等,否则请先将驱动文件拷贝到该目录,不然无法访问数据库。
字段为连接池名字,要与业务应用配置相同;
字段为数据库连接字符串,蓝色部分为数据库服务器IP:PORT、数据库名或SID数据库用户名。
密码。
字段为连接池最大连接个数,这个数据对基于WEB的数据库应用性能有一定影响,建议配置数为10~40(数据库应用较多时配置应偏小,网页应用较多时应偏大)。

3.2
服务端口配置
查找,蓝色字符串即为端口号,根据实际应用修改。
如果需要在一台服务器上启动多个resin服务,请按相应规划各应用端口号在每个resin安装目录的配置文件中配置该项,不可重复。
3.3
更新类间隔时间
60s
,蓝色字符为配置项,单位为秒。
Class-update-interval
字段对RESIN服务性能影响较大,请根据需求更改,建议配置原则为:在开发环境,设为2或更小,这样有利于 及时反映程序的修改对应用造成的改变;生产环境建议配置最小60,根据生产环境的特点,不可能有频繁的类改动或是JAVA脚本改变,或者根本不会有改动, 所以依据实际情况,设置为60~3600 (哦~~)

3.4
最大进程数
20
,蓝色字符为配置项。
Thread-max
字段为RESIN服务最大接收处理的进程个数,为了达到较好的性能输出,建议该项配置值为3.1连接池中max-connections参数的1倍。即,如果连接池max-connections设为10,那么就将thread-max设为20

3.5
保持活动进程数
,蓝色字符为配置项。
Thread-keepalive
字段为RESIN服务保持链接活动性的最大个数,它的值一定要小于3.4节中thread-max的值,否则RESIN无法启动。该项无建议值。

3.6
请求超时时长
,蓝色字符为配置项,单位为秒。
Request-timeout
字段为RESIN服务返回请求链接超时的时间,默认即可。

3.7
接收链接缓冲大小
,蓝色字符为配置项。
Accept-buffer-size id
字段为RESIN服务在满进程数下接收等待进程缓冲的个数,根据服务器、网络情况而定,无建议值。

3.8
缓存文件过期时间
,蓝色字符为配置项。
RESIN
运行中把被访问文件数据进行缓存(默认缓存目录为RESIN安装目录下的cache目录,可在字段修改为指定路径),以便更加有效率的工作,Cache-mapping url-pattern字段为RESIN服务保持缓存文件有效性的时间,开发环境推荐配置为默认值2,生产环境建议配置较大值,比如1530。本配置基 于应用,增加缓存有效时间,在有较多相同页面服务时减少了服务器的业务逻辑,转而利用磁盘缓冲文件提供数据;但是如果在固定时间长度里(比如10分钟)相 同页面的请求率很小或甚至没有相同的请求时,会增加一次缓存文件匹配动作,反而降低了服务器效率。因此,在特殊的应用中,可以将本配置项设为2,或注 ,取消缓存功能。

3.9
虚拟主机设置

3.9.1
默认文档设置
index.xtp, index.jsp, index.html.
Wecome-file-list
字段为默认文档的文件列表。默认文档是在客户端访问Web服务器,比如RESIN,时如果没有制定要访问的文件(即输入 URL为目录名而不是具体的文件名,如:),此时RESIN会根据该字段的值来搜索URL访问目录查找匹配 文件,如果找到文件则返回给用户而不需用户输入全部的URL,比如:index.html
该配置项一般用来设置默认主页。

注意:一个resin下面是可以跑多个应用的。只需要配置其虚拟主机即可。将各个的站点放入其中

3.9.2
主机ID
.
Host id
字段在单主机环境、一台服务器需要启动多个不同的RESIN服务时不用配置,请保持默认的空值。只有当与其他web服务器,比如apache等,同时使用时,考虑更改配置项。

3.9.3
日志

,蓝色字符为配置项。
? access-log id
字段为RESIN记录运行时访问日志,该日志在单独服务器情况下不推荐使用,就算在混合服务器情况下(比如IISAPACHE等)也不推荐,除非要分析个服务器的访问情况。如果不使用注释该段即可(加入红色部分代码)。
? error-log id
字段为RESIN错误日志,建议使用默认值。日志保存在RESIN安装目录的logs文件夹里。

3.9.4
虚拟目录
字段中加入,蓝色字符为配置项。
Web-app id
字段为RESIN虚拟目录名,app-dir字段为本地路径值。
例如:上面的配置实现了将test/ 映射到了服务器本地的c:\webapp目录,该目录内容应为web应用的代码或脚本。

测试:在window2003下面测试

       

            index.html

            UTF-8

           

           

       

 

       

                index.html

                UTF-8

               

               

       

  

说明:id表示的是虚拟主机名称。即 中的这个b值!

然后可以配置一下默认页。此站点的默认页。配置这个站点的默认编码为UTF-8形式!

还可以设置日志输出目录。以后开发务必要保证这样的格局出来的。即定义好自已这个项目的虚拟目录位置才行的!这样的话就不会出现像找不到servelts这样的问题了


4
单服务器多resin服务的配置
在某些应用中,会用到单服务器多resin服务的配置,也就是在一台服务器上需要使用多个不同的resin服务,比如一个WEB网站的resin,一个语音IVR或短信SMresin,此时的配置除了第三章所讲的,还要注意以下几点:
1
Host id字段保留默认配置。
2
resin配置文件的http port值不可相同,请按照系统规划的端口号进行相应配置。
3
resin配置文件的0.1’ port=’6802’>中的port值不可相同,该值可以任意配置,但要保持与其他端口没有冲突,推荐递增配置,比如68026803等,因为一般680x不会被使用。
4
在配置完成后,观察resin启动界面(dos界面),确认以下两项没有出现:
? http can’t bind to *:8080
(提示中的8080可能是别的数字,该提示说明http端口号有冲突,请检查http port字段的值)
? srun can’t bind to port 127.0.0.1:6802
(提示中的6802可能是别的数字,该提示说明127.0.0.1的端口有冲突,请检查srun字段的port值)
5
手工输入地址测试是否正常。
配置完成。

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

hkebao2010-05-05 10:26:56

5、 数据库连接解决乱码 String urlString = dbUrl + "?user="+dbUsername+"&password="+dbPassword+"&useUnicode=true&characterEncoding=utf8"; 将characterEncoding=utf8 定义好! 6、 解决servlets输出中文乱码的情况 response.setContentType("text/html;charset=utf-8");