`
jimmee
  • 浏览: 538769 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

tomcat对get参数和header的处理

    博客分类:
  • J2SE
 
阅读更多
1. 对get参数的处理, 可以看到
(1) org.apache.catalina.connector.Request中getParameter,
(2) org.apache.tomcat.util.http.Parameters的handleQueryParameters
最后添加参数时一句代码:
addParam( urlDecode(tmpName, enc), urlDecode(tmpValue, enc) );

所以说,进行了url解码了,但是指定的字符集enc还需要正确才能正确的处理get参数

2. 对header的处理
org.apache.coyote.http11.InternalInputBuffer的parseHeader方法
MimeHeaderField对应一个header, 先设置header的name,再设置header的value,都是原始的字节
  headerValue = headers.addValue(buf, start, pos - start);
  headerValue.setBytes(buf, start, realPos - start);


在读取header时

    public String getHeader(String name) {
        MessageBytes mh = getValue(name);
        return mh != null ? mh.toString() : null;
    }


所以可以看到,header若包含了中文名,则处理的返回结果应该就是乱码。
分享到:
评论

相关推荐

    apache-tomcat-8.zip

    Invalid character found in the request target.The valid characters are defined in RFC 7230 and RFC3986。...tomcat版本升级后,请求中包含的特殊字符或中文会引起此报错。 更换此tomcat可解决。

    5.Tomcat服务器运行原理.doc

    Tomcat服务器作为Apache软件基金会的Jakarta项目中的核心组件,是基于Java Servlet和JavaServer Pages(JSP)技术的Web应用服务器,它扮演着接收HTTP请求并处理这些请求的角色,然后将结果返回给客户端。以下是...

    实现基于nginx的tomcat负载均衡和集群配置

    本篇文章将详细讲解如何使用Nginx作为反向代理服务器来实现对Tomcat应用服务器的负载均衡和集群配置。 首先,我们需要理解Nginx和Tomcat的角色。Nginx是一款高性能的HTTP和反向代理服务器,常用于处理静态内容和...

    tomcat解决跨域访问问题配置

    tomcat解决跨域访问问题,具体配置如下: 1、修改tomcat下的Conf/web.xml文件,在该文件内容中新增以下配置,注意,若该web.xml中存在其它filter,则需要将该filter放在所有filter前面; <filter-name>...

    配置好的可以共用80的tomcat和nginx

    Tomcat主要负责运行Java Web应用程序,如Servlet和JSP,而Nginx则作为一个前端代理,处理静态资源请求,同时将动态请求转发到Tomcat进行处理。通过这种方式,Nginx可以减轻Tomcat的负担,提高整体性能。 共享80端口...

    SpringBoot2.1.3修改tomcat参数支持请求特殊符号问题

    在开发基于Spring Boot的应用时,有时我们会遇到一个棘手的问题,即当GET请求中的键值对包含特殊字符时,服务器可能会抛出错误。这通常是因为Tomcat服务器默认配置不支持某些特殊字符,如"[\]^`{|}"等。本文将详细...

    tomcat源码解析

    - 请求行:包含请求方法(GET、POST等)、资源路径和协议版本。 - 请求头:包含客户端向服务器发送的元信息,如接受的数据类型、语言偏好等。 - 请求体:包含客户端发送的数据,如表单提交数据。 ##### ...

    nginx实现Tomcat反向代理

    在IT行业中,尤其是在服务器部署和优化领域,Nginx与Tomcat的组合是常见的解决方案,因为它们各自在处理不同类型的请求上具有优势。Nginx以其高性能、低资源消耗著称,适合处理静态内容和反向代理任务;而Tomcat作为...

    tomcat文件上传下载、删除

    在IT行业中,Tomcat作为一款广泛应用的开源Java Servlet容器,经常需要处理文件的上传、下载和删除等操作。本文将详细讲解如何在Tomcat环境中进行这些操作,以及解决可能出现的问题。 首先,我们要理解Tomcat在文件...

    android与tomcat之间的交互

    在Android开发中,有时我们需要构建一个前后端分离的系统,其中Android客户端作为前端,而Servlet作为后端处理逻辑,服务器通常选择Apache Tomcat。本文将详细介绍如何实现Android与Tomcat服务器之间的交互,以及在...

    linux下nginx+tomcat负载均衡配置

    在Linux环境下,构建一个高效的Web服务架构通常会结合Nginx和Tomcat,利用Nginx的反向代理和负载均衡能力,以及Tomcat对于Java应用的出色支持。本配置指南将详细介绍如何在Linux系统中设置Nginx与Tomcat的负载均衡...

    Liunx 下 nginx+tomcat 集群建设

    Nginx以其高性能的反向代理和静态文件处理能力而闻名,而Tomcat作为Java应用服务器,擅长运行Java Servlets和JSP。结合两者,我们可以构建一个强大的Web服务架构。 首先,我们需要理解Nginx的工作原理。Nginx作为一...

    Tomcat+Redis集群所需jar

    在构建高性能、高可用性的Web应用系统时,Tomcat作为流行的Java应用服务器,常常需要与缓存系统结合,以提高数据处理效率。Redis作为一个高效、轻量级的内存数据结构存储,常被用作缓存服务。将Tomcat与Redis集成,...

    nginx_https+tomcat_http配置.docx

    ### Nginx与Tomcat HTTPS至HTTP反向代理配置详解 #### 一、Windows环境下Nginx与Tomcat ...此外,通过调整Nginx的配置参数,还可以进一步优化性能和稳定性。希望这些信息能帮助您顺利完成Nginx与Tomcat的集成配置。

    nginx+tomcat 负载均衡简易配置与动静分离

    Nginx作为一个轻量级的反向代理服务器,通常用于处理静态内容和实现负载均衡,而Tomcat作为Java应用服务器,负责处理动态请求。以下是对这个主题的详细解释: 首先,我们需要安装Nginx。在Linux环境下,这通常通过...

    Apache-Tomcat-8.5.5(Linux )

    Tomcat 8.5.x版本升级变化 By jmatrix_ds | Published 2017 年 1 月 9 日 1. 其中一些重要变化(对HTTP2,SSL支持的改动较多) <1> 不再提供对HTTP BIO,AJP BIO的支持; <2> 重构HTTP upgrade与AJP实现,减少重复;...

    tomcat跨域

    【描述】:本文将深入探讨在 Tomcat 服务器上处理跨域问题的解决方案,包括理解跨域策略和配置 CORS(跨源资源共享)过滤器。 【标签】:Tomcat跨域,CORS 【正文】: 在Web开发中,由于同源策略的限制,浏览器会...

    Nginx负载均衡Tomcat简单配置

    Nginx作为一款高性能的反向代理服务器,常被用来实现对后端多台Tomcat服务器的负载均衡。本篇文章将详细介绍如何配置Nginx实现对多个Tomcat实例的负载均衡。 首先,我们需要了解Nginx的基本工作原理。Nginx通过接收...

    Linux下安装与配置基于nginx的tomcat负载均衡和集群(通过cookie分发请求)

    首先,Nginx是一个高性能的HTTP和反向代理服务器,它能够处理大量的并发连接,同时作为负载均衡器,可以将请求分发到多个后端服务器,如Tomcat实例。Tomcat则是广泛使用的Java Servlet容器,用于运行Java Web应用。 ...

    ngnix+tomcat 负载小例

    【标签】:“源码”和“工具”表明这个示例涉及到了实际操作和可能需要深入理解Nginx和Tomcat的配置文件,以及可能涉及到对源代码的查看和理解。 总结,Nginx+Tomcat的负载均衡配置提供了一种高效且灵活的解决方案...

Global site tag (gtag.js) - Google Analytics