设为首页 加入收藏

TOP

解决JSP开发Web程序中文显示三种方法
2014-11-23 20:06:53 】 浏览:2983
Tags:解决 JSP 开发 Web 程序 中文 显示 方法

  方法一:最简单也是用的最多的方法


  <%@ page language="java" pageEncoding="GBK" %>


  或者<%@ page contenttype="text/html;charset=gbk";>这里可以用gb2312或者gbk,只是gbk比gb2312支持跟多的字符。


  这个方法用于jsp页面中的中文显示。


  方法二:使用过滤器


  过滤器使用主要针对表单提交,插入数据库的数据都是?号。这也是应为tomcat不按request所指定的编码进行编码,还是自作主张的采用默认编码方式iso-8859-1编码。


  编写一个SetCharacterEncodingFilter类。


  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 SetCharacterEncodingFilter implements Filter {
   protected String encoding = null;
   protected FilterConfig filterConfig = null;
   protected boolean ignore = true;
   public void init(FilterConfig filterConfig) throws ServletException {
    this.filterConfig=filterConfig;
    this.encoding=filterConfig.getInitParameter("encoding");
    String value=filterConfig.getInitParameter("ignore");
    if(value==null)
     this.ignore=true;
    else if(value.equalsIgnoreCase("true"))
     this.ignore=true;
    else
     this.ignore=false;
   }
   public void doFilter(
  ServletRequest request, ServletResponse response, FilterChain chain)
   throws IOException, ServletException {
   // TODO 自动生成方法存根
   if (ignore    (request.getCharacterEncoding() == null)) {
    String encoding = selectEncoding(request);
    if (encoding != null)
     request.setCharacterEncoding(encoding);
   }
   chain.doFilter(request, response);
  }
  public void destroy() {
   // TODO 自动生成方法存根
   this.encoding = null;
   this.filterConfig = null;
  }
  protected String selectEncoding(ServletRequest request) {
   return (this.encoding);
  }
  }


  相关链接:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇ApacheCXF2.0发布并通过JAX-WS2.0.. 下一篇Java程序把Word文档直接转换成Htm..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目