由于cookie-config,Weblogic中的web.xml验证会引发错误

use*_*723 7 java cookies web.xml servlets weblogic

我有一个应用程序的follwing 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>
Run Code Online (Sandbox Code Playgroud)

部署时出现以下错误

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>
Run Code Online (Sandbox Code Playgroud)

不确定我完全理解错误.我看到它要我在那里声明session-timeout.我试试看..

Bal*_*usC 10

<cookie-config>介绍的Servlet 3.0和老版本如2.5不支持.您web.xml的声明符合Servlet 2.5.

你有两个选择:

  1. Redeclare web.xml符合Servlet 3.0(隐式地还需要Servlet 3.0兼容的目标容器,如Tomcat 7,Glassfish 3,WebLogic 12等).

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

  • 它仍然在Weblogic 12.1上失败.至少某些WL12.1版本的Servlet 3实现是不完整的. (2认同)