- 论坛徽章:
- 0
|
struts框架中文乱码解决两种方案(黎声)
在servlet开发中如果出现中文乱码问题,可以在Servlet的doPost或doGet方法中,对请求和响应设置中文编码的方式解决乱码问题,这是方案一。或者采用过滤器实现,这是方案二。
sruts也可以采用这两种方案,一是过滤器技术实现,该实现与servlet开发中问题解决方式相同,我们来看另一种方案,由于struts框架中将用户的请求都交给ActionServlet处理,而ActionServlet是框架已经写好的Servlet类,我们无法直接修改ActionServlet源码。因此在struts中如果出现中文乱码,可以第一步新建一个类继承struts框架的ActionServlet类,然后重写process方法,该方法用于处理所有用户的请求。参考代码如下
protected void process(HttpServletRequest request,
HttpServletResponse response) throws IOException,
ServletException {
//对请求和响应设置中文编码
request.setCharacterEncoding("GBK");
response.setCharacterEncoding("GBK");
//别忘了调用父类的process方法
super.process(request,response);
}
第二步修改web.xml文件,将所有用户请求交给继承ActionServlet的类处理
servlet>
servlet-name>action/servlet-name>
servlet-class>此处替换为继承ActionServlet类的类名/servlet-class>
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/62780/showart_625896.html |
|