`
Cloudyxuq
  • 浏览: 128921 次
文章分类
社区版块
存档分类
最新评论

如何用过滤器过滤HTTP协议和非HTTP协议编码

 
阅读更多

在编写web时,最苦恼的事情就是乱码了。

一直没怎么考虑过JSP第一句话中的ContentType和pageEncoding具体是用做什么的,害自己做了过滤器也老是出现问题。

Google下:

contentType ------------指定的是JSP页最终 Browser(客户端)所见到的网页内容的编码.

pageEncoding ------------指定JSP编写时所用的编码
如果害怕忘了在每个jsp都加上这样的编码,或者由于不同环境所需的客户端所见编码的不同。加上过滤器来解决

1.HTTP协议下的过滤:

(1.login.jsp )用来模拟输入数据登录

(2.main.jsp )用来模拟得到数据

(3.web.xml)配置



(4.EncodeFilter.java)过滤器类


结果:


post方式参数存放在请求数据包的消息体中。get方式参数存放在请求数据包的请求行的URI字段中,以?开始以param=value&&parame2=value2的形式附加在URI字段之后。而request.setCharacterEncoding(charset); 只对消息体中的数据起作用,对于URI字段中的参数不起作用。

可以继承扩展HttpServletRequestWrapper 增加过滤功能

添加一个MyEncodeFilter类


改变后的Filter:


解决成功!



分享到:
评论

相关推荐

    过滤器实现get请求乱码问题

    过滤器(Filter)是Java Servlet API的一部分,允许我们在请求到达目标Servlet或JSP之前对其进行拦截和处理。在这个场景下,我们需要创建一个专门的过滤器来解决GET请求的编码问题。 首先,我们需要了解HTTP协议的...

    几个有用的过滤器 小技巧

    在Java EE开发中,过滤器(Filter)是一个非常重要的组件,它允许我们在数据处理和请求转发之间进行干预,实现如登录验证、字符编码转换、日志记录等多种功能。本资源包含了一些实用的过滤器小技巧,以下是这些过滤...

    过滤器源代码

    在IT领域,过滤器(Filter)是一种常见的设计模式,它被广泛应用于网络数据包处理、Web应用程序、日志记录等多个...实现这样的过滤器需要理解网络协议、数据结构以及软件设计模式,同时还需要考虑性能和安全性的平衡。

    java中文过滤器

    为了解决这个问题,开发者会使用过滤器(Filter)来预先处理请求或响应,确保中文字符正确地被编码和解码。 `SetCharacterEncodingFilter.java`是这个过滤器的具体实现。在Java Web中,过滤器是Servlet API的一部分...

    过滤器解决中文乱码(项目)

    本项目中,过滤器的主要任务就是确保请求和响应的数据始终使用正确的字符编码。 1. **字符编码设置**:在HTTP协议中,可以通过Content-Type头来指定字符编码。在服务器端,我们可以在过滤器中设置...

    java里中文乱码的解决篇之过滤器

    在这个过滤器中,我们通过`request.setCharacterEncoding()`和`response.setCharacterEncoding()`方法设置了请求和响应的字符编码为UTF-8。这确保了在处理请求参数和生成响应内容时,使用的都是UTF-8编码,从而避免...

    servlet过滤器配置,解决JSP的所有乱码

    在Java Web开发中,Servlet过滤器(Filter)是一种强大的工具,它可以用来处理各种问题,包括但不限于解决字符编码问题。在标题“servlet过滤器配置,解决JSP的所有乱码”和描述“JSP页面获得servlet是不是经常出现...

    SSH 中文过滤器

    在本主题中,"SSH 中文过滤器"可能指的是在SSH连接或传输过程中处理中文字符的特定过滤机制,这通常涉及到字符编码、乱码问题的解决以及跨平台通信时的兼容性问题。 在开发或管理涉及多语言环境的系统时,特别是在...

    DNS协议分析和HTTP协议分析的实验报告.pdf

    通过对DNS和HTTP协议的深入分析,我们不仅能够理解这两种协议的基本工作原理和技术细节,还能够掌握如何使用Wireshark这样的工具来进行网络流量分析。这对于网络安全、性能优化等方面具有重要意义。希望本次实验能...

    使用51单片机控制CAN协议编码器.docx

    ### 使用51单片机控制CAN协议编码器详解 #### 一、背景介绍 随着工业自动化水平的提高,单片机作为控制核心的应用越来越广泛。其中,51单片机因其成本低廉、易于编程等特点,在各种工业控制领域中占据着重要的地位...

    mina HTTP协议实例

    通过自定义过滤器,我们可以实现HTTP协议的解析、编码等功能。 2. **Handler处理**:MINA的处理器是网络事件的实际处理者,负责接收和发送数据。在HTTP协议实例中,Handler会解析接收到的HTTP请求,并生成相应的...

    tomcat过滤器,处理表单提交出现乱码

    在HTTP协议中,表单数据默认使用ISO-8859-1编码,而我们可能期望的是UTF-8或者其他支持多语言的编码方式。为了解决这个问题,我们可以利用Java的Servlet过滤器(Filter)机制来处理请求。 1. **创建过滤器**: 在...

    mina框架自定义解编码器

    MINA的编码器和解编码器遵循了Filter设计模式,每个解编码器都是一个过滤器,可以在数据传递过程中进行拦截和处理。 3. **自定义解编码器的实现** 自定义解编码器需要继承MINA提供的AbstractDecoder类或其子类,并...

    http网络协议分析器包括源码

    WinPcap API包括了数据包的捕获、过滤、发送和统计等功能,开发者需要学习如何使用这些接口来实现对HTTP报文的监控。 在实际应用中,HTTP协议分析器可以帮助解决多种问题。例如,当网页加载缓慢时,可以通过分析器...

    用过滤器转换amr音频

    综上所述,"用过滤器转换amr音频"是一个涉及服务器端编程、音频处理、HTTP协议和前端技术的综合性问题,需要综合运用多种技术知识来实现。在这个过程中,理解Servlet过滤器的工作原理、熟悉音频格式转换工具的使用...

    RFC2254LDAP查询过滤器的字符串表示法中文版

    在实际使用中,开发者和管理员会用这些过滤器来构建搜索请求,例如: - `(objectClass=person)(givenName=张)(sn=三)` 这个过滤器会找到所有objectClass为person且名字为"张"、姓氏为"三"的条目。 **6. 中文字符...

    JSP利用过滤器解决request中文乱码问题

    在标签内定义过滤器的名称和过滤器类的完整路径,而标签内则指明了这个过滤器应该作用于哪些URL模式。可以配置多个子标签,分别对应不同的Servlet请求转发类型,如REQUEST、FORWARD、INCLUDE和ERROR。这样,过滤器就...

    ethereal进行协议分析

    - **实时过滤器**:在捕获数据的过程中,可以使用实时过滤器来筛选出特定类型的封包。例如,输入"tcp.port == 80"将只显示HTTP流量。实时过滤器可以实时更新显示内容,方便快速定位问题。 - **显示过滤器**:对于更...

    网络协议分析工具Wireshark的使用

    例如,`http` 过滤器将只显示HTTP协议的包,而 `ip.src == 192.168.1.1` 将显示源自特定IP的数据包。 4. **颜色编码**:Wireshark使用颜色编码来区分不同类型的包,如错误、警告和正常通信,便于快速识别异常情况。 ...

    York-IAQ 空调 遥控器 红外编码

    - Filter Clear标志位:1表示过滤器清理状态,0表示未清理。 - 摆叶状态:1表示摆叶开启,0表示关闭。 - 睡眠模式:1表示开启,0表示关闭。 - 时间调整:1表示正在进行时间调整,0表示无调整。 - 时钟设置:包括小时...

Global site tag (gtag.js) - Google Analytics