Advertisement
Guest User

весь код

a guest
Sep 5th, 2016
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.63 KB | None | 0 0
  1. /**
  2. * Created by BUHARIN on 04.09.2016.
  3. */
  4. import java.io.*;
  5.  
  6. import java.net.*;
  7. import java.sql.*;
  8. import java.util.ArrayList;
  9.  
  10. class ServeOneJabber extends Thread {
  11. private Socket socket;
  12. private BufferedReader in;
  13. private PrintWriter out;
  14. private Connection conn;
  15. private Statement stat;
  16. ResultSet rs;
  17. public ObjectOutputStream oos;
  18.  
  19. public ServeOneJabber(Socket s) throws IOException, ClassNotFoundException, SQLException {
  20. Class.forName("org.postgresql.Driver");
  21. conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgres", "postgres", "1");
  22. stat = conn.createStatement();
  23. stat.execute("SELECT * FROM \"public\".\"KBK\";");
  24. rs = stat.executeQuery("SELECT * FROM \"public\".\"KBK\";");
  25. socket = s;
  26. in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  27. oos = new ObjectOutputStream(socket.getOutputStream());
  28. // Включаем автоматическое выталкивание:
  29. out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
  30. // Если любой из вышеприведенных вызовов приведет к
  31. // возникновению исключения, то вызывающий отвечает за
  32. // закрытие сокета. В противном случае, нить
  33. // закроет его.
  34. start(); // вызываем run()
  35. }
  36.  
  37. public void run() {
  38. try {
  39. while (true) {
  40. String str = in.readLine();
  41. System.out.println(str);
  42. if (str.equals("END"))
  43. break;
  44. ArrayList<KBK> beans = new ArrayList<KBK>();
  45.  
  46. try {
  47. while (rs.next()) {
  48. try {
  49. beans.add(new KBK(rs.getString("Key") ,rs.getString("Kod") ,rs.getString("Name") ));
  50. } catch (SQLException e) {
  51. e.printStackTrace();
  52. }
  53. }
  54. } catch (SQLException e) {
  55. e.printStackTrace();
  56. }
  57.  
  58. oos.writeObject(beans);
  59. oos.flush();
  60.  
  61. }
  62. System.out.println("closing...");
  63. }
  64. catch (IOException e) {
  65. System.err.println("IO Exception");
  66. }
  67. finally {
  68. try {
  69. socket.close();
  70. }
  71. catch (IOException e) {
  72. System.err.println("Socket not closed");
  73. }
  74. }
  75. }
  76. }
  77.  
  78. public class MultiServer {
  79. static final int PORT = 8080;
  80.  
  81. public static void main(String[] args) throws IOException, SQLException, ClassNotFoundException {
  82. ServerSocket s = new ServerSocket(PORT);
  83. System.out.println("Server Started");
  84. try {
  85. while (true) {
  86. // Блокируется до возникновения нового соединения:
  87. Socket socket = s.accept();
  88. try {
  89. new ServeOneJabber(socket);
  90. }
  91. catch (IOException e) {
  92. // Если завершится неудачей, закрывается сокет,
  93. // в противном случае, нить закроет его:
  94. socket.close();
  95. }
  96. }
  97. }
  98. finally {
  99. s.close();
  100. }
  101. }
  102. } // /:~
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement