struts 乱码

request经过struts处理后默认encoding是iso8859-1,  要纠正这个问题要赶在struts的黑手之前 ,建立filter,

在ActionServlet之前拦截*.do,转换编码

 

解决Struts乱码问题
a) 配置一个Filter过滤器,加入request.setCharacterEncoding("UTF-8");
b) 写一个Servlet继承自ActionServlet在doGet,doPost方法中加入request.setCharacterEncoding("UTF-8");
i. 修改web.xml,把ActionServlet改成自己的类
c) 利用自定义的RequestProceor类中的processPreprocess,加入request.setCharacterEncoding("UTF-8");

a) get/post 方式乱码解决方案:
    i. Tomcat默认在5以后get和post提交的解决不一样。
    ii. Post--->
      1. 提交页面设置contentType="text/html;charset=utf-8";
      2. 接收页面设置request.setCharacterEncoding("utf-8"),显示时也设置          contentType="text/html;charset=utf-8";
3. Struts1默认ISO-8859-1,所以我们需要人工设置乱码解决。参见四
iii. Get
1. 默认URL地址提交的是ISO-8859-1的编码。即使做了上面的处理,也不行。
2. 修改tomcat/conf/server.xml
a)     <Connector port="80" protocol="HTTP/1.1"
b)               connectionTimeout="20000"
c)               redirectPort="8443" URIEncoding="UTF-8"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值