Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. package org.itstep;
  2.  
  3. import java.io.PrintWriter;
  4. import java.net.ServerSocket;
  5. import java.net.Socket;
  6. import java.util.HashMap;
  7. import java.util.Scanner;
  8.  
  9. public class Main {
  10. public static void main(String[] args) {
  11. try (ServerSocket server = new ServerSocket(9090)) {
  12. System.out.println("Сервер запущен");
  13. while (true) {
  14. try (
  15. Socket client = server.accept();
  16. Scanner input = new Scanner(client.getInputStream());
  17. PrintWriter output = new PrintWriter(client.getOutputStream())
  18. ) {
  19. System.out.println("Установлено соединение");
  20. String firstRow = input.nextLine();
  21. String row;
  22. HashMap<String, String> headers = new HashMap<>();
  23.  
  24. do {
  25. row = input.nextLine();
  26. System.out.println(row);
  27.  
  28. if (row.length() > 0) {
  29. String[] header = row.split(":");
  30. headers.put(
  31. header[0].toLowerCase(),
  32. header[1].trim()
  33. );
  34. }
  35. } while (row.length() > 0);
  36.  
  37. if (firstRow.contains("POST")) {
  38. int length = Integer.parseInt(headers.get("content-length"));
  39. byte[] bytes = new byte[length];
  40. System.out.println(client.getInputStream().read(bytes, 0, length));
  41.  
  42. System.out.println(new String(bytes));
  43. }
  44.  
  45. String response = "Hello, AJAX!";
  46. output.println("HTTP/1.1 200 OK");
  47. output.println("Content-Type: text/html; charset=UTF-8");
  48. output.println("Content-Length: " + response.length());
  49. output.println("Access-Control-Allow-Origin: *");
  50. output.println();
  51. output.println(response);
  52. output.flush();
  53. System.out.println("Соединение разорвано");
  54. } catch (Throwable e) {
  55. e.printStackTrace();
  56. System.out.println("Ошибка соединения");
  57. }
  58. }
  59. } catch (Throwable e) {
  60. e.printStackTrace();
  61. }
  62. }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement