如何在jsp文件中显示Java多线程输出
我有一个Java程序,其中包含我自己的线程(start()和run()方法)。代码如下所示:如何在jsp文件中显示Java多线程输出,java,multithreading,jsp,Java,Multithreading,Jsp,我有一个Java程序,其中包含我自己的线程(start()和run()方法)。代码如下所示: public class MyClass { public void threadStart() { Threadone t1 = new Threadone(); t1.start(); } } class Threadone extends Thread { public void run() { String
public class MyClass
{
public void threadStart()
{
Threadone t1 = new Threadone();
t1.start();
}
}
class Threadone extends Thread
{
public void run()
{
String url = "jdbc:mysql://localhost:3306";
String user= "root";
String pwd = "root@123";
String qry = "SELECT Country FROM test.abuse WHERE Priority='High'";
Connection conn = null;
try
{
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url, user, pwd);
ResultSet rs = conn.prepareStatement(qry).executeQuery();
while(rs.next())
{
System.out.println(rs.getString("Country"));
}
}
catch (SQLException | ClassNotFoundException e)
{
e.printStackTrace();
}
}
}
JSP文件:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
MyClass my = new MyClass();
my.threadStart();
%>
</body>
</html>
在此处插入标题
现在,我正在java控制台中显示结果。但我的任务是在jsp文件中显示结果,这可能吗?如果可能的话,如何使用JSP文件(< P>)在网页中打印数据,创建一个共享的集合,如地图或列表。后台线程将填充到共享的集合中,并通过Ajax或其他共享的机制获取。考虑线程安全性,它需要多线程在后台线程时访问集合。正在处理。可能使用ajax?您是否可以在一个jsp页面加载中获得所有控制台输出,或者您需要以交互方式查看线程的工作情况-就像在线程完成每一部分工作后更新jsp一样?是的,我需要在线程完成每一部分工作后更新jsp那么ajax或Websocket就是最好的选择。您需要在客户端创建一些javaScript(在jsp中作为选项),并调用服务器来动态更新前端。服务器端应该包含一些服务servlet来报告线程进度。而且,以反应式的方式做也很好。这里似乎没有什么问题,但我不知道如何使用Javascript。请提供任何解决方案您能简单解释一下吗请创建一个包含您的数据的单例存储。存储方法将存储jsp使用的数据和获取方法。使所有方法都是线程安全的