Чтобы решить проблему AJP, мы обновили tomcat до v7.0.100 и сконфигурировали файл conf / server. xml в элементе Host, как показано ниже:
<Context docBase="D:\app" path="/" reloadable="true" />
Передние ресурсы, такие как js , html
Но серверная служба API не запускается, и любые запросы возвращают ошибку 404. Catalina.out показывает ниже ошибку:
java.lang.IllegalArgumentException: 创建类型为 [xxx.manager.inter.websocket.service.WebSocketDemo] 的 POJO 实例失败
at org.apache.tomcat.websocket.pojo.PojoEndpointServer.onOpen(PojoEndpointServer.java:60)
at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.init(WsHttpUpgradeHandler.java:135)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:680)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:317)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.InstantiationException
at org.apache.tomcat.websocket.server.DefaultServerEndpointConfigurator.getEndpointInstance(DefaultServerEndpointConfigurator.java:40)
at org.apache.tomcat.websocket.pojo.PojoEndpointServer.onOpen(PojoEndpointServer.java:57)
... 7 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.apache.tomcat.websocket.server.DefaultServerEndpointConfigurator.getEndpointInstance(DefaultServerEndpointConfigurator.java:36)
... 8 more
Caused by: java.lang.NullPointerException
at xxx.common.context.ApplicationContextManagement.getBean(ApplicationContextManagement.java:26)
at xxx.manager.inter.websocket.service.WebSocketDemo.<init>(WebSocketDemo.java:36)
... 13 more
Строка кода 36 в WebSocketDemo. java:
private SpeedService speedService = (SpeedService)ApplicationContextManagement.getBean("speedService");
Мы отладили исходный код Tomcat и обнаружили ошибку в строке 111 в / org / apache / catalina / startup / WebappServiceLoader. java:
Enumeration<URL> resources = ((URLClassLoader) loader).findResources("/" + configFile);