Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
停止以前的搜索而不使用多线程Java?_Java_Javascript_Html - Fatal编程技术网

停止以前的搜索而不使用多线程Java?

停止以前的搜索而不使用多线程Java?,java,javascript,html,Java,Javascript,Html,我有一个网页,允许用户输入搜索条件。在使用get方法提交搜索表单时,控制器类读入搜索参数,将其设置为请求属性,然后返回页面,页面随后调用具有数据库连接和sql查询的java类。我的问题是:当用户决定在当前搜索尚未完成的情况下执行新搜索时,是否有方法在启动新搜索之前终止服务器上的当前搜索。您在此处确实没有提供太多信息。尤其是您并没有编写如何连接到数据库。如果您使用的是JDBC,则可以使用取消执行查询。您还应该在会话中的某个位置保存有关当前正在运行的查询的信息。您需要中断()正在执行搜索的线程,并在

我有一个网页,允许用户输入搜索条件。在使用get方法提交搜索表单时,控制器类读入搜索参数,将其设置为请求属性,然后返回页面,页面随后调用具有数据库连接和sql查询的java类。我的问题是:当用户决定在当前搜索尚未完成的情况下执行新搜索时,是否有方法在启动新搜索之前终止服务器上的当前搜索。

您在此处确实没有提供太多信息。尤其是您并没有编写如何连接到数据库。如果您使用的是JDBC,则可以使用取消执行查询。您还应该在会话中的某个位置保存有关当前正在运行的查询的信息。

您需要
中断()
正在执行搜索的线程,并在执行操作的过程中-承认搜索线程正在执行一些
线程。sleep()
(最终您应该添加这些操作)-线程将被一个
InterruptedException
中断,您应该处理该异常以中断搜索处理

不过,您仍然需要将
Thread.currentThread()
保存在某个地方(即会话中),以便通过第二个线程检索引用

它不是琐碎的,也不是很干净;因为您需要在搜索逻辑中放置一些中断点(即前面提到的
Thread.sleep()
),并正确处理
InterruptedException


当然,更简单的方法是忽略前一个线程仍在运行并执行新的搜索。

这是Java还是Javascript的问题?这两种语言完全不同。我希望网页上没有直接连接到数据库的Java小程序。。。