If we extends the RuntimeServlet and change the service method behaviour encoding problem can occurs.
Indeed, request.setCharacterEncoding() may be called after retrieving a parameter setting the request encoding to the default value (latin1 for Tomcat).
The right approach here is to change the service method to final and add a new protected method (like internalService) which can be extended.
This breaks back-compatiblity but is necessary in order to avoid time spent searching encoding problem.