从服务器发送数据的最佳方式

时间:2018-04-23 17:11:31

标签: java android mysql database

现在SQL查询的结果在System.out.println(),

public class MyMain{

public static void main(String[] args) throws Exception  {

    Class.forName("com.mysql.jdbc.Driver");

    Connection con = DriverManager.getConnection("jdbc:mysql://______8080/test-app","______","______");

    PreparedStatement statement = con.prepareStatement("SELECT * FROM users");

    ResultSet result = statement.executeQuery();

    while(result.next()){
        System.out.println(result.getString(1)+ " "+result.getString(2));
    }
}

但如何将结果发送给客户?像图像或smth。我应该使用“return”+“FileOutputStream”?但是如果是大数据则安全吗? 我可以在服务器端包装SQL结果,然后在bytearray中发送它,但是如何在http中发送它

UPD image

1 个答案:

答案 0 :(得分:1)

好的,你可能会有点混乱。您将显示连接到数据库的Java程序。你需要拥有的是:

  • 在Android设备上运行的Java程序(1),连接到...
  • 在服务器上运行的服务器程序(2),连接到...
  • 存储数据的数据库(3)(相同或其他服务器)。

你需要三件事。你看得好吗?

现在,Java程序(1)使用某种网络协议连接到(2)某些域名/ IP地址端口。很可能它会是某种类型的HTTP或HTTPS,但也可能是UDP或其他任何东西。

服务器程序在端口上侦听以获取请求,并连接到数据库以检索数据。一旦检索到,它就会在同一个端口上响应。

您刚刚编写的程序看起来像是服务器程序的基础(2)。您需要添加网络侦听器部分。然后你可以编写你的客户端程序,调用这个程序(最有可能通过HTTP)。