Hi leute,
ich hab ein Servlet (Fassade) welche einen privaten Konstruktor hat (Singleton Patten) und einer public Methode um die Instanz zu holen.
Die Fassade hat die üblichen Methoden doGet / doPost etc ... das ging auch bevor ich das Singleton Pattern eingeführt hab.
bisher konnte ich Post daten senden in dem ich als action beim HTML formular action="Fassade" angegeben habe..
jetzt zeigt es mit 404 error an (wenn die Fassade nicht final ist)
wenn die fassade final ist dann
ich hab ein Servlet (Fassade) welche einen privaten Konstruktor hat (Singleton Patten) und einer public Methode um die Instanz zu holen.
Die Fassade hat die üblichen Methoden doGet / doPost etc ... das ging auch bevor ich das Singleton Pattern eingeführt hab.
bisher konnte ich Post daten senden in dem ich als action beim HTML formular action="Fassade" angegeben habe..
jetzt zeigt es mit 404 error an (wenn die Fassade nicht final ist)
wenn die fassade final ist dann
HTTP Status 500 - Error instantiating servlet class fassade.Fassade
type Exception report
message Error instantiating servlet class fassade.Fassade
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Error instantiating servlet class fassade.Fassade
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:74)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1015)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652)
org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1575)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1533)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
root cause
java.lang.IllegalAccessException: Class org.apache.catalina.core.DefaultInstanceManager can not access a member of class fassade.Fassade with modifiers "private"
sun.reflect.Reflection.ensureMemberAccess(Reflection.java:101)
java.lang.Class.newInstance(Class.java:427)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:74)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1015)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652)
org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1575)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1533)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.3 logs.