文档章节

修改tomcat的conf/server.xml解决网页乱码

SuperPcf
 SuperPcf
发布于 2015/04/24 19:57
字数 305
阅读 44
收藏 0

——后台

转码

str= new String(str.getBytes("iso8859-1"),"gb2312");
str= new String(str.getBytes("iso8859-1"),"GBK");

 

servlet中
response.setContentType("text/html; charset=GBK");

——前台
JSP中乱码
<%@ page language="java" contentType="text/html;charset=GBK" pageEncoding="GBK" %> 


——服务器 tomcat中

  更改 Tomcat\conf\server.xml,指定浏览器的编码格式为“简体中文”:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
改成
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="GBK"/>

 

——web.xml中添加一个过滤器

<filter> 
    <filter-name>CharacterEncodingFilter</filter-name> 
    <filter-class>com.worthtech.app.filter.CharacterEncodingFilter</filter-class> 
    <init-param> 
      <param-name>encoding</param-name> 
      <param-value>UTF-8</param-value> 
    </init-param> 
    <init-param> 
      <param-name>ignore</param-name> 
      <param-value>true</param-value> 
    </init-param> 
  </filter> 
  <filter-mapping> 
    <filter-name>CharacterEncodingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
  </filter-mapping>

 

 

java 代码

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 CharacterEncodingFilter implements Filter {  
 
    private String encoding=null;  
    private boolean ignore=true;  
      
    public void destroy() {  
        // TODO Auto-generated method stub  
        encoding=null;  
    }  
 
    /**  
       * 过滤请求,用户提交请求时起作用  
       */    
    public void doFilter(ServletRequest request, ServletResponse response,  
            FilterChain chain) throws IOException, ServletException {  
        // TODO Auto-generated method stub  
        if(ignore||request.getCharacterEncoding()==null){  
            String encoding=getEncoding();  
            if(encoding!=null){  
                request.setCharacterEncoding(encoding);  
            }  
        }  
//      System.out.println("encoding===="+encoding);  
        response.setContentType("text/html;charset="+encoding);  
//      do something here  
        //当前工作全部完成后,将请求放开给过滤器链的下一filter   
        chain.doFilter(request, response);  
    }  
 
    public void init(FilterConfig filterConfig) throws ServletException {  
        // TODO Auto-generated method stub  
        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 if(value.equalsIgnoreCase("yes")){  
            this.ignore=true;  
        }else{  
            this.ignore=false;  
        }  
    }  
 
    protected String getEncoding(){  
        return this.encoding;  
    }  
}


本文转载自:http://blog.csdn.net/qinyu0109/article/details/7348951

共有 人打赏支持
SuperPcf
粉丝 1
博文 13
码字总数 1627
作品 0
南昌
私信 提问
  win10 eclipse 启动项目 浏览器访问项目,代码需要中文转码

windows下在Eclipse中启动的tomcat没有乱码,单独部署到tomcat下乱码解决方案 win10 eclipse 启动项目 浏览器访问项目,代码需要中文转码 解决方案 第一步:确保项目,jsp页面,数据库编码统...

mifans
2016/11/01
19
0
Tomcat常用的配置

一、改JVM内存 进入tomcat的bin目录,打开catalina.bat,修改 在echo Using CATALINABASE: "%CATALINABASE%"的上面一行加下面代码 set JAVAOPTS="-server -Xms256m -Xmx512m -XX:PermSize=6......

hc24
2015/10/15
143
0
使用request.getParameter(“参数名”)取网页中输入值的中文乱码解决方法

在Java 开发中,如果框架搭建的不完善或者初学者在学习过程中,出现中文乱码是经常的事儿(哈。谁让发明Java语言的不是中国人呢) 今天跟大家分享几个解决java Web开发中,request.getParame...

zwtestsky
2016/11/25
0
0
spring mvc 中文乱码 post与get的方法解决

今天测试spring mvc ,中文乱码,在web.xml中加上 <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-cl......

huntering
2014/06/24
0
0
超级小白学习日记(4.20)

今天将tomcat安装好,并配置好环境变量。试着自己写了一个hello Java网站。 今天的收获是: 尽信书则不如无书。书本和视频都没有讲如何配置tomcat环境变量。在百度上搜索并配置好后,输入htt...

超级小白17
2017/04/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Ubuntu18.04 安装MySQL

1.安装MySQL sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 3.设置MySQL非root用户 设置原因:配置过程为系统root权限,在构建MySQL连接时出现错误:ERROR...

AI_SKI
今天
2
0
3.6 rc脚本(start方法) 3.7 rc脚本(stop和status方法) 3.8 rc脚本(以daemon方式启动)

3.6-3.7 rc脚本(start、stop和status方法) #!/usr/bin/env python# -*- coding: utf-8 -*-# [@Version](https://my.oschina.net/u/931210) : python 2.7# [@Time](https://my.oschina.......

隐匿的蚂蚁
今天
3
0
Cnn学习相关博客

CNN卷积神经网络原理讲解+图片识别应用(附源码) 笨方法学习CNN图像识别系列 深度学习图像识别项目(中):Keras和卷积神经网络(CNN) 卷积神经网络模型部署到移动设备 使用CNN神经网络进行...

-九天-
昨天
4
0
flutter 底部输入框 聊天输入框 Flexible

想在页面底部放个输入框,结果键盘一直遮住了,原来是布局问题 Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("评论"), ...

大灰狼wow
昨天
4
0
Kernel I2C子系统

备注:所有图片来源于网络 1,I2C协议: 物理拓扑: I2C总线由两根信号线组成,一条是时钟信号线SCL,一条是数据信号线SDA。一条I2C总线可以接多个设备,每个设备都接入I2C总线的SCL和SDA。I...

yepanl
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部