Solution: This happens because DHIS 2 uses brackets in some of their URLs, and because Tomcat version 8.5 later has prohibited the use of brackets in URLs. The DHIS 2 team is working on a change in the API syntax to avoid the use of brackets, and to encode all API request URLs. A short-term fix is to configure Tomcat to allow for brackets through the relaxedQueryChars connector attribute. Open the following file: /tomcat-dir/conf/server.xml and add relaxedQueryChars="[]" to the HTTP connector element: <-Connector protocol="HTTP/1.1" port="8080" relaxedQueryChars="[]" -/>
See detail: https://webmasters.stackexchange.com/questions/119129/dhis-2-web-request-gives-invalid-character-found-in-the-request-target-the-val