Java 寻找提高JSP性能的方法

Java 寻找提高JSP性能的方法,java,performance,jsp,servlets,jsp-tags,Java,Performance,Jsp,Servlets,Jsp Tags,我有一个用servlet和JSP构建的项目。在该项目中,一个jsp有300个循环来显示一个下拉列表。在该JSP中,最小下拉列表为100。但根据数据,它可能是1000。如果是100,对我来说没问题,但是如果是1000,那么jsp加载需要3到4分钟的时间 任何人都可以帮我找到解决这个问题的方法。我希望这个Jsp最多只能加载1分钟。仅此而已。如果您有一个包含1000个值的select下拉列表,则必须在列表/数组中循环并在JSP中生成选项元素。有几种方法可以做到这一点,例如使用c:forEach,但最终

我有一个用servlet和JSP构建的项目。在该项目中,一个jsp有300个循环来显示一个下拉列表。在该JSP中,最小下拉列表为100。但根据数据,它可能是1000。如果是100,对我来说没问题,但是如果是1000,那么jsp加载需要3到4分钟的时间

任何人都可以帮我找到解决这个问题的方法。我希望这个Jsp最多只能加载1分钟。仅此而已。

如果您有一个包含1000个值的select下拉列表,则必须在列表/数组中循环并在JSP中生成选项元素。有几种方法可以做到这一点,例如使用c:forEach,但最终无法避免运行for循环

看看是否可以允许用户键入几个字符,然后使用AJAX加载过滤结果

另外,从简单的性能角度来看,如果您正在执行一些操作,比如字符串拆分,那么您可以看到这些操作是否可以避免。此外,使用非线程安全集合(如ArrayList)而不是向量可能有助于提高性能

为了提高性能,您可以尝试在单独的测试程序中执行该代码段并对其进行优化


如果您继承了一些代码,其中有人做了一些可怕的事情,例如在JSP中循环使用JDBC ResultSet,那么您可能必须做出决定,看看是否可以进行大量的代码重构来清理页面。

请发布代码。您如何获取数据来填充下拉列表?如果您在下拉列表中硬编码1000个条目,或者使用带有简单虚拟计算的循环,需要多长时间?使用ajax调用在jspI中获取下拉列表值我在下拉列表中没有获取1000个值。我得到1000个不同的下拉列表。创建下拉列表需要1秒。因此,创建1000个不同的下拉列表需要1*1000秒。但我正在寻找一些有助于缩短时间的方法。我正在尝试将jsp文件溢出。我仍然在寻找一些有帮助的溢出文件。它包含最多20项。这里没有问题。为了创建一个下拉列表,我检查了很多条件,将近300个条件,所以构建需要时间。从JSP代码生成50000行HTML几乎不需要10秒。我猜您的“逻辑”代码是瓶颈。你能简化逻辑吗?逻辑代码是否存在其他正常的Java性能问题?为什么要在同一页上显示1000个不同的下拉列表?