Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在web.xml中添加条件_Java_Jakarta Ee_Servlets_Web Applications_Web.xml - Fatal编程技术网

Java 在web.xml中添加条件

Java 在web.xml中添加条件,java,jakarta-ee,servlets,web-applications,web.xml,Java,Jakarta Ee,Servlets,Web Applications,Web.xml,这是my web.xml的一部分 <error-page> <error-code>500</error-code> <location>/index</location> </error-page> 500 /索引 有没有办法告诉web.xml文件在开发模式下: /displayException 对于上述位置属性 或者通过代码添加条件 尝试这样做的目的是:在开发模式下,我希望在页面中

这是my web.xml的一部分

    <error-page>
    <error-code>500</error-code>
    <location>/index</location>
    </error-page>

500
/索引
有没有办法告诉web.xml文件在开发模式下:

/displayException

对于上述
位置属性

或者通过代码添加条件


尝试这样做的目的是:在开发模式下,我希望在页面中看到异常,在实时模式下,当异常发生时,我希望将他重定向到默认页面。

您不能在
web.xml
级别执行此操作。如果
web.xml
尊重系统属性,但不尊重系统属性,那么这可能是一个很酷的特性

所以你们唯一的方法就是用代码来做。幸运的是,你有各种各样的可能性。您可以将错误URL映射到JSP,在JSP中,您可以根据系统属性或存储在属性文件DB中的其他参数实现逻辑,也可以映射到您想要的位置。您也可以在HTTP筛选器中执行此操作


您还可以创建web.xml的多个版本:一个用于生产,另一个用于测试。若要避免重复,请使用“从模板自动生成”创建这些版本

在Wildfly中,有一种不可移植的方法可以在web.xml(以及其他类似persistence.xml)中启用系统属性评估。为此,请在
ee
子系统的服务器配置(standalone.xml或其他)中指定以下内容:

<subsystem xmlns="urn:jboss:domain:ee:2.0">
    <spec-descriptor-property-replacement>true</spec-descriptor-property-replacement>
    <!-- ... -->
</subsystem>

真的
然后你可以这样做:

<location>${myapp.errorpage.location}</location>
${myapp.errorpage.location}

您可以在错误或位置页面中使用if语句
web.xml
不支持if语句

//error page
if("blog".equals(url))
    blog content ......
else if("profile".equals(url))
    profile content ......
您的web.xml的多个版本都可以做到这一点。因为有很多这样的更改。谢谢//错误页面if(“blog.equals(url))blog内容。。。。。。否则如果(“profile.equals(url))配置文件内容。。。。。。