停止以前的搜索而不使用多线程Java?
我有一个网页,允许用户输入搜索条件。在使用get方法提交搜索表单时,控制器类读入搜索参数,将其设置为请求属性,然后返回页面,页面随后调用具有数据库连接和sql查询的java类。我的问题是:当用户决定在当前搜索尚未完成的情况下执行新搜索时,是否有方法在启动新搜索之前终止服务器上的当前搜索。您在此处确实没有提供太多信息。尤其是您并没有编写如何连接到数据库。如果您使用的是JDBC,则可以使用取消执行查询。您还应该在会话中的某个位置保存有关当前正在运行的查询的信息。您需要停止以前的搜索而不使用多线程Java?,java,javascript,html,Java,Javascript,Html,我有一个网页,允许用户输入搜索条件。在使用get方法提交搜索表单时,控制器类读入搜索参数,将其设置为请求属性,然后返回页面,页面随后调用具有数据库连接和sql查询的java类。我的问题是:当用户决定在当前搜索尚未完成的情况下执行新搜索时,是否有方法在启动新搜索之前终止服务器上的当前搜索。您在此处确实没有提供太多信息。尤其是您并没有编写如何连接到数据库。如果您使用的是JDBC,则可以使用取消执行查询。您还应该在会话中的某个位置保存有关当前正在运行的查询的信息。您需要中断()正在执行搜索的线程,并在
中断()
正在执行搜索的线程,并在执行操作的过程中-承认搜索线程正在执行一些线程。sleep()
(最终您应该添加这些操作)-线程将被一个InterruptedException
中断,您应该处理该异常以中断搜索处理
不过,您仍然需要将Thread.currentThread()
保存在某个地方(即会话中),以便通过第二个线程检索引用
它不是琐碎的,也不是很干净;因为您需要在搜索逻辑中放置一些中断点(即前面提到的Thread.sleep()
),并正确处理InterruptedException
当然,更简单的方法是忽略前一个线程仍在运行并执行新的搜索。这是Java还是Javascript的问题?这两种语言完全不同。我希望网页上没有直接连接到数据库的Java小程序。。。