我创建了一个带有数据库连接的jsp页面。这个页面有html内容和java编程。我的数据库包含一个ip地址列表。
我的java代码获取每个IP地址并检查它是否当前在网络上存活。所以我的jsp页面只有在这个java代码对所有ip地址执行检查之后才加载。这就是为什么我的页面加载很晚。
对此有任何补救措施,以便我的页面加载更快吗?
答案 0 :(得分:0)
我认为有两个问题:
答案 1 :(得分:0)
您可以将db中的所有IP地址加载到ArrayList中,并将所有活动的ips加载到另一个ArrayList中并比较这两个数组。这应该快得多。
答案 2 :(得分:0)
将JSP与Java代码分离是一种最佳实践,但我在此处描述的思想更普遍地是将数据的检索和更新与数据呈现分开,这是一个常见的问题需要解决。
您需要做的是将所有网络调用的java代码与正在呈现的JSP分开。您可以让网络调用全部在一个线程中运行,每分钟或每隔几分钟检查一次地址,并使用状态更新每个地址的数据库记录。然后,当调用JSP时,JSP只会从数据库中获取最新数据并显示它(这应该是JSP的使用方式)。
现在,有很多方法可以实现这一目标。如果我自己这样做,我会使用Spring Framework并将网络调用代码放在用@Scheduled注释的方法中,并且可以从该方法完成网络调用和数据库更新。有关如何使用Spring的详细信息超出了本答案的范围,但希望这可以让您了解整体方法,以及可以开始研究的一种技术。
答案 3 :(得分:0)
- 您只应该使用IP列表加载JSP页面,加载后,您可以使用AJAX请求获取IP地址状态。
- 早先提到过缓存状态的想法很棒。
- 您还可以改进界面(分页,延迟加载列表等)以减少检查IP地址的数量。