我有一个用servlet和JSP构建的项目。在该项目中,一个具有300个循环的jsp显示单个下拉列表。在那个JSP中,min下拉是100.但是依赖于数据它可能是1000.如果它100对我来说没问题但是如果它是1000则jsp加载花费时间3到4分钟。
任何人都可以帮我找到解决方法。我希望这个Jsp只能加载最多1分钟。不止于此。
答案 0 :(得分:0)
如果您有一个包含1000个值的select
下拉列表,则必须遍历列表/数组并在JSP中生成option
个元素。有几种方法可以做到这一点,例如使用c:forEach,但最终运行for
循环不能避免。
查看是否允许用户键入几个字符,然后使用AJAX加载过滤后的结果。
此外,从简单的性能角度来看,如果您正在进行String
分割等操作,您可以看看是否可以避免这些操作。此外,使用像ArrayList
(而不是Vector
)这样的非线程安全集合可能有助于提高性能。
要提高性能,您可以尝试在单独的测试程序中执行该代码段并对其进行优化。
如果你继承了代码,其中有人做了一些可怕的事情,例如在JSP中循环使用JDBC ResultSet,你可能需要做出决定,看看你是否可以做大量的代码重构来清理页。