2015-11-13 2 views
0

UPDATE 16Nov: Проблема в том, что пользователи обращаются к недопустимым URL-адресам к xpages, которых не существует. Как я могу поймать их как обычные 404, прежде чем они войдут в полный сброс stacktrace в журнале ошибок? т.е. поймать их, прежде чем они идут в XSPLoader, когда запрашивается старая страница .xsp, журнал заполняется сообщениями об ошибках

например 13/11/15 11:24: Исключение Метательное com.ibm.xsp.page.PageNotFoundException: Не удалось создать страницу /blog2.xsp, потому что класс XSP .Blog2 не удалось найти. Проверьте правильность написания. на com.ibm.xsp.page.compiled.CompiledPageDriver.getClassForPageName (CompiledPageDriver.java:174) в com.ibm.xsp.page.compiled.CompiledPageDriver.loadPage (CompiledPageDriver.java:61) в com.ibm. xsp.application.ViewHandlerExImpl._createViewRoot (ViewHandlerExImpl.java:499) на com.ibm.xsp.application.ViewHandlerExImpl.createViewRoot (ViewHandlerExImpl.java:567) в com.ibm.xsp.application.ViewHandlerExImpl.doCreateView (ViewHandlerExImpl. java: 142) at com.ibm.xsp.application.ViewHandlerEx.createView (ViewHandlerEx.java:90) at com.ibm.xsp.webapp.FacesServlet.serviceView (FacesServlet.java:251) at com.ibm. xsp.webapp.FacesServletEx.serviceView (FacesServletEx.java:157) at com.ibm.xsp.webapp.FacesServlet.serv ice (FacesServlet.java:160) at com.ibm.xsp.webapp.FacesServletEx.service (FacesServletEx.java:138) at com.ibm.xsp.webapp.DesignerFacesServlet.service (DesignerFacesServlet.java:103) at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet (ComponentModule.java:576) at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet (NSFComponentModule.java:1335) at com. ibm.designer.runtime.domino.adapter.ComponentModule $ AdapterInvoker.invokeServlet (ComponentModule.java:853) at com.ibm.designer.runtime.domino.adapter.ComponentModule $ ServletInvoker.doService (ComponentModule.java:796) at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService (ComponentModule.java:565) at com.ibm.domino.xsp.module.nsf.NSFCompone ntModule.doService (NSFComponentModule.java:1319) at com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal (NSFService.java:662) at com.ibm.domino.xsp.module.nsf.NSFService. doService (NSFService.java:482) at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService (LCDEnvironment.java:350) at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service (LCDEnvironment.java:306) at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service (XspCmdManager.java:272) Вызвано: java.lang.ClassNotFoundException: Не удается найти класс xsp.Blog2 в NSF at com.ibm.domino.xsp.module.nsf.ModuleClassLoader $ DynamicClassLoader.findClass (ModuleClassLoader.java:469) at java.lang.ClassLoader.loadClass (ClassLoader.java:672) на com.ibm.domino.xsp.module.nsf.ModuleClassLoader $ DynamicClassLoader.loadClass (ModuleClassLoader.java:348) на java.lang.ClassLoader.loadClass (ClassLoader.java:638) на com.ibm.domino. xsp.module.nsf.ModuleClassLoader.loadClass (ModuleClassLoader.java:176) в java.lang.ClassLoader.loadClass (ClassLoader.java:638) в com.ibm.domino.xsp.module.nsf.ModuleClassLoader.loadClass (ModuleClassLoader.java:186) at com.ibm.designer.runtime.Application.loadClass (Application.java:708) at com.ibm.xsp.library.ApplicationFacesClassLoader.loadClass (ApplicationFacesClassLoader.java:54) at com. ibm.xsp.page.compiled.CompiledPageDriver.getClassForPageName (CompiledPageDriver.java:169) ... 21 еще Причиненный by: java.lang.ClassNotFoundException: xsp.Blog2 at java.net.URLClassLoader.findClass (URLClassLoader.java:434) at com.ibm.domino.xsp.module.nsf.ModuleClassLoader $ DynamicClassLoader.findClass (ModuleClassLoader.java:442) ... 30 еще

Есть ли способ их остановить? Кажется, проблема не в классе. Это почти атака сервера.

ответ

0

Каждый XPage и пользовательский контроль скомпилирован как класс Java, поэтому, если XPage или Custom Control были удалены, то он также удаляет класс Java с тем же именем.

В моих тестах это вызывает ошибку 404, поэтому с вашим приложением что-то не так. Я не могу воспроизвести это сообщение об ошибке, я либо получаю ошибку 404, либо кешированную версию настраиваемого элемента управления. Я бы предложил использовать Project> Clean для полной перекомпиляции проекта.

+0

Чтобы добавить то, что сказал Пол, иногда вам нужно зайти так далеко, как удалить значок, выключив Notes и Designer. Перезапуск добавления значка назад и очистки. –

+0

Я бы рекомендовал обеспечить последнюю версию Domino Designer для лучшей стабильности. В Xsp Properties вы можете настроить приложение для компиляции с более ранней версией Domino, поэтому нет возможности использовать функциональные возможности, добавленные в более позднюю версию. –

Смежные вопросы