Fix #23580 Refer to parameter-encoding only if charset is not specified.

Signed-off-by: hs536 <sawamura.hiroki@fujitsu.com>
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/connector/Request.java b/appserver/web/web-core/src/main/java/org/apache/catalina/connector/Request.java
index 3c3eb63..6f766ea 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/connector/Request.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/connector/Request.java
@@ -704,17 +704,20 @@
             if (p != null) {
                 hostValve = p.getBasic();
             }
-            try {
-                String reqEncoding = this.servletContext.getRequestCharacterEncoding();
-                if (reqEncoding != null) {
-                    setCharacterEncoding(reqEncoding);
+            String charsetEncoding = getCharacterEncoding();
+            if (charsetEncoding == null) {
+                try {
+                    String reqEncoding = this.servletContext.getRequestCharacterEncoding();
+                    if (reqEncoding != null) {
+                        setCharacterEncoding(reqEncoding);
+                    }
+                    String resEncoding = this.servletContext.getResponseCharacterEncoding();
+                    if (resEncoding != null) {
+                        getResponse().getResponse().setCharacterEncoding(resEncoding);
+                    }
+                } catch(UnsupportedEncodingException e) {
+                    throw new RuntimeException(e);
                 }
-                String resEncoding = this.servletContext.getResponseCharacterEncoding();
-                if (resEncoding != null) {
-                    getResponse().getResponse().setCharacterEncoding(resEncoding);
-                }
-            } catch(UnsupportedEncodingException e) {
-                throw new RuntimeException(e);
             }
         }
         // START GlassFish 896