我们有一个网页,在 glassfish 服务器上运行。在我们的 jsp 文件中,我们有很多包含,如下所示。
<jsp:directive.include file="johndoe/foobar.jspf"/>
根据用户选择包含这些文件。我们的jsp文件基本上是这样的:
<jsp:root version="2.1" xmlns:c="http://java.sun.com/jstl/core_rt"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:webuijsf="http://www.sun.com/webui/webuijsf">
//some unimportant codes here
<c:if test="${sessionScope.loadAvgTest}">
//some unimportant codes here
<f:subview id="reports15">
<jsp:directive.include file="siforms/sysinfoform.jspf"/>
</f:subview>
//some unimportant codes here
<f:subview id="reports16">
<jsp:directive.include file="siforms/sysinfoformscheduled.jspf"/>
</f:subview>
//some unimportant codes here
</c:if>
//some unimportant codes here
<c:if test="${sessionScope.bandwidthTest}">
//some unimportant codes here
<f:subview id="reports17">
<jsp:directive.include file="mailforms/mailfilter.jspf"/>
</f:subview>
//some unimportant codes here
<f:subview id="reports18">
<jsp:directive.include file="mailforms/mailfilterscheduled.jspf"/>
</f:subview>
//some unimportant codes here
</c:if>
....
大约有 80 个这样的 if 语句,每个语句包含 2 个 inculdes。当我删除了很多这些 if 子句并只留下了一些 if 和一些 include 内存使用情况时很好。但是随着我使用更多的 if 子句和更多的内容,内存使用量会增加。有什么想法可以优化代码或如何对 servlet 配置进行配置更改以降低内存使用量?