Tomcat 默认是用 ISO-8859-1 处理URI中的参数
所以,如果URI参数中含UTF-8编码的话,如果直接读取会出现乱码。
两个解决办法 :
1. 改配置,在tomcat的server.xml 的connector中加入URIEncoding="UTF-8"
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" compression="on" compressionMinSize="50" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" URIEncoding="UTF-8" />
2. 或者改程序,对接受到的参数进行转换
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //.... String value=req.getParameter(key).getBytes("ISO-8859-1"),"UTF-8") //... }
相关推荐
server.tomcat.uri-encoding=UTF-8 这将设置SpringBoot项目的字符编码为UTF-8,解决乱码问题。 2. Maven插件配置 在pom.xml文件中添加以下配置: <groupId>org.springframework.boot <artifactId>spring-...
《如何让Tomcat工作:中文版(源码)》是一份深入探讨Web服务器Tomcat工作原理的资源,其中包含了详细的理论讲解以及配套的源码分析。这份资料旨在帮助读者理解Tomcat内部机制,从而能够更好地优化和调试应用程序。 ...
在本示例代码中,我们将 Tomcat 服务器的端口号设置为 15435,基础目录设置为当前目录下的 server 文件夹,并将 URI 编码设置为 UTF-8。 知识点 4: Tomcat 服务器的生命周期 Tomcat 服务器的生命周期主要包括启动...
- **修改URI组件**:你可以单独修改URI的任何部分,如更改路径、添加或删除查询参数、更新主机名等,然后重新组合成一个新的URI字符串。 - **规范化和比较URI**:Uri库支持URI的规范化,确保相同含义的URI以相同的...
在进行Web应用开发时,尤其是涉及到用户授权与第三方服务集成的部分,我们经常遇到"redirect_uri参数错误"这类问题。这通常发生在使用OAuth2.0授权协议进行身份验证和权限获取时。OAuth2.0是一种广泛使用的开放标准...
这篇博客文章可能探讨了在Tomcat和WebSphere AS 7中使用`javax.servlet.forward.request_uri`属性时的行为差异。在Servlet规范中,当一个请求被转发到另一个内部资源时,这个属性用于保留原始请求的URL,以便后续...
博客中的源码可能涵盖了如何解析Uri,提取查询参数,以及通过Uri与ContentProvider进行数据交互的过程。例如,使用`Uri.withAppendedPath()`添加路径,使用`Uri.encode()`和`Uri.decode()`进行URL编码解码。 7. **...
- URI映射配置:`[uri:/*.jsp] group=lb:lb1` 2. **第一个Tomcat的JK2配置文件jk2.properties**: - 文件位于第一个Tomcat安装目录下的`conf`目录中。 - 主要配置项为`channelSocket.port=11009`,用以指定与...
在Android开发中,ContentProvider和Uri是两个至关重要的概念,它们是Android系统中不同应用程序间数据共享和交互的基础。本文将深入探讨这两个组件的工作原理、使用方法以及它们在实际开发中的应用。 首先,我们来...
这里,“searchString”参数用于指定搜索关键词。需要注意的是,在调用`startActivity(intent)`之前必须确保当前设备已安装支持此动作的应用程序,否则会抛出异常。 ### 2. 打开网页 使用`ACTION_VIEW`动作结合...
例如,增加`maxThreads`参数以提高并发处理能力,或者设置`useURIValidationHack`为`false`以减少URI解析的性能开销。同时,合理配置内存大小(通过JVM启动参数 `-Xms` 和 `-Xmx`)也至关重要,确保服务器有足够的...
【标题】"tomcat6到8windows版本.zip" 涵盖了三个不同版本的Apache Tomcat,分别是Tomcat 6、Tomcat 7和Tomcat 8.5,这些都是针对Windows操作系统设计的64位版本。Apache Tomcat是一款开源的Java Servlet容器,主要...
另外,提到的`maxSpareThreads`、`maxProcessors`和`minProcessors`等参数在不同版本的Tomcat中有变化,它们在Tomcat5及更早版本中存在,但在Tomcat6和7中已被废弃或替换,因此在优化时无需考虑这些参数。...
**Tomcat8和Tomcat10**是Apache Tomcat服务器的两个不同版本。Tomcat8是一个流行的开源Servlet容器,支持Java EE 7规范。而Tomcat10则是为Java EE 8和Java EE 9规范设计的,尽管这两个版本的Tomcat在功能上有所增强...
1. 创建请求对象并填充与请求相关的各种信息,例如参数、头信息、cookies、查询字符串、URI等。请求对象是javax.servlet.ServletRequest接口或javax.servlet.http.HttpServletRequest接口的一个实例。 2. 调用...
1. **参数检查**:首先检查传入的`Uri`是否为空,如果为空则直接返回`null`。 2. **提取URI的Scheme**:通过调用`getScheme()`方法获取`Uri`的scheme部分。这一步非常重要,因为根据不同的scheme,处理的方式也会...
基本上,一个Servlet容器为服务一个Servlet请求,主要完成以下三件事:首先,创建一个请求对象,并填充可能被调用的Servlet使用的各种信息,如参数、头信息、cookies、查询字符串、URI等。请求对象是javax.servlet....
**uriworkermap.properties**:这个文件定义了URI到worker的映射,决定了哪些URL请求会被发送到哪个Tomcat实例处理。 **本机8080.url、本机.url、c.com.url**:这些可能是书签文件,用于快速访问配置在不同端口或...