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

时间:2013-08-30 15:27:06

标签: java servlets cookies weblogic web.xml

我有一个应用程序的fol.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>

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

1 个答案:

答案 0 :(得分:9)

introduced中的<cookie-config>Servlet 3.0,而旧版本(例如2.5)则不支持web.xml。您的web.xml被声明为符合Servlet 2.5。

你有两个选择:

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

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