簡體   English   中英

在JSP中並行化調用的最佳方法是什么?

[英]What's the best way to parallelize calls in JSP?

我對JSP的理解是java代碼中的每一行都是逐步運行的(按順序)。 例如,如果我下面有代碼,則首先執行doSomething("apple")直到返回值,然后再執行doSomething("orange")直到返回值,然后最終執行doSomething("pear")執行直到它返回一個值並顯示整個頁面。

<table border="1">
    <thead>
        <tr>
            <th>Test</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Column A</td>
            <td><%=javaBean.doSomething("apple")%></td>
        </tr>
        <tr>
            <td>Column B</td>
            <td><%=javaBean.doSomething("orange")%></td>
        </tr>
        <tr>
            <td>Column C</td>
            <td><%=javaBean.doSomething("pear")%></td>
        </tr>
    </tbody>
</table>

使這些調用並行的最佳方法是什么,例如同時運行doSomething("apple") & doSomething("orange") & doSomething("pear") 謝謝。

JSP創建動態html。 因此,您實際上是將業務邏輯的結果從javaBean放置到html表中。 因為它是不能並發的,因為您需要將每種方法的結果放入行中。
您應該重新構建代碼,以便計算所需的一切(可能使用並發),然后檢索結果以將它們放在行中。

正如我理解你的問題,你需要為你的方法創建三個任務(三個線程),它將獨立運行,而不管它們的順序是否完成。

您不應該在JSP中執行此操作,它旨在在單個線程中呈現。 如果頁面太慢,則目前的常用方法是使用三個占位符快速加載頁面。 然后用AJAX加載慢速部件。 這些可以並發調用回服務器以加載其余部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM