`
还有也许
  • 浏览: 169285 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

servlet乱码问题

    博客分类:
  • JSP
阅读更多

一、静态中文展示


servlet做页面
response.setContentType("text/html;charset=utf-8/gbk/gb2312");


二、动态传递中文参数:可以将中文参数进行单的类型转换(注意:字符编码与参数的元字符编码和参数的目标字符编码要一致)


*get传参:直接修改tomcat服务器中连接期的默认字符编码为utf-8/gbk/gb2312(在servlet.xml文件,连接器<Connector>中增加属性 URIEncoding="utf-8")


*post传参
在servlet获取参数之前调用如下方法,对所有的封装到requset中的参数的字符编码同义转换 request.setCharacterEncoding("utf-8/gbk/gb2312");(关键的代码)
假如页面很多,这种方式就不实用
通过过滤器servlet来调用以上方法,对用户发出请求时的以post方式的传递的中文参数进行统一的字符编码转换
过滤器属于servlet的一种,其加载的优先级高于所有的控制器servlet。其在web容器中的注册信息必须放在所有的控制器servlet注册信息之前。
操作:


1.在配置文件里面
<!-- 注册过滤器 -->
<filter>
<filter-name>myfilter</filter-name>
<filter-class>com.qulx.filter.MyFilter</filter-class>
<!-- 设置过滤器使用的字符编码 -->
<init-param>
   <param-name>encoding</param-name>
   <param-value>utf-8</param-value>
</init-param>
<!-- 设置过滤行为是否调用 -->
<init-param>
   <param-name>enable</param-name>
   <param-value>true</param-value>
</init-param>

</filter>
<!-- 设置过滤器映射名 -->
<filter-mapping>
<filter-name>myfilter</filter-name>
<url-pattern>/*</url-pattern>

</filter-mapping>

注意如果只想对针对其中的某些参数进行字符编码的转换,可以修改虚拟目录的名称,修改<url-pattern>/虚拟目录/*</url-pattern>
可以把想过滤的内容放在一个虚拟子目录中。

2.在过滤器中写入,需要实现Filter接口

public class MyFilter implements Filter {

private String encoding ="";
private boolean enable = false;

public void init(FilterConfig arg0) throws ServletException {
  
   this.encoding = arg0.getInitParameter("encoding");
   String able = arg0.getInitParameter("enable");
   if(able.equals("true")){
    this.enable = true;
   }
}

public void destroy() {
   // TODO Auto-generated method stub

}
//执行过滤行为的方法
//FilterChain 负责释放控制权
public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
  
   //将request中封装的所有的中文参数统一进行字符编码转换
   if(this.enable){
    request.setCharacterEncoding(this.encoding);
   }
   //释放控制权
   chain.doFilter(request, response);
  
}

 

}


*对post传参和get传参,都能进行字符编码转换,请求的参数.getBytes("iso-8859-1","")

分享到:
评论

相关推荐

    ajax到servlet乱码解决

    在 Web 开发中,使用 AJAX 通过 URL 传参数给 Servlet 时,经常会遇到乱码问题,即使使用了统一的字符编码也没用。下面我们来探讨这个问题的解决方案。 问题描述 当我们使用 AJAX 通过 URL 传参数给 Servlet 时,...

    tomcat与servlet乱码解决办法

    ### Tomcat与Servlet乱码问题解析及解决方案 #### 一、引言 在Web开发过程中,经常遇到的一个问题就是字符编码的问题,特别是在处理中文字符时,如果编码设置不当,很容易出现乱码的情况。本文主要围绕Tomcat服务器...

    java,jsp,servlet 乱码

    Java、JSP 和 Servlet 乱码问题是一个常见的开发难题,主要涉及到字符编码的不一致,导致数据在不同阶段出现解码错误。以下是一些解决乱码问题的关键知识点: 1. **页面编码设置**: - 静态HTML页面可以通过`...

    servlet乱码及解决

    这是servlet出现乱码,以及乱码出现时的解决办法。

    servlet中文乱码问题

    ### Servlet + Tomcat 中文乱码问题解析及解决方案 #### 一、中文乱码问题概述 在使用Servlet和Tomcat进行Web开发时,经常会遇到中文乱码的问题。这主要是因为客户端(如浏览器)与服务器之间使用的字符编码不一致...

    servlet输出JS乱码问题

    知识点:Servlet输出JS乱码问题解析与解决方案 一、Servlet与JS输出背景 Servlet是Java Web应用中的核心组件,主要用于处理客户端发送的HTTP请求,并生成响应。在Web开发中,Servlet经常被用来处理业务逻辑,然后...

    Servlet 中文乱码问题

    在Java的Servlet开发中,中文乱码问题是一个常见的困扰,主要涉及到请求(request)和响应(response)两个方面。本文将详细解析这两个方面的乱码问题及其解决方案。 首先,我们需要了解一些基础知识。GBK编码是一种...

    解决servlet页面乱码问题

    通过以上步骤,你应该能够有效地解决Servlet页面的乱码问题。记住,关键在于统一字符集,并在所有环节进行正确设置。对于初学者来说,理解这些概念并熟练应用,将有助于避免和解决这类常见问题。

    servlet输出中文乱码问题

    ### servlet输出中文乱码问题详解 #### 一、问题背景 在进行Web开发时,特别是使用Java Servlet处理HTTP请求的过程中,经常会遇到输出中文字符时出现乱码的问题。这不仅会影响用户体验,还会对项目的正常运行造成...

    解决servlet中文乱码问题1

    解决servlet中文乱码问题1 在servlet编程中,中文乱码问题是常见的困扰,但是通过正确的配置和编码设置,可以轻松地解决这个问题。 标题解释 解决servlet中文乱码问题1的标题指的是,如何在servlet应用程序中正确...

    servlet过滤器解决乱码问题

    ### Servlet过滤器解决乱码问题 在Web应用开发过程中,字符编码问题经常出现,尤其是在处理中文等多字节字符时。如果不正确地设置字符编码,可能会导致页面显示乱码。本文将详细介绍如何通过Servlet过滤器来解决这...

    Jsp和Servlet中文乱码问题

    本文将深入探讨JSP和Servlet中文乱码问题的根源、解决方案以及预防策略。 ### JSP和Servlet中的中文乱码问题根源 中文乱码问题通常源于字符编码不一致或配置错误。在Web应用中,数据流经多个环节,包括客户端...

    jsp传参 servlet接收中文乱码问题的解决方法.docx

    jsp 传参 servlet 接收中文乱码问题的解决方法 jsp 传参 servlet 接收中文乱码问题是一个经常遇到的问题,特别是在使用 Hibernate+Servlet 框架时。当我们在 jsp 页面传参到 servlet 时,中文字符经常会出现乱码...

    servlet与jsp中文乱码处理

    通过以上方法,基本可以解决servlet和jsp在接收和显示中文时的乱码问题。但在实际开发中,可能还需要根据具体环境和需求进行调整。了解这些知识点,对于Java Web开发者来说是非常必要的,能够提高项目的稳定性和用户...

    解决jsp+servlet开发中的中文乱码问题

    ### 解决JSP+Servlet开发中的中文乱码问题 #### 概述 在基于JSP(Java Server Pages)和Servlet技术的Java Web应用开发过程中,中文乱码问题一直是困扰开发者的一大难题。由于Java Web应用程序涉及多个组件之间的...

    Servlet中的中文乱码问题

    然而,处理中文字符时,Servlet经常会出现乱码问题,这通常是由于字符编码设置不正确导致的。本篇文章将深入探讨如何解决Servlet中的中文乱码问题,以及如何在GBK、UTF-8和ISO-8859-1之间做出合理的选择。 首先,...

    servlet过滤器Api 以及乱码处理.javascript注入问题

    乱码问题在Web开发中是一个常见的挑战。Servlet过滤器可以有效地解决这个问题。例如,我们可以通过在过滤器中设置请求和响应的编码方式来确保正确的字符编码。以下是一个简单的例子: ```java public void doFilter...

    javaweb servlet(jsp)的乱码问题原理及解决

    ### javaweb servlet(jsp)的乱码问题原理及解决 #### HTTP协议的基本理解与乱码问题背景 HTTP协议作为互联网应用中最为广泛使用的通信协议之一,它定义了客户端和服务端之间的交互规则。HTTP请求主要分为GET和...

    servlet中解决乱码

    本文将深入探讨如何在Servlet中解决乱码问题,确保数据正确无误地进行编码和解码。 首先,我们需要了解Java Servlet生命周期中的两个关键阶段:`service()`方法和`doGet()`或`doPost()`方法。在这些方法中,我们...

    jsp+servlet+mysql乱码解决的这天

    jsp+servlet+mysql乱码解决方案是指在使用jsp+servlet+mysql开发web应用程序时,如何解决中文乱码问题的解决方案。该方案通过设置每个页面的编码格式为utf-8,控制器servlet中的请求编码格式为utf-8,数据库连接url...

Global site tag (gtag.js) - Google Analytics