servlet乱码

一次请求涉及到的编码转换过程

请求过程:页面编码 -->> http编码 -->> 反编译http编码  -->> 反编译页面编码 

返回过程:1. 服务器端 (1. 指明服务器端编码,2. 指明页面展示编码),

2. 涉及到编译器的时候还要指明编码器编码(把源文件编译成class文件过程的编码)

3. 设置 IDE的编码格式

4. 文件本身的编码格式

servlet返回时,中文乱码。 解决方式分三个方面

  1. 设置返回的编码格式 response.setCharacterEncoding("utf-8");
  2. 设置页面展示的编码格式(页面默认用GB2312) response.setHeader("Content-type", "text/html;charset=utf-8");
  3. 设置maven的编码格式 <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
package com.wyy.express;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/app")
public class App extends HttpServlet{
	public void doGet(HttpServletRequest reques, HttpServletResponse response) throws ServletException, IOException{
		response.setHeader("Content-type", "text/html;charset=utf-8");
		response.setCharacterEncoding("utf-8");
		response.getWriter().write("servlet from maven 快递 xx");
	}
}

pom.xm

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
	<project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
</properties>

 

转载于:https://my.oschina.net/u/935351/blog/2980588

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值