Weblogic中的web.xml验证由于cookie配置而引发错误



我有一个应用程序的以下web.xml。

<?xml version="1.0"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>..</display-name>
<description>..</description>

<session-config>
    <cookie-config>
        <name>SESSIONDEBUG_JSESSIONID</name>
    </cookie-config>
  </session-config>
</web-app>

我在部署时收到以下错误

Caused By: weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND
problem: cvc-complex-type.2.4a: Expected element 'session-timeout@http://java.sun.com/xml/ns/javaee' instead of 'cookie-    config@http://java.sun.com/xml/ns/javaee' here in element session-    config@http://java.sun.com/xml/ns/javaee:<null>

不确定我是否完全理解这个错误。我看到它想让我在那里声明会话超时。我会试试的。。

<cookie-config>是在Servlet 3.0中引入的,在2.5等旧版本中不受支持。您的web.xml已声明符合Servlet 2.5。

您有两个选项:

  1. 重新声明符合web.xml的Servlet 3.0(它隐含地还需要与Servlet 3.0兼容的目标容器,如Tomcat7、Glassfish 3、WebLogic12等)。

  2. 如果您不能升级,那么就忘记它,并使用自定义servlet过滤器或特定于容器的配置来解决它(例如Tomcat/Joss中的Valve;无法直接回答WebLogic,因为我从未真正使用过它,请考虑为该部分问一个新问题)。

最新更新