我有一个应用程序的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。我试试看......
答案 0 :(得分:9)
introduced中的<cookie-config>
为Servlet 3.0,而旧版本(例如2.5)则不支持web.xml
。您的web.xml
被声明为符合Servlet 2.5。
你有两个选择:
Redeclare Valve
符合Servlet 3.0(隐式还需要Servlet 3.0兼容的目标容器,如Tomcat 7,Glassfish 3,WebLogic 12等)。
如果你无法升级,那就忘记它并使用自定义servlet过滤器或特定于容器的配置解决它(例如Tomcat / JBoss中的{{1}};无法解决问题对于WebLogic,因为我从未真正使用它,请考虑为该部分提出新问题。)