Tomcat、Struts环境下开发jsp的中文传递及处理

本文介绍在Tomcat和Struts环境下处理中文的具体方法,包括设置字符编码以确保正常显示,解决请求参数中的中文乱码问题,以及通过重写ActionServlet的process方法来统一字符集。
Tomcat、Struts环境下开发jsp的中文传递及处理

    jap页面的正常中文显示只需要加入以下字段:

  首先讲发生这种问题的原因,大家知道jap是基于Servlet技术的,我们自己写一个Servlet需要输出中文时需要设置字符集:response.setCharacterEncoding("gb2312")或者response.setCharacterEncoding("GBK"),jsp文件都是需要web服务器编译为java文件的,其实就是一个Servlet,如果在jsp中做了以上设置,那么当前jsp编译后的Servlet文件就不会存在输出问题。

  当我们从页面将字符传递到Struts的ActionServlet时其中的request为默认字符集接收方式即“ISO-8859-1”,现在我们只需要在ActionServlet处理字符前将其中的request设置为"gb2312"或者"GBK"即可。我的设置方法为继承ActionServlet并重写process()方法。

中文问题二:jsp中的超级链接参数如果存在中文字符,以上办法就无法处理了,本人目前只想到一个蹩脚办法,就是再接收到中文参数的乱码后将其转换为正常。方法如下;

String inName = request.getParameter("name");
String outName =new String(inName.getBytes("ISO8859-1"),"gb2312");

另外可以试试修改jsp页面设置即为:<  %  @  page contentType="text/html; charset=gb2312"  %  >

现在该环境可以正常使用了。Weblogic等他WebServer我没试过,有机会再试了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值