问题是第一次,加载页面需要花费更多时间,我想减少加载时间。 实际上,在jsp中有5个单选按钮,其中每个按钮数据的onclick将从数据库加载。 从技术上讲,控制器调用dao,在dao函数中调用与每个单选按钮相关的5个程序。
所以,我计划使用听众,或者ajax会很好,或者还有其他更好的选择来提高性能,然后是如何实现。
答案 0 :(得分:2)
你真的需要在时间成熟的地方找工作。
是在你的javascript,网络,DAO课程还是数据库中?
解决方案将取决于问题的确切性质,最可能的罪魁祸首是网络和/或您的DOA类使得数据库的使用效率低下(礼貌地说废话SQL :-))。
您可以尝试使用初始请求发送第一个(默认)单选按钮的数据,以便为用户提供响应更快的系统的印象。
答案 1 :(得分:0)
如果我说得对,那么你的手术时间会消耗殆尽。如果你的存储过程花费时间,最好使用你的ajax回调。
同样,这取决于用户是否可以在等待时间内与您的网络应用中的其他功能进行互动,否则回调就没有意义。
您必须根据要求决定您的设计。
答案 2 :(得分:0)
使用ajax阻止更多来电。
用于单选按钮 看看你是否可以减少函数调用。(合并函数/使用更多条件),运行你的函数可能会花费更多的时间......
答案 3 :(得分:0)
“控制器调用dao,在dao函数中调用与每个单选按钮相关的5个过程。”这听起来像是运行这些进程的5个线程,当然这些进程不会阻塞彼此。首先需要对此进行调查。
如果没有阻止或其他可能的并发问题,我建议您使用Future http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html
每个未来都将在新线程中开始,一旦完成将调用回调。因此,只要您的5个流程完成,您就可以渲染视图。这个处理paralel的5个流程将使您的全局流程快5倍。