From 00c92217bb550c2502fcab54fa13b57ba14a318f Mon Sep 17 00:00:00 2001 From: Roman Panchuk Date: Thu, 5 Sep 2024 20:22:40 +0300 Subject: [PATCH 1/4] draw the table and change the styles --- .gitignore | 1 + src/main/webapp/index.jsp | 18 ++++++++++++++++++ src/main/webapp/static/main.css | 11 +++++++++++ 3 files changed, 30 insertions(+) diff --git a/.gitignore b/.gitignore index 8562103f..b6b80982 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ target/ *.iws *.iml *.ipr +.idea ### Eclipse ### .apt_generated diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp index 964cc071..b4ba236c 100644 --- a/src/main/webapp/index.jsp +++ b/src/main/webapp/index.jsp @@ -3,11 +3,29 @@ + Tic-Tac-Toe

Tic-Tac-Toe

+ + + + + + + + + + + + + + + + +
012
345
678
Tic-Tac-Toe @@ -11,24 +14,51 @@ - - - + + + - - - + + + - - - + + +
012${data.get(0).getSign()}${data.get(1).getSign()}${data.get(2).getSign()}
345${data.get(3).getSign()}${data.get(4).getSign()}${data.get(5).getSign()}
678${data.get(6).getSign()}${data.get(7).getSign()}${data.get(8).getSign()}
- From 08bd6714d0c158a621b2067ca06058a5ba185691 Mon Sep 17 00:00:00 2001 From: Roman Panchuk Date: Fri, 6 Sep 2024 14:31:04 +0300 Subject: [PATCH 4/4] create InitServlet --- src/main/java/com/tictactoe/InitServlet.java | 35 +++++++++++++++++++ src/main/java/com/tictactoe/LogicServlet.java | 2 +- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/tictactoe/InitServlet.java diff --git a/src/main/java/com/tictactoe/InitServlet.java b/src/main/java/com/tictactoe/InitServlet.java new file mode 100644 index 00000000..b2eef4c8 --- /dev/null +++ b/src/main/java/com/tictactoe/InitServlet.java @@ -0,0 +1,35 @@ +package com.tictactoe; + +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +@WebServlet(name = "InitServlet", value = "/start") +public class InitServlet extends HttpServlet { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + // Створення нової сесії + HttpSession currentSession = req.getSession(true); + + // Створення ігрового поля + Field field = new Field(); + Map fieldData = field.getField(); + + // Отримання списку значень поля + List data = field.getFieldData(); + + // Додавання до сесії параметрів поля (потрібно буде для зберігання стану між запитами) + currentSession.setAttribute("field", field); + // та значень поля, що відсортовані за індексом (потрібно для промальовки хрестиків і нуликів) + currentSession.setAttribute("data", data); + + // Перенаправлення запиту на сторінку index.jsp через сервер + getServletContext().getRequestDispatcher("/index.jsp").forward(req, resp); + } +} \ No newline at end of file diff --git a/src/main/java/com/tictactoe/LogicServlet.java b/src/main/java/com/tictactoe/LogicServlet.java index 11959c31..77983c2d 100644 --- a/src/main/java/com/tictactoe/LogicServlet.java +++ b/src/main/java/com/tictactoe/LogicServlet.java @@ -114,4 +114,4 @@ private Field extractField(HttpSession currentSession) { } return (Field) fieldAttribute; } -} +} \ No newline at end of file