首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一次由一个客户端访问

一次由一个客户端访问
EN

Stack Overflow用户
提问于 2009-02-25 08:03:20
回答 5查看 130关注 0票数 0

我的要求如下。

我有一个用java开发的web应用程序。

我在html页面上有个链接。当第一个客户端单击html页面中的submit按钮时,批处理文件应该会运行。

同时,当另一个客户端单击submit按钮时,他应该会得到页面正忙的消息。

如果第一个客户端单击release按钮,则其他客户端必须能够运行批处理文件。

我该怎么做呢?

EN

回答 5

Stack Overflow用户

发布于 2009-02-25 08:16:31

单击submit按钮时设置一个标志,单击release按钮时清除该标志。

根据您的体系结构,标志可以是代码中的布尔变量、数据库中某处的特殊条目或临时文件中的任何内容。

单击submit按钮时,检查该标志是否已设置。如果是,则返回一条错误消息,指出该页正忙。

在伪代码中:

代码语言:javascript
运行
复制
if (flagIsSet()) {
  showPageIsBusy();
} else {
  setFlag();
  startBatchFile();
}

请记住,当批处理文件完成或单击release按钮并位于finally块中的某个位置时,要清除该标志。

您还必须确保只有启动批处理文件的客户端才能释放它并清除该标志。

正如Avi在评论中指出的那样,您还应该记住同步对标志的访问。

票数 1
EN

Stack Overflow用户

发布于 2009-02-25 08:18:54

伪算法:

修改批处理文件以在批处理操作之前和之后运行servlet。

在运行批处理文件之前,设置将注册正在执行的文件或数据库或会话变量的servlet或标志,并在批处理文件完成时设置将注册正在释放的文件或数据库或会话变量的servlet或标志

当用户单击release按钮时,运行将重新发布标志的同一个servlet。

当用户提交submit按钮时,检查该标志是已执行还是已释放,这取决于您向客户端发出的警报。

票数 0
EN

Stack Overflow用户

发布于 2009-02-25 08:33:29

您可以在servlet类中使用一个字段(否则是一个大的nono )作为标志。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/585108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档