当前位置: 首页 > 知识库问答 >
问题:

Tomcat应用程序无法部署strict_servlet_compliance=true

姜良哲
2023-03-14

我试图通过更新apache-tomcat-8.0.39\conf\catalina.properties在带有选项strict_servlet_compliance=true的Tomcat 8.0.39上部署一个应用程序,但一旦我这样做,我的应用程序部署就失败了。也就是说,我开始出现错误:SEVERE[localhost-startStop-1]org.apache.tomcat.util.digester.digester.Error对applications web.xml文件中所有标记的解析错误。

其中一个堆栈跟踪如下所示:

1)在catalina.properties中添加了以下内容:

org.apache.catalina.STRICT_SERVLET_COMPLIANCE=true
org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR=false

2)更新了代理WAR web.xml文件将web-app_3_0.xsd更新为web-app_2_5.xsd将version=“3.0”更新为version=“2.5”

我还尝试将“web-app”标记条目从apache-tomcat-8.0.39\conf\web.xml复制到我的应用程序web.xml中,但没有用。

3)尝试将以下值设置为各自的默认值[作为设置

org.apache.catalina.STRICT_SERVLET_COMPLIANCE=true changes these defaults]
org.apache.catalina.core.ApplicationContext.GET_RESOURCE_REQUIRE_SLASH
org.apache.catalina.core.ApplicationDispatcher.WRAP_SAME_OBJECT
org.apache.catalina.core.StandardHostValve.ACCESS_SESSION
org.apache.catalina.session.StandardSession.ACTIVITY_CHECK
org.apache.catalina.session.StandardSession.LAST_ACCESS_AT_START
org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING

The **URIEncoding** attribute of any HTTP connector or AJP connector element.
The **resourceOnlyServlets** attribute of any Context element.
The **tldValidation** attribute of any Context element.
The **useRelativeRedirects** attribute of any Context element.
The **xmlNamespaceAware** attribute of any Context element.
The **xmlValidation** attribute of any Context element.

问候你,布佩什

共有1个答案

洪增
2023-03-14

我也遇到了这个问题。我们工作的环境要求将STRICT_SERVLET_COMPLIANCE设置为true,但web.xml的验证不是该要求背后的驱动力。要解决这个问题,请尝试在conf/context.xml的标记中将xmlValidation设置为false:

<Context xmlValidation="false"> ... </Context>
 类似资料:
  • 我无法在Tomcat 6上部署Grails 2.2.4应用程序。我尝试了新安装的tomcat,甚至我的应用程序的旧版本(以前运行过)。 此异常在一分钟后引发。在tomcat启动后: 我真的不知道从哪里开始修理它-/

  • 完成干净的构建后,我将war文件复制到Tomcat的文件夹中。但是部署会发生两次,并且在上下文已经存在的情况下以异常结束。我错过了什么? 非常感谢您的帮助。

  • 我试图将spring boot应用程序部署到外部tomcat,在catalina.log文件中出现如下异常。 war文件名为:com#myapp.war。

  • 我在将spring boot应用程序部署到tomcat时遇到了问题,尽管在IDE中工作得很好。我按照https://docs.spring.io/spring-boot/docs/current/reference/html/howto-tegratic-deployment.html中的说明进行了操作 更详细的结构: mvn clear包给出错误:

  • 每次我尝试在netbeans上部署web应用程序时,都会出现以下错误:\ C: \Users{myname}\Documents\NetBeansProjects\WebApplication2\nbproject\build impl。xml:1045:模块尚未部署。有关详细信息,请参阅服务器日志。 问题是,apache日志中没有错误! 我已经卸载了我的netbean并重新安装它,但问题仍然存在

  • 基本上,我想使用spring boot auto配置数据源相关功能,并希望将spring boot应用打包到一个war,并部署到Tomcat。 github URL:https://github.com/oneslideicywater/customlizeofkakahair运行MVN构建后,我跳过测试,将部署到TomCat,重新启动它,然后在STS IDE中运行应用程序时,一切都很好。但是会发