Page editor shows up a blank screen regardless of the Collaborative Editing settings
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
要約
You can open any Confluence page for visualization. However, when you try to edit it, the Page Editor never loads, showing up a blank screen and a loading icon, instead.
This error happens regardless of the Collaborative Editing being enabled or disabled.
環境
Confluence Server
診断
- Application logs are flooded with the following exception:
2020-05-13 22:20:09,529 ERROR [https-jsse-nio-8443-exec-1] [[Standalone].[localhost].[/].[noop]] log Servlet.service() for servlet [noop] in context with path [] threw exception
java.lang.NullPointerException
at com.atlassian.confluence.servlet.rewrite.CachedRewriteMatch.execute(CachedRewriteMatch.java:32)
at org.tuckey.web.filters.urlrewrite.RewrittenUrlClass.doRewrite(RewrittenUrlClass.java:61)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389)
- Tomcat logs shows the following exceptions:
13-May-2020 22:20:10.308 SEVERE [https-jsse-nio-8443-exec-19] org.apache.catalina.core.ApplicationContext.log Servlet.init() for servlet [dispatcher] threw exception
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultServletHandlerMapping' defined in org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.HandlerMapping]: Factory method 'defaultServletHandlerMapping' threw exception; nested exception is java.lang.IllegalStateException: Unable to locate the default servlet for serving static content. Please set the 'defaultServletName' property explicitly.
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:627)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:456)
...
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.HandlerMapping]: Factory method 'defaultServletHandlerMapping' threw exception; nested exception is java.lang.IllegalStateException: Unable to locate the default servlet for serving static content. Please set the 'defaultServletName' property explicitly.
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:622)
... 36 more
Caused by: java.lang.IllegalStateException: Unable to locate the default servlet for serving static content. Please set the 'defaultServletName' property explicitly.
at org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler.setServletContext(DefaultServletHttpRequestHandler.java:110)
at org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer.enable(DefaultServletHandlerConfigurer.java:83)
at org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer.enable(DefaultServletHandlerConfigurer.java:69)
...
org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration$$EnhancerBySpringCGLIB$$27c19b6e.CGLIB$defaultServletHandlerMapping$35(<generated>)
at org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration$$EnhancerBySpringCGLIB$$27c19b6e$$FastClassBySpringCGLIB$$f99b4153.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:363)
at org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration$$EnhancerBySpringCGLIB$$27c19b6e.defaultServletHandlerMapping(<generated>)
- Capturing a HAR file while opening the Page Editor will show up many requests receiving HTTP 500 - Internal Server Error
原因
Tomcat couldn't load the default servlet due to an error in the syntax of the web.xml file.
ソリューション
There are two web.xml files in Confluence. You'll need to check for errors in both of them
- <CONFLUENCE_INSTALL>/conf/web.xml
- <CONFLUENCE_INSTALL>/confluence/WEB-INF/web.xml
If you recently configured Confluence to run using SSL and added a security constraint to redirect all URLs to HTTPS, ensure that the <security-constraint> XML tag was placed in the correct location - before the </web-app> tag.
If you can't identify the error, you can always replace your current web.xml by the default web.xml file from a fresh Confluence install of the same version.