Advertisement
Guest User

server

a guest
Sep 21st, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.96 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. ResultSet rs1;
  18. public ObjectOutputStream oos;
  19.  
  20. public ServeOneJabber(Socket s) throws IOException, ClassNotFoundException, SQLException {
  21. Class.forName("org.postgresql.Driver");
  22. conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgres", "postgres", "1");
  23. stat = conn.createStatement();
  24. stat.execute("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. }
  45. if (str.equals("KBK")) {
  46. try {
  47. rs = stat.executeQuery("SELECT * FROM \"public\".\"KBK\";");
  48. } catch (SQLException e) {
  49. e.printStackTrace();
  50. }
  51. ArrayList<KBK> beans = new ArrayList<KBK>();
  52. try {
  53. while (rs.next()) {
  54. try {
  55. beans.add(new KBK(rs.getString("Key"), rs.getString("Kod"), rs.getString("Name")));
  56. } catch (SQLException e) {
  57. e.printStackTrace();
  58. }
  59. }
  60. } catch (SQLException e) {
  61. e.printStackTrace();
  62. }
  63.  
  64. oos.writeObject(beans);
  65. oos.flush();
  66. }
  67. if (str.equals("Sotrudnik")) {
  68. try {
  69. rs = stat.executeQuery("SELECT * FROM \"public\".\"Sotrudnik\";");
  70. } catch (SQLException e) {
  71. e.printStackTrace();
  72. }
  73. ArrayList<Sotrudnik> beans = new ArrayList<Sotrudnik>();
  74. try {
  75. while (rs.next()) {
  76. try {
  77. beans.add(new Sotrudnik(rs.getString("Key"), rs.getString("Name"),
  78. rs.getString("Dolgnost"), rs.getString("Filial_Key"),
  79. rs.getString("Otdel_Key"), rs.getString("F"), rs.getString("I"),
  80. rs.getString("O"), rs.getString("Judge"), rs.getString("Notice")));
  81. } catch (SQLException e) {
  82. e.printStackTrace();
  83. }
  84. }
  85. } catch (SQLException e) {
  86. e.printStackTrace();
  87. }
  88.  
  89. oos.writeObject(beans);
  90. oos.flush();
  91. }
  92. if (str.equals("Protokol")) {
  93. try {
  94. rs = stat.executeQuery("SELECT * FROM \"public\".\"Protokol\";");
  95. rs1 = stat.executeQuery("SELECT * FROM \"public\".\"KBK\";");
  96. } catch (SQLException e) {
  97. e.printStackTrace();
  98. }
  99.  
  100. ArrayList<Protokol> beans = new ArrayList<Protokol>();
  101. try {
  102. while (rs.next()) {
  103. try {
  104. beans.add(new Protokol(rs.getString("Key") , rs.getString("Nomer"), rs.getString("Date"), rs.getString("Rayon_Key")
  105. , rs.getString("City"), rs.getString("Street"), rs.getString("House"), rs.getString("Sotrudnik_Key")
  106. , rs.getString("Subject_Key"), rs.getString("Breach_Date"), rs.getString("Breache"), rs.getString("Item_Nomer"), rs.getString("Item_Part")
  107. , rs.getString("Copy_Date"), rs.getString("Mail_Date"), rs.getString("Notice"), rs.getString("InCourt")
  108. , rs.getString("KBK_Key"), rs.getString("OKATO_Key"), rs.getString("IsPlan"), rs.getString("Documents")));
  109.  
  110. } catch (SQLException e) {
  111. e.printStackTrace();
  112. }
  113. }
  114. } catch (SQLException e) {
  115. e.printStackTrace();
  116. }
  117. ArrayList<KBK> beans1 = new ArrayList<KBK>();
  118. try {
  119. while (rs1.next()) {
  120. try {
  121. beans1.add(new KBK(rs.getString("Key") , rs.getString("Kod"), rs.getString("Name")));
  122.  
  123. } catch (SQLException e) {
  124. e.printStackTrace();
  125. }
  126. }
  127. } catch (SQLException e) {
  128. e.printStackTrace();
  129. }
  130.  
  131. oos.writeObject(beans);
  132. oos.flush();
  133. }
  134. if (str.equals("Postanovlenie")) {
  135. try {
  136. rs = stat.executeQuery("SELECT * FROM \"public\".\"Postanovlenie\";");
  137. } catch (SQLException e) {
  138. e.printStackTrace();
  139. }
  140.  
  141. ArrayList<Postanovlenie> beans = new ArrayList<Postanovlenie>();
  142. try {
  143. while (rs.next()) {
  144. try {
  145. beans.add(new Postanovlenie(rs.getString("Key") , rs.getString("Protokol_Key"), rs.getString("Nomer"), rs.getString("Date")
  146. , rs.getString("Court_Key"), rs.getString("Judge_Key"), rs.getString("Subject_Key"), rs.getString("Sotrudnik_Key")
  147. , rs.getString("Item_Nomer"), rs.getString("Item_Part"), rs.getString("Solution_Key"), rs.getString("Penalty"), rs.getString("PenaltyMROT")
  148. , rs.getString("Notice"), rs.getString("Date_Pay"), rs.getString("InCourt"), rs.getString("Warning")
  149. , rs.getString("Kvit"), rs.getString("KBK_Key"), rs.getString("OKATO_Key")));
  150.  
  151. } catch (SQLException e) {
  152. e.printStackTrace();
  153. }
  154. }
  155. } catch (SQLException e) {
  156. e.printStackTrace();
  157. }
  158.  
  159. oos.writeObject(beans);
  160. oos.flush();
  161. }
  162. if (str.equals("Oplata")) {
  163. try {
  164. rs = stat.executeQuery("SELECT * FROM \"public\".\"Oplata\";");
  165. } catch (SQLException e) {
  166. e.printStackTrace();
  167. }
  168.  
  169. ArrayList<Oplata> beans = new ArrayList<Oplata>();
  170. try {
  171. while (rs.next()) {
  172. try {
  173. beans.add(new Oplata(rs.getString("Key") , rs.getString("Nomer"), rs.getString("KBK_Key"), rs.getString("OKATO_Key")
  174. , rs.getString("Date"), rs.getString("Summa"), rs.getString("Subject_Key"), rs.getString("Postanovlenie_Key")));
  175.  
  176. } catch (SQLException e) {
  177. e.printStackTrace();
  178. }
  179. }
  180. } catch (SQLException e) {
  181. e.printStackTrace();
  182. }
  183.  
  184. oos.writeObject(beans);
  185. oos.flush();
  186. }
  187. if (str.equals("Subject")) {
  188. try {
  189. rs = stat.executeQuery("SELECT * FROM \"public\".\"Subject\";");
  190. } catch (SQLException e) {
  191. e.printStackTrace();
  192. }
  193.  
  194. ArrayList<Subject> beans = new ArrayList<Subject>();
  195. try {
  196. while (rs.next()) {
  197. try {
  198. beans.add(new Subject(rs.getString("Key") , rs.getString("Human"), rs.getString("Predpr"), rs.getString("F")
  199. , rs.getString("I"), rs.getString("O"), rs.getString("Name"), rs.getString("Dolgnost")
  200. , rs.getString("Rayon_Key_1"), rs.getString("City_1"), rs.getString("Street_1"), rs.getString("House_1"), rs.getString("KV_1")
  201. , rs.getString("Phone_1"), rs.getString("Rayon_Key_2"), rs.getString("City_2"), rs.getString("Street_2")
  202. , rs.getString("House_2"), rs.getString("KV_2"), rs.getString("Phone_2"), rs.getString("Notice")));
  203.  
  204. } catch (SQLException e) {
  205. e.printStackTrace();
  206. }
  207. }
  208. } catch (SQLException e) {
  209. e.printStackTrace();
  210. }
  211.  
  212. oos.writeObject(beans);
  213. oos.flush();
  214. }
  215. if (str.equals("Court")) {
  216. try {
  217. rs = stat.executeQuery("SELECT * FROM \"public\".\"Court\";");
  218. } catch (SQLException e) {
  219. e.printStackTrace();
  220. }
  221.  
  222. ArrayList<Court> beans = new ArrayList<Court>();
  223. try {
  224. while (rs.next()) {
  225. try {
  226. beans.add(new Court(rs.getString("Key") , rs.getString("Name"), rs.getString("Rayon_Key"), rs.getString("City")
  227. , rs.getString("Street"), rs.getString("House"), rs.getString("Notice")));
  228.  
  229. } catch (SQLException e) {
  230. e.printStackTrace();
  231. }
  232. }
  233. } catch (SQLException e) {
  234. e.printStackTrace();
  235. }
  236.  
  237. oos.writeObject(beans);
  238. oos.flush();
  239. }
  240. if (str.equals("Judge")) {
  241. try {
  242. rs = stat.executeQuery("SELECT * FROM \"public\".\"Sotrudnik\";");
  243. } catch (SQLException e) {
  244. e.printStackTrace();
  245. }
  246. ArrayList<Sotrudnik> beans = new ArrayList<Sotrudnik>();
  247. try {
  248. while (rs.next()) {
  249. try {
  250. beans.add(new Sotrudnik(rs.getString("Key"), rs.getString("Name"),
  251. rs.getString("Dolgnost"), rs.getString("Filial_Key"),
  252. rs.getString("Otdel_Key"), rs.getString("F"), rs.getString("I"),
  253. rs.getString("O"), rs.getString("Judge"), rs.getString("Notice")));
  254. } catch (SQLException e) {
  255. e.printStackTrace();
  256. }
  257. }
  258. } catch (SQLException e) {
  259. e.printStackTrace();
  260. }
  261.  
  262. oos.writeObject(beans);
  263. oos.flush();
  264. }
  265. }
  266. System.out.println("closing...");
  267. }
  268. catch (IOException e) {
  269. System.err.println("IO Exception");
  270. }
  271. finally {
  272. try {
  273. socket.close();
  274. }
  275. catch (IOException e) {
  276. System.err.println("Socket not closed");
  277. }
  278. }
  279. }
  280. }
  281.  
  282. public class MultiServer {
  283. static final int PORT = 8080;
  284.  
  285. public static void main(String[] args) throws IOException, SQLException, ClassNotFoundException {
  286. ServerSocket s = new ServerSocket(PORT);
  287. System.out.println("Server Started");
  288. try {
  289. while (true) {
  290. // Блокируется до возникновения нового соединения:
  291. Socket socket = s.accept();
  292. try {
  293. new ServeOneJabber(socket);
  294. }
  295. catch (IOException e) {
  296. // Если завершится неудачей, закрывается сокет,
  297. // в противном случае, нить закроет его:
  298. socket.close();
  299. }
  300. }
  301. }
  302. finally {
  303. s.close();
  304. }
  305. }
  306. } // /:~
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement