输入字符串为空问题

最近客户对系统安全格外重视,每周都要进行软件安全评估。可怜某系统上线多年,用的都是老掉牙的旧版本,一下子就被检测出诸多漏洞。就像长年不体检的人,突然体检就查出癌症晚期。不过漏洞虽多,还没到绝症的地步,升级一下版本还是有救的。

系统原来用的是tomcat5.5+jdk1.5,漏洞大多是tomcat5.5的。目前支持jdk1.5的最新tomcat版本是tomcat6.0.37。安装新版后发现了一个问题,登录系统的时候提示“For input string:"" ”,而实际上输入值都是非空的。

找开发人员看了一下,明明参数值已传过来,却取不出来,似乎是request.getParameter出了问题。而tomcat5.5不存在此问题。难道tomcat6跟jdk1.5不兼容吗?有人说试试改变取参数的方式,但是getParameter很多地方都有调用,改动量太大了。于是上网搜了几遍,终于发现网上已有类似问题的解决方案。网友很机敏地找到了问题发生的原因,应用程序使用的字符集是GBK,tomcat6以上版本对该字符集的支持存在问题。

解决方案:修改webapps/应用/WEB-INF/web.xml,将GBK改为GB18030。

web.xml的相关配置:

<filter>   
    <filter-name>EncodFilter</filter-name>   
    <filter-class>   
        com.test.test.EncodeFilter   
    </filter-class>   
    <init-param>   
        <param-name>encoding</param-name>   
        <param-value>GBK</param-value>   
    </init-param>   
</filter>


转载于:https://my.oschina.net/rlt/blog/199930

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值