Tomcat中的server.xml中的URIEncoding属性的设置?

问题描述

如果设置了其为中文编码格式,只对get方法有效,但是post方法就不可以了,因为这个属性本来就是设置了get时候的数据编码,如何使它对post也有作用呢?

解决方案

引用This specifies the character encoding used to decode the URI bytes, after %xx decoding the URL. If not specified, ISO-8859-1 will be used. 官方文档中的说明,该编码指定的是为URI进行解码用的,只对GET请求有效,POST请求参数是以http body形式提交的,不会受此影响。如果需要对POST指定编码,你可以使用EncodingFilter这样是实现,比如spring就提供了一个。
解决方案二:
<filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf8</param-value> </init-param> </filter>放在所有filter的第一个就好了
解决方案三:
post数据只需要在截取或者过滤器中实现编码转换一般就不会有问题,而get,通过地址栏提交,这种方式在本质上就容易出现编码问题。这个其实也是为什么我们经常说post提交数据安全完整的原因。你看UrIEncoding这个属性的意思就是UrI的编码,刚好是针对get这种地址参数的。所以基本上不用考虑对post起作用。
解决方案四:
你可以在它里面加个 字符过滤器,spring 有个现成的,见下面的贴子:http://www.blogjava.net/supercrsky/articles/178219.html我以前做JavaEE开发的时候,这个过滤器经常用

时间: 2024-09-21 04:10:03

Tomcat中的server.xml中的URIEncoding属性的设置?的相关文章

如何获取tomcat虚拟目录中的 绝对路径即docBase (server.xml中配置的)

问题描述 本人为了是文件上传存放路径和工程不在同一个目录下,固例外设置一个目录(E:UploadFile)专门用来存放我上传文件,为了访问方便固在tomcat中的 server.xml 中配置 如下: <Context path="/UploadFile" docBase="E:UploadFile" reloadable="true"/> 现在我有一个工程(webmsgr) 部署 tomcat 的 webapps 下,现在我想在we

tomcat的server.xml中加入URIEncoding以后,网页打开巨慢,到底是怎么回事?

问题描述 tomcat的server.xml中加入URIEncoding以后,网页打开巨慢,到底是怎么回事? 从mysql中读出100行数据,显示在网页上,由于每一条做成能修改的形式,需要加个href传参数 跳转到下一个jsp要用,如果参数有中文的话,到下一个页面就是乱码,解决方法在tomcat的server.xml中加入URIEncoding=utf-8,加完以后,有时能打开网页,有时打不开,不知道是怎么回事? 解决方案 可以用post或者乱码编码,乱码解码. 解决方案二: get byte也

server.xml 中各个域的说明

server|xml <Server>元素它代表整个容器,是Tomcat实例的顶层元素.由org.apache.catalina.Server接口来定义.它包含一个<Service>元素.并且它不能做为任何元素的子元素. <Server port="8005" shutdown="SHUTDOWN" debug="0"> 1>className指定实现org.apache.catalina.Server接

path-在tomcat的conf的server.xml中配置应用的虚拟路径为什么不行

问题描述 在tomcat的conf的server.xml中配置应用的虚拟路径为什么不行 但是如果直接放到webapps中就能够打开了,这是怎么回事呢? 解决方案 ew 当转义字符处理了? 解决方案二: 除了设置路径还要把原来的默认发布目录下的文件拷贝一份到你设置的虚拟目录下 解决方案三: 所谓的虚拟目录指的是tomcat会将那个目录当成项目来发布 解决方案四: tomcat虚拟目录设置 在tomcat6版本中: 1.[官方文档]本人不推荐. 在tomcatconf下server.xml中找到 u

应用-安卓开发中,AndriodManifest.xml中的manifest的标签中的内容放在哪里?

问题描述 安卓开发中,AndriodManifest.xml中的manifest的标签中的内容放在哪里? 就是说,我用eclipse创建了一个安卓应用程序. 若我要修改标签的android:name,书上写"可通过这样来设置Activity 对象的类名称,但类的路径必须是标签中的包路径所指定的路径范围".然后 我找到了标签,其中有一句"package =com.example.test1"(我这个安卓应用程序 的名字是test1,那么怎么查看其所指定的范围? 另外又

eclipse rcp-eclipse RCP开发中如何在Activator中获取plugin.xml中配置的action

问题描述 eclipse RCP开发中如何在Activator中获取plugin.xml中配置的action action是在extensions里重写eclipse提供的标准扩展点:org.eclipse.ui.actionSets.想在Activator中获取此action对象并调用setEnable()方法,达到控制按钮的可用和禁用状态.望各位大神帮忙! 解决方案 目前我也不会,但是需要积分

ASP.net中后台从xml中读取数据

问题描述 ASP.net中后台从xml中读取数据 ASP.net中后台从xml中读取数据,数据通过前台显示出来 解决方案 http://blog.csdn.net/qinghecool/article/details/3549764 解决方案二: http://guangquanzhu.blog.163.com/blog/static/112084455201331034415744/ 解决方案三: 写个httpHandler程序,返回xml,然后页面通过ajax调用,解析xml数据.

Spring中引用不同xml中的bean

想要在Spring-Common.xml中引用 Spring-Output.xml中定义的bean 需要使用<ref bean="XXX"/>标签,如果是同一个xml文件中引用则使用<ref local="XXX"/>标签. package com.spring.output; public class OutputHelper { IOutputGenerator outputGenerator; public void generateO

tomcat虚拟主机server.xml引入子文件配置教程

在配置tomcat虚拟主机时候,如何每一个虚拟主机写成单独文件,server.xml包含这些子文件? 如以下<OneinStack>中,添加JAVA环境虚拟主机后tomcat配置文件详情: /usr/local/tomcat/conf/server.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE server-xml [ <!ENTITY localhost-vhost S