全站编码问题|学习笔记

简介: 全站编码问题

开发者学堂课程【Filte(过滤器)、Listener(监听器):全站编码问题】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/38


全站编码问题

内容:

一.解决全站字符乱码(POSTGET中文编码问题)

二.编写一个页面;

三.添加一个EncodingFilterd过滤器;

四.处理编码问题

 

1.解决全站字符乱码(POSTGET中文编码问题)

乱码问题:

POST请求:

requestsetCharacterEncoding("utf-8")

GET请求:String(reguest.getParameter("xx").getBytes("is0-8859-1"),utf-8");

l响应的乱码问题:

response.setContextType('text/htm;charset-=utf-8").

l基本:在每个Servlet中都要处理乱码问题,所以应该把这个工作放到过滤器中来完成。

 

2.     编写一个页面

示例:

image.png

结果:由于未做任何请求编码处理,测试结果为POSTGET均乱码;

 

3.  添加一个EncodingFilterd过滤器(EncodingFilter.java );

(1)     处理post请求编码问题:

request.setCharacterEncoding ( "utf-8") ;

(2)     处理get请求编码问题:

string usexname= request.getParameter ("usexname" );

username=new string (username.getBytes("ISO-8859-1")"UTF-8");

调包request;

写一个request的装饰类;

在放行时,使用自己的request;

if(req-getMethod () .equals ( GET")){

EncodingRequest er = new EncodingRequest (req) ;

chain.doFilter(er, response) ;

}  else if(req-getMethod ( ) .equals("POST)){

chain.doFilter (request,response) ;

l  注释:写一个自己的request的装饰类,实现相同的接口,删除余下码,将这个接口的所有方法用我们的request传递给构造器,只需要覆盖需要的方法。

 

4.  处理编码问题(EncodingRequest.java

try{

value = new string (value.getBytes ( "iso-8859-1")"utf-8");

} catch (UnsupportedEncodingException e) {

throw new RuntimeException (e) ;

)

return value;

)

总结:只需要将EncodingFilter.javaEncodingRequest.java配在web.前面,之后Servlet中就可以解决任何编码问题。

相关文章
|
7天前
|
云安全 监控 安全
|
12天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1351 8
|
6天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
427 10
|
18天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
1233 43
|
18天前
|
人工智能 前端开发 算法
大厂CIO独家分享:AI如何重塑开发者未来十年
在 AI 时代,若你还在紧盯代码量、执着于全栈工程师的招聘,或者仅凭技术贡献率来评判价值,执着于业务提效的比例而忽略产研价值,你很可能已经被所谓的“常识”困住了脚步。
1083 86
大厂CIO独家分享:AI如何重塑开发者未来十年
|
14天前
|
存储 自然语言处理 测试技术
一行代码,让 Elasticsearch 集群瞬间雪崩——5000W 数据压测下的性能避坑全攻略
本文深入剖析 Elasticsearch 中模糊查询的三大陷阱及性能优化方案。通过5000 万级数据量下做了高压测试,用真实数据复刻事故现场,助力开发者规避“查询雪崩”,为您的业务保驾护航。
627 32