** Remarques sur la migration de Tomcat 7 vers Tomcat 8 **
Lorsque le japonais était inclus dans le paramètre de requête de GET dans Tomcat7, les caractères étaient déformés. La plage d'influence était trop grande pour définir server.xml sur useBodyEncodingForURI = "true", donc Auparavant, les applications problématiques étaient corrigées individuellement, comme indiqué ci-dessous.
String param = new String(parameter.getBytes("ISO_8859_1"));
Cependant, à partir de Tomcat8, si le support ci-dessus est fourni, les caractères seront déformés et le support n'est plus nécessaire.
Tomcat7: http://tomcat.apache.org/tomcat-7.0-doc/config/ajp.html Tomcat8: http://tomcat.apache.org/tomcat-8.0-doc/config/ajp.html
En comparant les documents, l'explication de ʻURI Encoding` est différente.
Tomcat7
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.
Spécifiez le codage URI du paramètre de requête au moment de GET. ** ISO-8859-1 ** est utilisé si URIEncoding n'est pas spécifié.
Tomcat8
This specifies the character encoding used to decode the URI bytes, after %xx decoding the URL. If not specified, UTF-8 will be used unless the org.apache.catalina.STRICT_SERVLET_COMPLIANCE system property is set to true in which case ISO-8859-1 will be used.
Spécifiez le codage URI du paramètre de requête au moment de GET. ** UTF-8 ** est utilisé si URIEncoding n'est pas spécifié. Cependant, si la propriété système org.apache.catalina.STRICT_SERVLET_COMPLIANCE est définie sur true, ** ISO-8859-1 ** sera utilisé.
Le comportement lorsque URIEncoding n'est pas spécifié a changé.
J'ai essayé de définir la propriété système ʻorg.apache.catalina.STRICT_SERVLET_COMPLIANCEsur
true, mais ʻOrg.apache.catalina.STRICT_SERVLET_COMPLIANCE
semble être une option pour éliminer la différence due au changement de version de Tomcat.
Comme la plage d'influence est trop large, j'ai décidé de spécifier ʻISO-8859-1, qui est la valeur par défaut de Tomcat7, pour ʻURIEncoding
.
conf/server.xml
<Connector port="8080" protocol="HTTP/1.1"
redirectPort="8443"
URIEncoding="ISO-8859-1" />
Recommended Posts