我有一个网站的主页和搜索文本和按钮和5-6个标签。根据搜索文本,选项卡将有独立的服务调用(对后端的API调用)。每个选项卡都会有不同的数据。单击搜索后,我计划获取一个选项卡的数据并将其加载到UI中,然后让其他选项卡的数据在后台加载。
我计划使用Spring MVC来完成这项任务,但我不确定spring是否支持这种并行服务调用。
有没有其他框架可以做到这一点?
任何提示都会很有帮助。
发布于 2014-06-11 13:47:26
Spring MVC可以做到这一点。因为它可以处理并行请求(它不会关心它们来自同一个客户端)。
“问题”是让客户端发送这种并行请求(每个选项卡一个)。
发布于 2014-06-11 13:59:34
独立于
的服务调用(后台API调用)
我猜,您谈论的是Ajax请求(HTTP)。
所有的Java web框架(当然还有SpringFramework MVC)都是基于HttpServlet使用的。你也可以阅读JSR-315 specification。
重要的是,每个servlet请求都在单独的线程中运行。线程创建是由servlet容器(tomcat、GlassFish、Jetty等)执行的,因此您不需要手动创建线程。
所以答案肯定是肯定的。
关于其他框架,请参考the list in wiki。
UPD。关于客户端。根据定义,Ajax请求是异步的,因此很容易实现并行请求。
关于如何在客户端(Jquery)进行并行调用的小而快速的示例:
<script type="text/javascript">
$( document ).ready(function() {
$("#searchButton").click(function(){
var pattern = $("#searchText").val();
var processingMap = [
{tabid:"tab1", url:"./first-api-call"},
{tabid:"tab2", url:"./second-api-call"},
{tabid:"tab3", url:"./third-api-call"},
{tabid:"tab4", url:"./fourth-api-call"},
{tabid:"tab5", url:"./fifth-api-call"}
];
$(processingMap).each(function(index, element){
$.ajax(element.url,{
'type':'get',
'data':{'pattern':pattern},
'dataType':'text',
'success':function(data, textStatus, jqXHR){
setTabContent(element.tabid,data);
}
});
});
});
function setTabContent(tabid, content){
$('#'+tabid).text(content);
}
});
</script>
<input type="text" value="" id="searchText">
<input type="button" value="Search" id="searchButton">
<div id="tab1">tab1</div>
<div id="tab2">tab2</div>
<div id="tab3">tab3</div>
<div id="tab4">tab4</div>
<div id="tab5">tab5</div>
https://stackoverflow.com/questions/24154084
复制相似问题