JavaRush /Java 博客 /Random-ZH /Spring中使用CharacterEncodingFilter请求编码
Core
第 35 级
Екатеринбург

Spring中使用CharacterEncodingFilter请求编码

已在 Random-ZH 群组中发布
你好好人! 简介 有一个非常流行的问题 - 在 Web 应用程序中俄语字符显示不正确。我读了这些文章,明白了罪恶的根源和绊脚石。我意识到为什么 jsp 页面上需要这些行,以及在客户端-服务器-数据库链中数据传输的哪个阶段: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 我的主要问题在于一篇好文章中描述的内容(来源:Tyts
这是管理员构建的服务器。这是一个在管理员构建的服务器上运行的 Web 应用程序。这是一个 servlet,它是在管理员构建的服务器上运行的 Web 应用程序的一部分。或者 JSP,它是同一个 servlet。这个servlet 接收一个请求。它包含数据。哪个?一组字节。Servlet 需要什么?符号。问题:我应该使用什么编码?又一次深入 HTTP。使用 POST 方法传输表单中的数据,指示特定的内容类型: Content-type: application/x-www-form-urlencoded 理论上,也可以在此处指定传输数据的编码: Content-type: application/ x-www-form-urlencoded;charset=UTF-8 无论如何,Tomcat 都会尝试从这里获取它。实际上,只有 Opera 指定了编码。也许将来会发生一些变化,但目前事实如下:传入数据的编码未知!对此我们需要采取一些措施。
解决方案是使用过滤器。这里写得很好,这就是我所做的(来源:tyts)我将这个配置代码插入到web.xml中 现在一切都很好,我基本上很高兴,但是我想通过Spring注释来配置这个过滤器,因为我执行了所有使用 java 类的其他配置。不知怎的,我想要统一。我有 2 个配置类:一个配置应用程序,另一个配置应用程序上下文(依赖项注入)。这是第一类的代码。 我相信过滤器配置需要插入到此类中,但代码有点不对劲。这是我第一次使用网络应用程序,所以我向更有经验的人寻求帮助。谢谢。 characterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true characterEncodingFilter /* package net.kaa.todolist.config; import org.springframework.web.WebApplicationInitializer; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; import org.springframework.web.servlet.DispatcherServlet; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRegistration; public class AppInitializer implements WebApplicationInitializer { @Override public void onStartup(ServletContext servletContext) throws ServletException { AnnotationConfigWebApplicationContext appContext = new AnnotationConfigWebApplicationContext(); appContext.register(ApplicationContextConfig.class); ServletRegistration.Dynamic dispatcher = servletContext.addServlet("SpringDispatcher", new DispatcherServlet(appContext)); dispatcher.setLoadOnStartup(1); dispatcher.addMapping("/"); } }
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION