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.待更新...

目录
相关文章
|
4月前
|
Java 应用服务中间件 Maven
JavaWeb基础5——HTTP,Tomcat&Servlet
JavaWeb技术栈、HTTP、get和post区别、响应状态码、请求响应格数据式、IDEA使用Tomcat、报错解决、Servlet的体系结构、IDEA使用模板创建Servlet
JavaWeb基础5——HTTP,Tomcat&Servlet
|
8月前
|
存储 Java 应用服务中间件
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解(2)
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解
79 2
|
8月前
|
Web App开发 XML Java
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解(1)
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解
130 2
|
7月前
|
SQL druid Java
javaweb案例实训之基于jsp和servlet的用户管理开发[增删改查及登录注销]
javaweb案例实训之基于jsp和servlet的用户管理开发[增删改查及登录注销]
53 0
|
7月前
|
SQL 数据可视化 数据库
基于jsp+servlet的javaweb实现最基本的用户注册登陆注销功能
基于jsp+servlet的javaweb实现最基本的用户注册登陆注销功能
40 0
|
8月前
|
存储 安全 JavaScript
JavaWeb之Servlet(下)
本文主要介绍了JavaWeb开发中关于请求、响应、会话和Servlet3.0注解的相关知识。首先讲解了请求(Request)的常用方法,以及处理请求乱码问题的几种方式。接着讨论了响应(Response)的方法,,以及设置全局初始化参数。然后介绍了会话(Session)的概念,包括其生命周期、如何设置和获取初始化参数,并对比了全局初始化参数和Servlet3.0的`@WebServlet`注解。文中给出了具体的代码示例和测试结果,帮助读者更好地理解和掌握这些概念。
|
3月前
|
Java 容器
【学习笔记】Jsp与Servlet技术
【学习笔记】Jsp与Servlet技术
89 0
|
5月前
|
SQL Java 数据库
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
|
5月前
|
供应链 前端开发 Java
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
这篇文章通过一个服装库存管理系统的实例,展示了在Spring Boot项目中使用Ajax、JSON、layui、MVC架构和iframe等技术,涵盖了注册登录、权限管理、用户管理、库存管理等功能,并提供了系统运行环境和技术要求的详细说明。
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
|
5月前
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
33 0