zoukankan      html  css  js  c++  java
  • struts开发中的中文乱码问题

    整体思想,编码方法统一(utf-8)
    一:页面显示中文乱码问题:
    解决:<%@ page language="java" pageEncoding="UTF-8" %>
    二:传递参数中文乱码问题:
    解决:1. 在tomcat中修改server.xml文件。
    在本机上 D:\Tomcat5.5\conf目录下找到server.xml文件,在文件的<Connector>标签中加上红色部分
    <Connector port="8888" maxHttpHeaderSize="8192"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
    第一步主要是为了防止在get请求时传递参数为中文如:http://localhost:8888/login?username=小王
    2. 编写过滤器(Filter);
    <1>先编写CharactorEncodingFilter.java类,这个类要实现 servlet 的 Filter 接口
    具体内容如下:
    import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    public class CharactorEncodingFilter implements Filter {
    private String encoding = "ISO8859-1";
    private FilterConfig config;
    public void init(FilterConfig config) throws ServletException {
    this.config = config;
    String code = config.getInitParameter("encoding");
    if (code != null) {
    encoding = code;
    }
    }
    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    request.setCharacterEncoding(encoding);
    chain.doFilter(request, response);
    }
    public void destroy() {
    config = null;
    }
    }
    <2> 要在web.xml文件中,配置filter
    具体内容如下:
    <filter>
    <filter-name>charactorEncodingFilter</filter-name>
    <filter-class>
    com.oakpip.struts.filter.CharactorEncodingFilter
    </filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>charactorEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    三:国际化中文乱码问题:
    解决:用JDK的native2ascii工具对资源文件进行转换

  • 相关阅读:
    EffectiveC++ 第4章 设计与声明
    EffectiveC++ 第3章 资源管理
    EffectiveC++ 第2章 构造/析构/赋值运算
    EffectiveC++ 第1章 让自己习惯C++
    C++实现离散数学的关系类,支持传递闭包运算
    Vi编辑器入门
    如何查看jdk的版本是32位还是64位
    跨域服务调用基本概念及解决方法
    解决MyEclipse不编译的方法
    网上拒绝复制方法解决
  • 原文地址:https://www.cnblogs.com/DKSoft/p/1681852.html
Copyright © 2011-2022 走看看