JavaWeb - JSP、Servlet、Request、Response、Get、Post 中文乱码问题

简介: JavaWeb - JSP、Servlet、Request、Response、Get、Post 中文乱码问题

image.pngimage.pngimage.pngimage.pngimage.pngimage.png

  1. 在Web项目中,主要编码格式改变的地方有:
     - 服务器载入的编码
     - Jsp/html文件,xml文件等外部保存的编码
     - 虚拟机加载的文件编码
     - IDE的保存文件编码
  2. 编码过滤器(Code)
//过滤器类 CharactorFilter.jsppackagecn.com.Filter;
importjava.io.IOException;
importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
publicclassCharactorFilterimplementsFilter { //继承Filter类//字符编码Stringencoding=null;
publicvoiddoFilter(ServletRequestrequest, ServletResponseresponse, FilterChainchain) throwsIOException, ServletException {
if(encoding!=null){
//设置request字符编码request.setCharacterEncoding(encoding);
//设置response字符编码response.setContentType("text/html;charset="+encoding);
        }
//传递给下一个过滤器chain.doFilter(request, response);
    }
publicvoidinit(FilterConfigfilterConfig) throwsServletException {
//获取初始化参数encoding=filterConfig.getInitParameter("encoding");
    }
publicvoiddestroy() {
encoding=null;
    }
}
// web.xml<filter><filter-name>CharactorFilter</filter-name><filter-class>cn.com.Filter.CharactorFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>CharactorFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

3.response.setContentType("text/html;charset=utf-8");

等价于

response.setCharacterEncoding("utf-8");

response.setHeader("content-type", "text/html;charset=utf-8");

4.如果之前使用response.setContentType设置了编码格式,则再在它后面使用response.setCharacterEncoding指定的编码格式覆盖之前的设置。

5.response.setContentType()、response.setCharacterEncoding() 两个方法调用时必须在getWriter执行之前或者response被提交之前

<%@page contentType="text/html;charset=gbk"%>:在服务端(tomcat)起作用,是告诉应用服务器采用何种编码输出JSP文件流;

6.<meta http-equiv="Content-Type" content="text/html; charset=GBK">:在客户端(浏览器)起作用,是告诉浏览器是采用何种编码方式显示HTML页面。

7.待更新...

目录
相关文章
|
Java 容器
【学习笔记】Jsp与Servlet技术
【学习笔记】Jsp与Servlet技术
257 0
|
存储 前端开发 Java
JavaWeb基础6——Request,Response,JSP&MVC
Request继承体系、获取请求头行体的方法、IDEA使用模板创建Servlet、请求参数中文乱码解决、请求转发、Respones重定向、Response响应字节字符数据、JSP、EL 表达式、JSTL标签、MVC模式和三层架构
JavaWeb基础6——Request,Response,JSP&MVC
|
SQL Java 数据库
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
Java服务器端技术:Servlet与JSP的集成与扩展
169 3
|
存储 缓存 前端开发
Servlet与JSP在Java Web应用中的性能调优策略
Servlet与JSP在Java Web应用中的性能调优策略
181 1
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
133 1
|
供应链 前端开发 Java
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
这篇文章通过一个服装库存管理系统的实例,展示了在Spring Boot项目中使用Ajax、JSON、layui、MVC架构和iframe等技术,涵盖了注册登录、权限管理、用户管理、库存管理等功能,并提供了系统运行环境和技术要求的详细说明。
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
基于Servlet和JSP的Java Web应用开发指南
387 0
JSP中使用response对象实现定时跳转网页
这篇文章讨论了JSP页面中使用response对象实现定时跳转网页的五种跳转方法,包括RequestDispatcher.forward()的使用及其在服务器端的工作原理。
|
缓存 Java 应用服务中间件
JSP的内置对象 request和response
这篇文章详细介绍了JSP的内置对象,包括request、response、out、session和application对象的使用方法和特性,以及如何通过这些对象处理HTTP请求和响应、管理会话和输出数据。