From 0f17cd65eca73a06458e7b5d0b8f063eccf649d2 Mon Sep 17 00:00:00 2001
From: "Bekk I.V." <888_1@mail.ru>
Date: Sat, 31 Jan 2026 23:52:05 +0500
Subject: [PATCH 01/20] 1
---
.../java/com/javarush/{khmelov => bekk}/cmd/Command.java | 2 +-
.../java/com/javarush/{khmelov => bekk}/cmd/EditUser.java | 8 ++++----
.../java/com/javarush/{khmelov => bekk}/cmd/ListUser.java | 6 +++---
.../com/javarush/{khmelov => bekk}/cmd/StartPage.java | 2 +-
.../com/javarush/{khmelov => bekk}/config/Winter.java | 2 +-
.../{khmelov => bekk}/controller/FrontController.java | 8 ++++----
.../{khmelov => bekk}/controller/HttpResolver.java | 6 +++---
.../java/com/javarush/{khmelov => bekk}/entity/Role.java | 2 +-
.../java/com/javarush/{khmelov => bekk}/entity/User.java | 2 +-
.../javarush/{khmelov => bekk}/repository/Repository.java | 4 ++--
.../{khmelov => bekk}/repository/UserRepository.java | 6 +++---
.../javarush/{khmelov => bekk}/service/UserService.java | 6 +++---
12 files changed, 27 insertions(+), 27 deletions(-)
rename src/main/java/com/javarush/{khmelov => bekk}/cmd/Command.java (96%)
rename src/main/java/com/javarush/{khmelov => bekk}/cmd/EditUser.java (89%)
rename src/main/java/com/javarush/{khmelov => bekk}/cmd/ListUser.java (79%)
rename src/main/java/com/javarush/{khmelov => bekk}/cmd/StartPage.java (69%)
rename src/main/java/com/javarush/{khmelov => bekk}/config/Winter.java (96%)
rename src/main/java/com/javarush/{khmelov => bekk}/controller/FrontController.java (88%)
rename src/main/java/com/javarush/{khmelov => bekk}/controller/HttpResolver.java (91%)
rename src/main/java/com/javarush/{khmelov => bekk}/entity/Role.java (54%)
rename src/main/java/com/javarush/{khmelov => bekk}/entity/User.java (91%)
rename src/main/java/com/javarush/{khmelov => bekk}/repository/Repository.java (74%)
rename src/main/java/com/javarush/{khmelov => bekk}/repository/UserRepository.java (90%)
rename src/main/java/com/javarush/{khmelov => bekk}/service/UserService.java (83%)
diff --git a/src/main/java/com/javarush/khmelov/cmd/Command.java b/src/main/java/com/javarush/bekk/cmd/Command.java
similarity index 96%
rename from src/main/java/com/javarush/khmelov/cmd/Command.java
rename to src/main/java/com/javarush/bekk/cmd/Command.java
index fd4035b..f229787 100644
--- a/src/main/java/com/javarush/khmelov/cmd/Command.java
+++ b/src/main/java/com/javarush/bekk/cmd/Command.java
@@ -1,4 +1,4 @@
-package com.javarush.khmelov.cmd;
+package com.javarush.bekk.cmd;
import jakarta.servlet.http.HttpServletRequest;
diff --git a/src/main/java/com/javarush/khmelov/cmd/EditUser.java b/src/main/java/com/javarush/bekk/cmd/EditUser.java
similarity index 89%
rename from src/main/java/com/javarush/khmelov/cmd/EditUser.java
rename to src/main/java/com/javarush/bekk/cmd/EditUser.java
index ae191b4..ccff46d 100644
--- a/src/main/java/com/javarush/khmelov/cmd/EditUser.java
+++ b/src/main/java/com/javarush/bekk/cmd/EditUser.java
@@ -1,8 +1,8 @@
-package com.javarush.khmelov.cmd;
+package com.javarush.bekk.cmd;
-import com.javarush.khmelov.entity.Role;
-import com.javarush.khmelov.entity.User;
-import com.javarush.khmelov.service.UserService;
+import com.javarush.bekk.entity.Role;
+import com.javarush.bekk.entity.User;
+import com.javarush.bekk.service.UserService;
import jakarta.servlet.http.HttpServletRequest;
import java.util.Optional;
diff --git a/src/main/java/com/javarush/khmelov/cmd/ListUser.java b/src/main/java/com/javarush/bekk/cmd/ListUser.java
similarity index 79%
rename from src/main/java/com/javarush/khmelov/cmd/ListUser.java
rename to src/main/java/com/javarush/bekk/cmd/ListUser.java
index 9257917..48a9b61 100644
--- a/src/main/java/com/javarush/khmelov/cmd/ListUser.java
+++ b/src/main/java/com/javarush/bekk/cmd/ListUser.java
@@ -1,7 +1,7 @@
-package com.javarush.khmelov.cmd;
+package com.javarush.bekk.cmd;
-import com.javarush.khmelov.entity.User;
-import com.javarush.khmelov.service.UserService;
+import com.javarush.bekk.entity.User;
+import com.javarush.bekk.service.UserService;
import jakarta.servlet.http.HttpServletRequest;
import java.util.Collection;
diff --git a/src/main/java/com/javarush/khmelov/cmd/StartPage.java b/src/main/java/com/javarush/bekk/cmd/StartPage.java
similarity index 69%
rename from src/main/java/com/javarush/khmelov/cmd/StartPage.java
rename to src/main/java/com/javarush/bekk/cmd/StartPage.java
index d268f93..75c1ddc 100644
--- a/src/main/java/com/javarush/khmelov/cmd/StartPage.java
+++ b/src/main/java/com/javarush/bekk/cmd/StartPage.java
@@ -1,4 +1,4 @@
-package com.javarush.khmelov.cmd;
+package com.javarush.bekk.cmd;
@SuppressWarnings("unused")
public class StartPage implements Command {
diff --git a/src/main/java/com/javarush/khmelov/config/Winter.java b/src/main/java/com/javarush/bekk/config/Winter.java
similarity index 96%
rename from src/main/java/com/javarush/khmelov/config/Winter.java
rename to src/main/java/com/javarush/bekk/config/Winter.java
index 48bd8a7..054fee0 100644
--- a/src/main/java/com/javarush/khmelov/config/Winter.java
+++ b/src/main/java/com/javarush/bekk/config/Winter.java
@@ -1,4 +1,4 @@
-package com.javarush.khmelov.config;
+package com.javarush.bekk.config;
import lombok.SneakyThrows;
diff --git a/src/main/java/com/javarush/khmelov/controller/FrontController.java b/src/main/java/com/javarush/bekk/controller/FrontController.java
similarity index 88%
rename from src/main/java/com/javarush/khmelov/controller/FrontController.java
rename to src/main/java/com/javarush/bekk/controller/FrontController.java
index 33242b2..ad0137f 100644
--- a/src/main/java/com/javarush/khmelov/controller/FrontController.java
+++ b/src/main/java/com/javarush/bekk/controller/FrontController.java
@@ -1,8 +1,8 @@
-package com.javarush.khmelov.controller;
+package com.javarush.bekk.controller;
-import com.javarush.khmelov.cmd.Command;
-import com.javarush.khmelov.config.Winter;
-import com.javarush.khmelov.entity.Role;
+import com.javarush.bekk.cmd.Command;
+import com.javarush.bekk.config.Winter;
+import com.javarush.bekk.entity.Role;
import jakarta.servlet.ServletConfig;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
diff --git a/src/main/java/com/javarush/khmelov/controller/HttpResolver.java b/src/main/java/com/javarush/bekk/controller/HttpResolver.java
similarity index 91%
rename from src/main/java/com/javarush/khmelov/controller/HttpResolver.java
rename to src/main/java/com/javarush/bekk/controller/HttpResolver.java
index 18bb761..312d692 100644
--- a/src/main/java/com/javarush/khmelov/controller/HttpResolver.java
+++ b/src/main/java/com/javarush/bekk/controller/HttpResolver.java
@@ -1,7 +1,7 @@
-package com.javarush.khmelov.controller;
+package com.javarush.bekk.controller;
-import com.javarush.khmelov.cmd.Command;
-import com.javarush.khmelov.config.Winter;
+import com.javarush.bekk.cmd.Command;
+import com.javarush.bekk.config.Winter;
import jakarta.servlet.http.HttpServletRequest;
public class HttpResolver {
diff --git a/src/main/java/com/javarush/khmelov/entity/Role.java b/src/main/java/com/javarush/bekk/entity/Role.java
similarity index 54%
rename from src/main/java/com/javarush/khmelov/entity/Role.java
rename to src/main/java/com/javarush/bekk/entity/Role.java
index 5ae365f..eaa0c61 100644
--- a/src/main/java/com/javarush/khmelov/entity/Role.java
+++ b/src/main/java/com/javarush/bekk/entity/Role.java
@@ -1,4 +1,4 @@
-package com.javarush.khmelov.entity;
+package com.javarush.bekk.entity;
public enum Role {
USER, ADMIN, GUEST
diff --git a/src/main/java/com/javarush/khmelov/entity/User.java b/src/main/java/com/javarush/bekk/entity/User.java
similarity index 91%
rename from src/main/java/com/javarush/khmelov/entity/User.java
rename to src/main/java/com/javarush/bekk/entity/User.java
index f7fa2d6..5a0d525 100644
--- a/src/main/java/com/javarush/khmelov/entity/User.java
+++ b/src/main/java/com/javarush/bekk/entity/User.java
@@ -1,4 +1,4 @@
-package com.javarush.khmelov.entity;
+package com.javarush.bekk.entity;
import lombok.AllArgsConstructor;
import lombok.Builder;
diff --git a/src/main/java/com/javarush/khmelov/repository/Repository.java b/src/main/java/com/javarush/bekk/repository/Repository.java
similarity index 74%
rename from src/main/java/com/javarush/khmelov/repository/Repository.java
rename to src/main/java/com/javarush/bekk/repository/Repository.java
index f1abdac..385273c 100644
--- a/src/main/java/com/javarush/khmelov/repository/Repository.java
+++ b/src/main/java/com/javarush/bekk/repository/Repository.java
@@ -1,6 +1,6 @@
-package com.javarush.khmelov.repository;
+package com.javarush.bekk.repository;
-import com.javarush.khmelov.entity.User;
+import com.javarush.bekk.entity.User;
import java.util.Collection;
import java.util.Optional;
diff --git a/src/main/java/com/javarush/khmelov/repository/UserRepository.java b/src/main/java/com/javarush/bekk/repository/UserRepository.java
similarity index 90%
rename from src/main/java/com/javarush/khmelov/repository/UserRepository.java
rename to src/main/java/com/javarush/bekk/repository/UserRepository.java
index 58b32ea..b8bb782 100644
--- a/src/main/java/com/javarush/khmelov/repository/UserRepository.java
+++ b/src/main/java/com/javarush/bekk/repository/UserRepository.java
@@ -1,7 +1,7 @@
-package com.javarush.khmelov.repository;
+package com.javarush.bekk.repository;
-import com.javarush.khmelov.entity.Role;
-import com.javarush.khmelov.entity.User;
+import com.javarush.bekk.entity.Role;
+import com.javarush.bekk.entity.User;
import java.util.Collection;
import java.util.HashMap;
diff --git a/src/main/java/com/javarush/khmelov/service/UserService.java b/src/main/java/com/javarush/bekk/service/UserService.java
similarity index 83%
rename from src/main/java/com/javarush/khmelov/service/UserService.java
rename to src/main/java/com/javarush/bekk/service/UserService.java
index b17527c..c345687 100644
--- a/src/main/java/com/javarush/khmelov/service/UserService.java
+++ b/src/main/java/com/javarush/bekk/service/UserService.java
@@ -1,7 +1,7 @@
-package com.javarush.khmelov.service;
+package com.javarush.bekk.service;
-import com.javarush.khmelov.entity.User;
-import com.javarush.khmelov.repository.UserRepository;
+import com.javarush.bekk.entity.User;
+import com.javarush.bekk.repository.UserRepository;
import java.util.Collection;
import java.util.Optional;
From 3c042bb833f137b4a58fb3dc7351806ec878f292 Mon Sep 17 00:00:00 2001
From: "Bekk I.V." <888_1@mail.ru>
Date: Sat, 31 Jan 2026 23:54:54 +0500
Subject: [PATCH 02/20] Added Go
---
src/main/java/com/javarush/bekk/util/Go.java | 4 ++++
1 file changed, 4 insertions(+)
create mode 100644 src/main/java/com/javarush/bekk/util/Go.java
diff --git a/src/main/java/com/javarush/bekk/util/Go.java b/src/main/java/com/javarush/bekk/util/Go.java
new file mode 100644
index 0000000..0adcac9
--- /dev/null
+++ b/src/main/java/com/javarush/bekk/util/Go.java
@@ -0,0 +1,4 @@
+package com.javarush.bekk.util;
+
+public class Go {
+}
From be7167d11157fc4a075d9c159d21f7f34e071653 Mon Sep 17 00:00:00 2001
From: "Bekk I.V." <888_1@mail.ru>
Date: Sat, 31 Jan 2026 23:56:23 +0500
Subject: [PATCH 03/20] Key
---
src/main/java/com/javarush/bekk/util/Key.java | 4 ++++
1 file changed, 4 insertions(+)
create mode 100644 src/main/java/com/javarush/bekk/util/Key.java
diff --git a/src/main/java/com/javarush/bekk/util/Key.java b/src/main/java/com/javarush/bekk/util/Key.java
new file mode 100644
index 0000000..ca0b08c
--- /dev/null
+++ b/src/main/java/com/javarush/bekk/util/Key.java
@@ -0,0 +1,4 @@
+package com.javarush.bekk.util;
+
+public class Key {
+}
From 4a249012dd5c28d2f4c6b4b1562a88ab009336c8 Mon Sep 17 00:00:00 2001
From: "Bekk I.V." <888_1@mail.ru>
Date: Sun, 1 Feb 2026 10:05:37 +0500
Subject: [PATCH 04/20] Add CSS
---
src/main/java/com/javarush/bekk/util/Go.java | 14 +++++
src/main/java/com/javarush/bekk/util/Key.java | 24 +++++++++
src/main/webapp/WEB-INF/parts/header.jsp | 52 +++++++++++++++++++
3 files changed, 90 insertions(+)
create mode 100644 src/main/webapp/WEB-INF/parts/header.jsp
diff --git a/src/main/java/com/javarush/bekk/util/Go.java b/src/main/java/com/javarush/bekk/util/Go.java
index 0adcac9..c2342cf 100644
--- a/src/main/java/com/javarush/bekk/util/Go.java
+++ b/src/main/java/com/javarush/bekk/util/Go.java
@@ -1,4 +1,18 @@
package com.javarush.bekk.util;
public class Go {
+ public static final String INDEX = "";
+ public static final String HOME = "/home";
+
+ public static final String SIGNUP = "/signup";
+ public static final String LOGIN = "/login";
+ public static final String LOGOUT = "/logout";
+ public static final String PROFILE = "/profile";
+ public static final String LIST_USER = "/list-user";
+ public static final String EDIT_USER = "/edit-user";
+
+ public static final String CREATE = "/create-quest";
+ public static final String QUEST = "/quest";
+ public static final String STAT = "/stat";
+ public static final String GAME = "/game";
}
diff --git a/src/main/java/com/javarush/bekk/util/Key.java b/src/main/java/com/javarush/bekk/util/Key.java
index ca0b08c..be9bc6f 100644
--- a/src/main/java/com/javarush/bekk/util/Key.java
+++ b/src/main/java/com/javarush/bekk/util/Key.java
@@ -1,4 +1,28 @@
package com.javarush.bekk.util;
+@SuppressWarnings("unused")
public class Key {
+ public static final String INDEX = "index";
+
+ public static final String ID = "id";
+ public static final String SIGNUP = "signup";
+ public static final String LOGIN = "login";
+ public static final String PASSWORD = "password";
+ public static final String ROLE = "role";
+ public static final String ROLES = "roles";
+ public static final String USERS = "users";
+ public static final String USER = "user";
+
+ public static final String CREATE_QUEST = "create-quest";
+ public static final String QUESTS = "quests";
+ public static final String QUEST_ID = "questId";
+ public static final String QUEST = "quest";
+ public static final String QUESTION = "question";
+
+ public static final String NAME = "name";
+ public static final String TEXT = "text";
+
+ public static final String ERROR_MESSAGE = "errorMessage";
+ public static final String GAME = "game";
+ public static final String ANSWER = "answer";
}
diff --git a/src/main/webapp/WEB-INF/parts/header.jsp b/src/main/webapp/WEB-INF/parts/header.jsp
new file mode 100644
index 0000000..cf4f623
--- /dev/null
+++ b/src/main/webapp/WEB-INF/parts/header.jsp
@@ -0,0 +1,52 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+
+
+
+
+
+
+ Pantera
+
+
+
+
+
+
+
\ No newline at end of file
From 293a5093b3b1dbbf79f0bee9d9cf3415d0e3b671 Mon Sep 17 00:00:00 2001
From: "Bekk I.V." <888_1@mail.ru>
Date: Sun, 1 Feb 2026 11:10:22 +0500
Subject: [PATCH 05/20] Add class Login
---
src/main/java/com/javarush/bekk/cmd/Login.java | 8 ++++++++
src/main/webapp/WEB-INF/edit-user.jsp | 2 +-
src/main/webapp/WEB-INF/list-user.jsp | 5 +++--
src/main/webapp/WEB-INF/start-page.jsp | 2 +-
src/main/webapp/assets/css/style.min.css | 1 +
5 files changed, 14 insertions(+), 4 deletions(-)
create mode 100644 src/main/java/com/javarush/bekk/cmd/Login.java
create mode 100644 src/main/webapp/assets/css/style.min.css
diff --git a/src/main/java/com/javarush/bekk/cmd/Login.java b/src/main/java/com/javarush/bekk/cmd/Login.java
new file mode 100644
index 0000000..0cbc8c1
--- /dev/null
+++ b/src/main/java/com/javarush/bekk/cmd/Login.java
@@ -0,0 +1,8 @@
+package com.javarush.bekk.cmd;
+
+import com.javarush.bekk.service.UserService;
+
+public class Login implements Command {
+
+
+}
diff --git a/src/main/webapp/WEB-INF/edit-user.jsp b/src/main/webapp/WEB-INF/edit-user.jsp
index f274104..a0d0f12 100644
--- a/src/main/webapp/WEB-INF/edit-user.jsp
+++ b/src/main/webapp/WEB-INF/edit-user.jsp
@@ -1,5 +1,5 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@include file="head.jsp" %>
+<%@include file="parts/header.jsp" %>
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/start-page.jsp b/src/main/webapp/WEB-INF/start-page.jsp
index 1c7d6f3..8957237 100644
--- a/src/main/webapp/WEB-INF/start-page.jsp
+++ b/src/main/webapp/WEB-INF/start-page.jsp
@@ -1,8 +1,11 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@include file="parts/header.jsp" %>
-<%= "Hello World!" %>
+<%--<%= "Тестирование по моим заметкам!" %>--%>
+
-List Users
+Старт тестирования по SOLID
+<%--List Users--%>
+<%--${user.login}--%>
diff --git a/src/main/webapp/WEB-INF/test-page.jsp b/src/main/webapp/WEB-INF/test-page.jsp
new file mode 100644
index 0000000..988cb70
--- /dev/null
+++ b/src/main/webapp/WEB-INF/test-page.jsp
@@ -0,0 +1,42 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@include file="parts/header.jsp" %>
+
+<%= "Тестирование по по SOLID" %>
+
+
+
+
+
+
+
+<%--user-это элемент массива, users-массив --%>
+<%--
+ ${user.login}
+--%>
+
+
+
+
+<%--
+--%>
From cc2697a3459960b1532a6fdeb0743edaad12eebb Mon Sep 17 00:00:00 2001
From: "Bekk I.V." <888_1@mail.ru>
Date: Mon, 2 Feb 2026 20:27:45 +0500
Subject: [PATCH 14/20] Process standalone
---
src/main/java/com/javarush/bekk/cmd/StartPage.java | 6 +++++-
.../javarush/bekk/repository/GameRepository.java | 11 +----------
src/main/webapp/WEB-INF/end-page.jsp | 14 ++++++++++++++
src/main/webapp/WEB-INF/test-page.jsp | 8 ++++----
4 files changed, 24 insertions(+), 15 deletions(-)
create mode 100644 src/main/webapp/WEB-INF/end-page.jsp
diff --git a/src/main/java/com/javarush/bekk/cmd/StartPage.java b/src/main/java/com/javarush/bekk/cmd/StartPage.java
index 2d7bc65..7a20b56 100644
--- a/src/main/java/com/javarush/bekk/cmd/StartPage.java
+++ b/src/main/java/com/javarush/bekk/cmd/StartPage.java
@@ -17,8 +17,12 @@ public String doGet(HttpServletRequest request) {
answer.setId(1L);
answer.setText("Каждый класс должен иметь только одну причину для изменения, " +
"то есть выполнять только одну задачу или отвечать за одну ответственность." +
- " Это повышает сплочённость (cohesion) и упрощает поддержку кода.");
+ " Это повышает сплочённость (cohesion) и упрощает поддержку кода");
+ Answer answer1 = new Answer();
+ answer1.setId(2L);
+ answer1.setText("Каждый класс должен иметь множество причин для изменения, то есть выполнять множество задач");
session.setAttribute("answer", answer);
+ session.setAttribute("answer1", answer1);
session.setAttribute("question", question);
return getView();
}
diff --git a/src/main/java/com/javarush/bekk/repository/GameRepository.java b/src/main/java/com/javarush/bekk/repository/GameRepository.java
index 4bcf540..1982dad 100644
--- a/src/main/java/com/javarush/bekk/repository/GameRepository.java
+++ b/src/main/java/com/javarush/bekk/repository/GameRepository.java
@@ -5,14 +5,5 @@
import java.util.stream.Stream;
public class GameRepository extends BaseRepository {
- @Override
- public Stream find(Game pattern) {
- return map.values()
- .stream()
- .filter(game -> nullOrEquals(pattern.getId(), game.getId()))
- .filter(game -> nullOrEquals(pattern.getQuestId(), game.getQuestId()))
- .filter(game -> nullOrEquals(pattern.getUserId(), game.getUserId()))
- .filter(game -> nullOrEquals(pattern.getCurrentQuestionId(), game.getCurrentQuestionId()))
- .filter(game -> nullOrEquals(pattern.getGameState(), game.getGameState()));
- }
+
}
diff --git a/src/main/webapp/WEB-INF/end-page.jsp b/src/main/webapp/WEB-INF/end-page.jsp
new file mode 100644
index 0000000..bd08c39
--- /dev/null
+++ b/src/main/webapp/WEB-INF/end-page.jsp
@@ -0,0 +1,14 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@include file="parts/header.jsp" %>
+
+<%--<%= "Тестирование по моим заметкам!" %>--%>
+
+
+
+Ответ не правильный. Тест окончен.
+<%--List Users--%>
+<%--${user.login}--%>
+
+
diff --git a/src/main/webapp/WEB-INF/test-page.jsp b/src/main/webapp/WEB-INF/test-page.jsp
index 988cb70..530abb7 100644
--- a/src/main/webapp/WEB-INF/test-page.jsp
+++ b/src/main/webapp/WEB-INF/test-page.jsp
@@ -4,16 +4,16 @@
<%= "Тестирование по по SOLID" %>
-
From d86d99ebb541895f9dbe17f4ed8077374d6da10f Mon Sep 17 00:00:00 2001
From: "Bekk I.V." <888_1@mail.ru>
Date: Mon, 2 Feb 2026 21:45:20 +0500
Subject: [PATCH 15/20] Add init Config
---
.../java/com/javarush/bekk/config/Config.java | 55 +++++++++++++++++++
.../bekk/repository/QuestionRepository.java | 3 +-
2 files changed, 57 insertions(+), 1 deletion(-)
diff --git a/src/main/java/com/javarush/bekk/config/Config.java b/src/main/java/com/javarush/bekk/config/Config.java
index 8983779..14c416d 100644
--- a/src/main/java/com/javarush/bekk/config/Config.java
+++ b/src/main/java/com/javarush/bekk/config/Config.java
@@ -1,5 +1,6 @@
package com.javarush.bekk.config;
+import com.javarush.bekk.entity.Answer;
import com.javarush.bekk.entity.Question;
import com.javarush.bekk.entity.Role;
import com.javarush.bekk.entity.User;
@@ -32,4 +33,58 @@ private static User buildUser(String name, String password, Role role) {
.build();
}
+ public void fillRepository() {
+ Question question1 = buildQuestion(1L, "S — Single Responsibility Principle (Принцип единственной ответственности)");
+ question1.getAnswers().add(new Answer(1L, question1.getId(), "Каждый класс должен иметь только одну причину для изменения, " +
+ "то есть выполнять только одну задачу или отвечать за одну ответственность. Это повышает сплочённость (cohesion) и упрощает поддержку кода",
+ question1.getId() + 1));
+ question1.getAnswers().add(new Answer(2L, question1.getId(), "Каждый класс должен иметь только одну причину для изменения, " +
+ "то есть выполнять только одну задачу или отвечать за одну ответственность. Это повышает сплочённость (cohesion) и упрощает поддержку кода",
+ question1.getId() + 1));
+ questionRepository.create(question1);
+
+ Question question2 = buildQuestion(2L, "O — Open/Closed Principle (Принцип открытости/закрытости)");
+ question2.getAnswers().add(new Answer(1L, question2.getId(), "Классы должны быть открыты для расширения (добавления нового функционала), " +
+ "но закрыты для модификации (изменения существующего кода). Это достигается через абстракции (интерфейсы, абстрактные классы) и полиморфизм",
+ question2.getId() + 1));
+ question2.getAnswers().add(new Answer(2L, question2.getId(), "Классы должны быть закрыты для расширения (добавления нового функционала), " +
+ "но открыты для модификации (изменения существующего кода)",
+ question2.getId() + 1));
+ questionRepository.create(question2);
+
+ Question question3 = buildQuestion(3L, "Liskov Substitution Principle (Принцип подстановки Барбары Лисков)");
+ question3.getAnswers().add(new Answer(1L, question3.getId(), "Объекты базового класса должны быть заменяемы объектами " +
+ "производных классов без изменения поведения программы. Это гарантирует, что подклассы не нарушают контракты, заданные базовым классом",
+ question3.getId() + 1));
+ question3.getAnswers().add(new Answer(2L, question3.getId(), "Объекты базового класса не должны быть заменяемы объектами производных классов " +
+ "без изменения поведения программы. Это гарантирует, что подклассы не нарушают контракты, заданные базовым классом",
+ question3.getId() + 1));
+ questionRepository.create(question3);
+
+ Question question4 = buildQuestion(4L, "Interface Segregation Principle (Принцип разделения интерфейсов)");
+ question4.getAnswers().add(new Answer(1L, question4.getId(), "Клиенты не должны быть вынуждены реализовывать интерфейсы, которые они не используют. " +
+ "Интерфейсы должны быть узкоспециализированными, чтобы классы реализовывали только необходимый функционал",
+ question4.getId() + 1));
+ question4.getAnswers().add(new Answer(2L, question4.getId(), "Клиенты должны реализовывать интерфейсы, которые они не используют. " +
+ "Интерфейсы должны быть универсальными, чтобы классы реализовывали универсальный функционал",
+ question4.getId() + 1));
+ questionRepository.create(question4);
+
+ Question question5 = buildQuestion(5L, "D — Dependency Inversion Principle (Принцип инверсии зависимостей)");
+ question5.getAnswers().add(new Answer(1L, question5.getId(), "Модули высокого уровня не должны зависеть от модулей низкого уровня; " +
+ "оба должны зависеть от абстракций. Абстракции не должны зависеть от деталей реализации, а детали — от абстракций. Это снижает связанность (coupling)",
+ question5.getId() + 1));
+ question5.getAnswers().add(new Answer(2L, question5.getId(), "Модули высокого уровня должны зависеть от модулей низкого уровня. " +
+ "Это повышает связанность и упрощает написание программы",
+ question5.getId() + 1));
+ questionRepository.create(question5);
+ }
+
+ private static Question buildQuestion(Long questionId, String text) {
+ return Question.builder()
+ .id(questionId)
+ .text(text)
+ .build();
+ }
+
}
diff --git a/src/main/java/com/javarush/bekk/repository/QuestionRepository.java b/src/main/java/com/javarush/bekk/repository/QuestionRepository.java
index c633223..223efcb 100644
--- a/src/main/java/com/javarush/bekk/repository/QuestionRepository.java
+++ b/src/main/java/com/javarush/bekk/repository/QuestionRepository.java
@@ -18,12 +18,13 @@ public class QuestionRepository extends BaseRepository {
public QuestionRepository() {
Answer answer = new Answer(1L, 1L, "Что-то", 2L);
-
+ Question question = new Question();
map.put(1L, new Question(1L, "1. S — Single Responsibility Principle (Принцип единственной ответственности)"));
map.put(2L, new Question(2L, "2. O — Open/Closed Principle (Принцип открытости/закрытости)"));
map.put(3L, new Question(3L, "3. L — Liskov Substitution Principle (Принцип подстановки Барбары Лисков)"));
map.put(4L, new Question(4L, "4. I — Interface Segregation Principle (Принцип разделения интерфейсов)"));
map.put(5L, new Question(5L, "5. D — Dependency Inversion Principle (Принцип инверсии зависимостей)"));
+ question.getAnswers().add(answer);
}
From ad0e8ccae33f96f84406eec80d985ce47bf79f15 Mon Sep 17 00:00:00 2001
From: "Bekk I.V." <888_1@mail.ru>
Date: Sat, 7 Feb 2026 17:08:18 +0500
Subject: [PATCH 16/20] Deleted classes
---
.../java/com/javarush/bekk/cmd/EditUser.java | 52 -------------
.../java/com/javarush/bekk/cmd/ListUser.java | 26 -------
.../java/com/javarush/bekk/cmd/PlayGame.java | 11 ++-
.../java/com/javarush/bekk/cmd/TestPage.java | 17 +++--
.../java/com/javarush/bekk/config/Config.java | 25 +------
.../bekk/controller/FrontController.java | 16 +++-
.../java/com/javarush/bekk/entity/Game.java | 24 ------
.../java/com/javarush/bekk/entity/Role.java | 5 --
.../java/com/javarush/bekk/entity/User.java | 26 -------
.../bekk/repository/BaseRepository.java | 3 -
.../bekk/repository/GameRepository.java | 9 ---
.../bekk/repository/QuestionRepository.java | 7 +-
.../javarush/bekk/repository/Repository.java | 4 -
.../bekk/repository/UserRepository.java | 69 ------------------
.../javarush/bekk/service/UserService.java | 46 ------------
src/main/webapp/WEB-INF/edit-user.jsp | 73 -------------------
src/main/webapp/WEB-INF/head.jsp | 11 ---
src/main/webapp/WEB-INF/list-user.jsp | 10 ---
src/main/webapp/WEB-INF/play-game.jsp | 51 -------------
src/main/webapp/WEB-INF/start-page.jsp | 2 +-
src/main/webapp/WEB-INF/test-page.jsp | 69 +++++++++++++++++-
21 files changed, 105 insertions(+), 451 deletions(-)
delete mode 100644 src/main/java/com/javarush/bekk/cmd/EditUser.java
delete mode 100644 src/main/java/com/javarush/bekk/cmd/ListUser.java
delete mode 100644 src/main/java/com/javarush/bekk/entity/Game.java
delete mode 100644 src/main/java/com/javarush/bekk/entity/Role.java
delete mode 100644 src/main/java/com/javarush/bekk/entity/User.java
delete mode 100644 src/main/java/com/javarush/bekk/repository/GameRepository.java
delete mode 100644 src/main/java/com/javarush/bekk/repository/UserRepository.java
delete mode 100644 src/main/java/com/javarush/bekk/service/UserService.java
delete mode 100644 src/main/webapp/WEB-INF/edit-user.jsp
delete mode 100644 src/main/webapp/WEB-INF/head.jsp
delete mode 100644 src/main/webapp/WEB-INF/list-user.jsp
delete mode 100644 src/main/webapp/WEB-INF/play-game.jsp
diff --git a/src/main/java/com/javarush/bekk/cmd/EditUser.java b/src/main/java/com/javarush/bekk/cmd/EditUser.java
deleted file mode 100644
index ccff46d..0000000
--- a/src/main/java/com/javarush/bekk/cmd/EditUser.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.javarush.bekk.cmd;
-
-import com.javarush.bekk.entity.Role;
-import com.javarush.bekk.entity.User;
-import com.javarush.bekk.service.UserService;
-import jakarta.servlet.http.HttpServletRequest;
-
-import java.util.Optional;
-
-
-@SuppressWarnings("unused")
-public class EditUser implements Command {
-
- private final UserService userService;
-
- public EditUser(UserService userService) {
- this.userService = userService;
- }
-
-
- @Override
- public String doGet(HttpServletRequest req) {
- String stringId = req.getParameter("id");
- if (stringId != null) {
- long id = Long.parseLong(stringId);
- Optional optionalUser = userService.get(id);
- if (optionalUser.isPresent()) {
- User user = optionalUser.get();
- req.setAttribute("user", user);
- }
- }
- return getView();
- }
-
- @Override
- public String doPost(HttpServletRequest req) {
- User user = User.builder()
- .login(req.getParameter("login"))
- .password(req.getParameter("password"))
- .role(Role.valueOf(req.getParameter("role")))
- .build();
- if (req.getParameter("create") != null) {
- userService.create(user);
- } else if (req.getParameter("update") != null) {
- user.setId(Long.parseLong(req.getParameter("id")));
- userService.update(user);
- }
- return getView() + "?id=" + user.getId();
- }
-
-
-}
\ No newline at end of file
diff --git a/src/main/java/com/javarush/bekk/cmd/ListUser.java b/src/main/java/com/javarush/bekk/cmd/ListUser.java
deleted file mode 100644
index 48a9b61..0000000
--- a/src/main/java/com/javarush/bekk/cmd/ListUser.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.javarush.bekk.cmd;
-
-import com.javarush.bekk.entity.User;
-import com.javarush.bekk.service.UserService;
-import jakarta.servlet.http.HttpServletRequest;
-
-import java.util.Collection;
-
-@SuppressWarnings("unused")
-public class ListUser implements Command {
-
- private final UserService userService;
-
- public ListUser(UserService userService) {
- this.userService = userService;
- }
-
- @Override
- public String doGet(HttpServletRequest request) {
- Collection users = userService.getAll();
- request.setAttribute("users", users);
- return getView();
- }
-
-
-}
\ No newline at end of file
diff --git a/src/main/java/com/javarush/bekk/cmd/PlayGame.java b/src/main/java/com/javarush/bekk/cmd/PlayGame.java
index 84bfcfc..a9c140d 100644
--- a/src/main/java/com/javarush/bekk/cmd/PlayGame.java
+++ b/src/main/java/com/javarush/bekk/cmd/PlayGame.java
@@ -1,4 +1,13 @@
package com.javarush.bekk.cmd;
-public class PlayGame {
+import jakarta.servlet.http.HttpServletRequest;
+
+public class PlayGame implements Command {
+
+ @Override
+ public String doPost(HttpServletRequest request) {
+ request.getSession().setAttribute("playGame", this);
+
+ return "";
+ }
}
diff --git a/src/main/java/com/javarush/bekk/cmd/TestPage.java b/src/main/java/com/javarush/bekk/cmd/TestPage.java
index bc9e9ad..641b9f7 100644
--- a/src/main/java/com/javarush/bekk/cmd/TestPage.java
+++ b/src/main/java/com/javarush/bekk/cmd/TestPage.java
@@ -2,19 +2,24 @@
import com.javarush.bekk.entity.Answer;
import com.javarush.bekk.entity.Question;
+import com.javarush.bekk.repository.QuestionRepository;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
+import lombok.AllArgsConstructor;
+import java.util.Collection;
+
+@AllArgsConstructor
public class TestPage implements Command {
+ private final QuestionRepository questionRepository;
- /*@Override
- public String doPost(HttpServletRequest request) {
- HttpSession currentSession = request.getSession();
- Answer answer = new Answer();
- Question question = new Question();
+ @Override
+ public String doPost(HttpServletRequest request) {
+ Question question = questionRepository.get(1L);
+ question.
return "";
- }*/
+ }
}
diff --git a/src/main/java/com/javarush/bekk/config/Config.java b/src/main/java/com/javarush/bekk/config/Config.java
index 14c416d..4f5c6e8 100644
--- a/src/main/java/com/javarush/bekk/config/Config.java
+++ b/src/main/java/com/javarush/bekk/config/Config.java
@@ -2,36 +2,13 @@
import com.javarush.bekk.entity.Answer;
import com.javarush.bekk.entity.Question;
-import com.javarush.bekk.entity.Role;
-import com.javarush.bekk.entity.User;
import com.javarush.bekk.repository.QuestionRepository;
-import com.javarush.bekk.service.QuestionService;
-import com.javarush.bekk.service.UserService;
import lombok.AllArgsConstructor;
@AllArgsConstructor
public class Config {
- private final UserService userService;
-private final QuestionRepository questionRepository;
- public void fillEmptyRepository() {
- if (userService.get(1L).isEmpty()){
- User admin = buildUser("Carl", "admin", Role.ADMIN);
- userService.create(admin);
- User alisa = buildUser("Alisa", "qwerty", Role.USER);
- userService.create(alisa);
- User bob = buildUser("Bob", "123", Role.GUEST);
- userService.create(bob);
- }
- }
-
- private static User buildUser(String name, String password, Role role) {
- return User.builder()
- .login(name)
- .password(password)
- .role(role)
- .build();
- }
+ private final QuestionRepository questionRepository;
public void fillRepository() {
Question question1 = buildQuestion(1L, "S — Single Responsibility Principle (Принцип единственной ответственности)");
diff --git a/src/main/java/com/javarush/bekk/controller/FrontController.java b/src/main/java/com/javarush/bekk/controller/FrontController.java
index 41ddb2b..99257b7 100644
--- a/src/main/java/com/javarush/bekk/controller/FrontController.java
+++ b/src/main/java/com/javarush/bekk/controller/FrontController.java
@@ -1,9 +1,10 @@
package com.javarush.bekk.controller;
import com.javarush.bekk.cmd.Command;
+import com.javarush.bekk.config.Config;
import com.javarush.bekk.config.Winter;
-import com.javarush.bekk.entity.Role;
import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletContext;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
@@ -12,7 +13,7 @@
import java.io.IOException;
-@WebServlet({"", "/home", "/list-user", "/edit-user", "/play-game", "/test-page"})
+@WebServlet({"", "/test-page"})
public class FrontController extends HttpServlet {
private final HttpResolver httpResolver = Winter.find(HttpResolver.class);
@@ -27,7 +28,11 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws Se
@Override
public void init(ServletConfig config) {
- config.getServletContext().setAttribute("roles", Role.values());
+ Config config1 = Winter.find(Config.class);
+ config1.fillRepository();
+
+ ServletContext servletContext = config.getServletContext();
+ servletContext.setAttribute(Config.class.getName(), config1);
}
private static String getJsp(String view) {
@@ -40,4 +45,9 @@ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws S
String redirect = command.doPost(req);
resp.sendRedirect(redirect);
}
+
+ /*@Override
+ public void init(ServletConfig config) {
+ config.getServletContext().setAttribute("roles", Role.values());
+ }*/
}
diff --git a/src/main/java/com/javarush/bekk/entity/Game.java b/src/main/java/com/javarush/bekk/entity/Game.java
deleted file mode 100644
index 0c085c4..0000000
--- a/src/main/java/com/javarush/bekk/entity/Game.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.javarush.bekk.entity;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-@Builder
-public class Game implements AbstractEntity {
-
- private Long id;
-
- private Long questId;
-
- private Long userId;
-
- private Long currentQuestionId;
-
- private GameState gameState;
-
-}
diff --git a/src/main/java/com/javarush/bekk/entity/Role.java b/src/main/java/com/javarush/bekk/entity/Role.java
deleted file mode 100644
index eaa0c61..0000000
--- a/src/main/java/com/javarush/bekk/entity/Role.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.javarush.bekk.entity;
-
-public enum Role {
- USER, ADMIN, GUEST
-}
diff --git a/src/main/java/com/javarush/bekk/entity/User.java b/src/main/java/com/javarush/bekk/entity/User.java
deleted file mode 100644
index d5824ce..0000000
--- a/src/main/java/com/javarush/bekk/entity/User.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.javarush.bekk.entity;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-@Builder
-public class User implements AbstractEntity {
-
- private Long id;
-
- private String login;
-
- private String password;
-
- private Role role;
-
- public String getImage() { //TODO move to DTO
- return "image-" + id;
- }
-
-}
diff --git a/src/main/java/com/javarush/bekk/repository/BaseRepository.java b/src/main/java/com/javarush/bekk/repository/BaseRepository.java
index c917f21..0c59ffb 100644
--- a/src/main/java/com/javarush/bekk/repository/BaseRepository.java
+++ b/src/main/java/com/javarush/bekk/repository/BaseRepository.java
@@ -1,12 +1,9 @@
package com.javarush.bekk.repository;
import com.javarush.bekk.entity.AbstractEntity;
-import com.javarush.bekk.entity.User;
import java.util.Collection;
-import java.util.List;
import java.util.Map;
-import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicLong;
diff --git a/src/main/java/com/javarush/bekk/repository/GameRepository.java b/src/main/java/com/javarush/bekk/repository/GameRepository.java
deleted file mode 100644
index 1982dad..0000000
--- a/src/main/java/com/javarush/bekk/repository/GameRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.javarush.bekk.repository;
-
-import com.javarush.bekk.entity.Game;
-
-import java.util.stream.Stream;
-
-public class GameRepository extends BaseRepository {
-
-}
diff --git a/src/main/java/com/javarush/bekk/repository/QuestionRepository.java b/src/main/java/com/javarush/bekk/repository/QuestionRepository.java
index 223efcb..a355473 100644
--- a/src/main/java/com/javarush/bekk/repository/QuestionRepository.java
+++ b/src/main/java/com/javarush/bekk/repository/QuestionRepository.java
@@ -2,13 +2,10 @@
import com.javarush.bekk.entity.Answer;
import com.javarush.bekk.entity.Question;
-import com.javarush.bekk.entity.User;
-import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicLong;
-import java.util.stream.Stream;
public class QuestionRepository extends BaseRepository {
@@ -17,14 +14,14 @@ public class QuestionRepository extends BaseRepository {
public static final AtomicLong id = new AtomicLong(System.currentTimeMillis());
public QuestionRepository() {
- Answer answer = new Answer(1L, 1L, "Что-то", 2L);
+ /* Answer answer = new Answer(1L, 1L, "Что-то", 2L);
Question question = new Question();
map.put(1L, new Question(1L, "1. S — Single Responsibility Principle (Принцип единственной ответственности)"));
map.put(2L, new Question(2L, "2. O — Open/Closed Principle (Принцип открытости/закрытости)"));
map.put(3L, new Question(3L, "3. L — Liskov Substitution Principle (Принцип подстановки Барбары Лисков)"));
map.put(4L, new Question(4L, "4. I — Interface Segregation Principle (Принцип разделения интерфейсов)"));
map.put(5L, new Question(5L, "5. D — Dependency Inversion Principle (Принцип инверсии зависимостей)"));
- question.getAnswers().add(answer);
+ question.getAnswers().add(answer);*/
}
diff --git a/src/main/java/com/javarush/bekk/repository/Repository.java b/src/main/java/com/javarush/bekk/repository/Repository.java
index 55622bf..67ade6e 100644
--- a/src/main/java/com/javarush/bekk/repository/Repository.java
+++ b/src/main/java/com/javarush/bekk/repository/Repository.java
@@ -1,10 +1,6 @@
package com.javarush.bekk.repository;
-import com.javarush.bekk.entity.User;
-
import java.util.Collection;
-import java.util.Optional;
-import java.util.stream.Stream;
public interface Repository {
diff --git a/src/main/java/com/javarush/bekk/repository/UserRepository.java b/src/main/java/com/javarush/bekk/repository/UserRepository.java
deleted file mode 100644
index b50ef87..0000000
--- a/src/main/java/com/javarush/bekk/repository/UserRepository.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package com.javarush.bekk.repository;
-
-import com.javarush.bekk.entity.Role;
-import com.javarush.bekk.entity.User;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Optional;
-import java.util.concurrent.atomic.AtomicLong;
-import java.util.stream.Stream;
-
-public class UserRepository extends BaseRepository {
-
- private final Map map = new HashMap<>();
-
- public static final AtomicLong id = new AtomicLong(System.currentTimeMillis());
-
- public UserRepository() {
- map.put(1L, new User(1L, "Alisa", "qwerty", Role.USER));
- map.put(2L, new User(2L, "Bob", "", Role.GUEST));
- map.put(3L, new User(3L, "Carl", "admin", Role.ADMIN));
- map.put(4L, new User(4L, "Khmelov", "admin", Role.ADMIN));
- }
-
- /* @Override
- public Stream find(User pattern) {
- return map.values()
- .stream()
- .filter(user -> nullOrEquals(pattern.getId(), user.getId()))
- .filter(user -> nullOrEquals(pattern.getLogin(), user.getLogin()))
- .filter(user -> nullOrEquals(pattern.getPassword(), user.getPassword()))
- .filter(user -> nullOrEquals(pattern.getRole(), user.getRole()));
- }*/
-
-
-
-
-
-
-
-
-
- /*@Override
- public Collection getAll() {
- return map.values();
- }
-
- @Override
- public Optional get(long id) {
- return Optional.ofNullable(map.get(id));
- }
-
- @Override
- public void create(User entity) {
- entity.setId(id.incrementAndGet());
- update(entity);
- }
-
- @Override
- public void update(User entity) {
- map.put(entity.getId(), entity);
- }
-
- @Override
- public void delete(User entity) {
- map.remove(entity.getId());
- }*/
-}
diff --git a/src/main/java/com/javarush/bekk/service/UserService.java b/src/main/java/com/javarush/bekk/service/UserService.java
deleted file mode 100644
index 4805c59..0000000
--- a/src/main/java/com/javarush/bekk/service/UserService.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.javarush.bekk.service;
-
-import com.javarush.bekk.entity.User;
-import com.javarush.bekk.repository.UserRepository;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class UserService {
-
- private final UserRepository userRepository;
-
- public UserService(UserRepository userRepository) {
- this.userRepository = userRepository;
- }
-
- public void create(User user) {
- userRepository.create(user);
- }
-
- public void update(User user) {
- userRepository.update(user);
- }
-
- public void delete(User user) {
- userRepository.delete(user);
- }
-
- public Collection getAll() {
- return userRepository.getAll();
- }
-
- public Optional get(long id) {
- return Optional.ofNullable(userRepository.get(id));
- }
-
- /*public Optional get(String login, String password) {
- User patternUser = User.
- builder()
- .login(login)
- .password(password)
- .build();
- return userRepository.find(patternUser).findAny();
- }*/
-
-}
diff --git a/src/main/webapp/WEB-INF/edit-user.jsp b/src/main/webapp/WEB-INF/edit-user.jsp
deleted file mode 100644
index a0d0f12..0000000
--- a/src/main/webapp/WEB-INF/edit-user.jsp
+++ /dev/null
@@ -1,73 +0,0 @@
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@include file="parts/header.jsp" %>
-
-
-
-
-
-
diff --git a/src/main/webapp/WEB-INF/head.jsp b/src/main/webapp/WEB-INF/head.jsp
deleted file mode 100644
index 2f7b9f2..0000000
--- a/src/main/webapp/WEB-INF/head.jsp
+++ /dev/null
@@ -1,11 +0,0 @@
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-
-
- Title
-
-
-
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/list-user.jsp b/src/main/webapp/WEB-INF/list-user.jsp
deleted file mode 100644
index 3b2ca15..0000000
--- a/src/main/webapp/WEB-INF/list-user.jsp
+++ /dev/null
@@ -1,10 +0,0 @@
-<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@include file="parts/header.jsp" %>
-
-
- <%--user-это элемент массива, users-массив --%>
- ${user.login}
-
-
-
-
diff --git a/src/main/webapp/WEB-INF/play-game.jsp b/src/main/webapp/WEB-INF/play-game.jsp
deleted file mode 100644
index 2e19e9f..0000000
--- a/src/main/webapp/WEB-INF/play-game.jsp
+++ /dev/null
@@ -1,51 +0,0 @@
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-<%@ page contentType="text/html;charset=UTF-8" %>
-
-
-
-
-
-
-
-
-
-
-

-
-
-
-
${question.text}
-
-
-
-
-
diff --git a/src/main/webapp/WEB-INF/start-page.jsp b/src/main/webapp/WEB-INF/start-page.jsp
index 8957237..f1f3e31 100644
--- a/src/main/webapp/WEB-INF/start-page.jsp
+++ b/src/main/webapp/WEB-INF/start-page.jsp
@@ -5,7 +5,7 @@
-Старт тестирования по SOLID
+Старт тестирования по SOLID
<%--List Users--%>
<%--${user.login}--%>
diff --git a/src/main/webapp/WEB-INF/test-page.jsp b/src/main/webapp/WEB-INF/test-page.jsp
index 530abb7..452b3b6 100644
--- a/src/main/webapp/WEB-INF/test-page.jsp
+++ b/src/main/webapp/WEB-INF/test-page.jsp
@@ -6,13 +6,26 @@
@@ -40,3 +53,55 @@
--%>
+
+<%-------------------Было в play-game----------------------------------%>
+<%--
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ page contentType="text/html;charset=UTF-8" %>
+
+
+
+
+
+
+
+
+
+
+

+
+
+
+
${question.text}
+
+
+
--%>
From 0668a1c4461552ba06ea0cbd6a5a47740a763d13 Mon Sep 17 00:00:00 2001
From: "Bekk I.V." <888_1@mail.ru>
Date: Sat, 7 Feb 2026 22:57:56 +0500
Subject: [PATCH 17/20] Add classes
---
.../java/com/javarush/bekk/cmd/StartPage.java | 22 ++++++++-----------
.../java/com/javarush/bekk/cmd/TestPage.java | 8 ++++---
.../java/com/javarush/bekk/config/Config.java | 4 ++--
3 files changed, 16 insertions(+), 18 deletions(-)
diff --git a/src/main/java/com/javarush/bekk/cmd/StartPage.java b/src/main/java/com/javarush/bekk/cmd/StartPage.java
index 7a20b56..06a611d 100644
--- a/src/main/java/com/javarush/bekk/cmd/StartPage.java
+++ b/src/main/java/com/javarush/bekk/cmd/StartPage.java
@@ -2,27 +2,23 @@
import com.javarush.bekk.entity.Answer;
import com.javarush.bekk.entity.Question;
+import com.javarush.bekk.repository.QuestionRepository;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
+import lombok.AllArgsConstructor;
+
+import java.util.Collection;
@SuppressWarnings("unused")
+@AllArgsConstructor
public class StartPage implements Command {
+
+ private final QuestionRepository questionRepository;
+
@Override
public String doGet(HttpServletRequest request) {
HttpSession session = request.getSession();
- Question question = new Question();
- question.setId(1L);
- question.setText("Single Responsibility Principle (Принцип единственной ответственности)");
- Answer answer = new Answer();
- answer.setId(1L);
- answer.setText("Каждый класс должен иметь только одну причину для изменения, " +
- "то есть выполнять только одну задачу или отвечать за одну ответственность." +
- " Это повышает сплочённость (cohesion) и упрощает поддержку кода");
- Answer answer1 = new Answer();
- answer1.setId(2L);
- answer1.setText("Каждый класс должен иметь множество причин для изменения, то есть выполнять множество задач");
- session.setAttribute("answer", answer);
- session.setAttribute("answer1", answer1);
+ Question question = questionRepository.get(1L);
session.setAttribute("question", question);
return getView();
}
diff --git a/src/main/java/com/javarush/bekk/cmd/TestPage.java b/src/main/java/com/javarush/bekk/cmd/TestPage.java
index 641b9f7..6028fa1 100644
--- a/src/main/java/com/javarush/bekk/cmd/TestPage.java
+++ b/src/main/java/com/javarush/bekk/cmd/TestPage.java
@@ -18,8 +18,10 @@ public class TestPage implements Command {
@Override
public String doPost(HttpServletRequest request) {
- Question question = questionRepository.get(1L);
- question.
- return "";
+ HttpSession session = request.getSession();
+ //Object answer = session.getAttribute("answer");
+ Question question = questionRepository.get(2L);
+ session.setAttribute("question", question);
+ return getView();
}
}
diff --git a/src/main/java/com/javarush/bekk/config/Config.java b/src/main/java/com/javarush/bekk/config/Config.java
index 4f5c6e8..38cd564 100644
--- a/src/main/java/com/javarush/bekk/config/Config.java
+++ b/src/main/java/com/javarush/bekk/config/Config.java
@@ -15,8 +15,8 @@ public void fillRepository() {
question1.getAnswers().add(new Answer(1L, question1.getId(), "Каждый класс должен иметь только одну причину для изменения, " +
"то есть выполнять только одну задачу или отвечать за одну ответственность. Это повышает сплочённость (cohesion) и упрощает поддержку кода",
question1.getId() + 1));
- question1.getAnswers().add(new Answer(2L, question1.getId(), "Каждый класс должен иметь только одну причину для изменения, " +
- "то есть выполнять только одну задачу или отвечать за одну ответственность. Это повышает сплочённость (cohesion) и упрощает поддержку кода",
+ question1.getAnswers().add(new Answer(2L, question1.getId(), "Каждый класс должен иметь много причин для изменения, " +
+ "то есть выполнять много задач или отвечать за несколько ответственностей. Это повышает сплочённость (cohesion) и упрощает поддержку кода",
question1.getId() + 1));
questionRepository.create(question1);
From 8373be86797e1ed36343a501b5ff7f08905a3e44 Mon Sep 17 00:00:00 2001
From: "Bekk I.V." <888_1@mail.ru>
Date: Sun, 8 Feb 2026 12:26:35 +0500
Subject: [PATCH 18/20] Add Tests
---
.../java/com/javarush/bekk/cmd/EndPage.java | 4 +
.../java/com/javarush/bekk/cmd/PlayGame.java | 13 ---
.../java/com/javarush/bekk/cmd/TestPage.java | 12 +-
.../java/com/javarush/bekk/cmd/TestPage2.java | 27 +++++
.../java/com/javarush/bekk/cmd/TestPage3.java | 29 +++++
.../java/com/javarush/bekk/cmd/TestPage4.java | 28 +++++
.../java/com/javarush/bekk/cmd/TestPage5.java | 29 +++++
.../java/com/javarush/bekk/cmd/WinPage.java | 4 +
.../bekk/controller/FrontController.java | 2 +-
src/main/webapp/WEB-INF/end-page.jsp | 8 +-
src/main/webapp/WEB-INF/test-page.jsp | 2 +-
src/main/webapp/WEB-INF/test-page2.jsp | 107 ++++++++++++++++++
src/main/webapp/WEB-INF/test-page3.jsp | 107 ++++++++++++++++++
src/main/webapp/WEB-INF/test-page4.jsp | 107 ++++++++++++++++++
src/main/webapp/WEB-INF/test-page5.jsp | 107 ++++++++++++++++++
src/main/webapp/WEB-INF/win-page.jsp | 8 ++
16 files changed, 568 insertions(+), 26 deletions(-)
create mode 100644 src/main/java/com/javarush/bekk/cmd/EndPage.java
delete mode 100644 src/main/java/com/javarush/bekk/cmd/PlayGame.java
create mode 100644 src/main/java/com/javarush/bekk/cmd/TestPage2.java
create mode 100644 src/main/java/com/javarush/bekk/cmd/TestPage3.java
create mode 100644 src/main/java/com/javarush/bekk/cmd/TestPage4.java
create mode 100644 src/main/java/com/javarush/bekk/cmd/TestPage5.java
create mode 100644 src/main/java/com/javarush/bekk/cmd/WinPage.java
create mode 100644 src/main/webapp/WEB-INF/test-page2.jsp
create mode 100644 src/main/webapp/WEB-INF/test-page3.jsp
create mode 100644 src/main/webapp/WEB-INF/test-page4.jsp
create mode 100644 src/main/webapp/WEB-INF/test-page5.jsp
create mode 100644 src/main/webapp/WEB-INF/win-page.jsp
diff --git a/src/main/java/com/javarush/bekk/cmd/EndPage.java b/src/main/java/com/javarush/bekk/cmd/EndPage.java
new file mode 100644
index 0000000..56f3345
--- /dev/null
+++ b/src/main/java/com/javarush/bekk/cmd/EndPage.java
@@ -0,0 +1,4 @@
+package com.javarush.bekk.cmd;
+
+public class EndPage implements Command {
+}
diff --git a/src/main/java/com/javarush/bekk/cmd/PlayGame.java b/src/main/java/com/javarush/bekk/cmd/PlayGame.java
deleted file mode 100644
index a9c140d..0000000
--- a/src/main/java/com/javarush/bekk/cmd/PlayGame.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.javarush.bekk.cmd;
-
-import jakarta.servlet.http.HttpServletRequest;
-
-public class PlayGame implements Command {
-
- @Override
- public String doPost(HttpServletRequest request) {
- request.getSession().setAttribute("playGame", this);
-
- return "";
- }
-}
diff --git a/src/main/java/com/javarush/bekk/cmd/TestPage.java b/src/main/java/com/javarush/bekk/cmd/TestPage.java
index 6028fa1..591b855 100644
--- a/src/main/java/com/javarush/bekk/cmd/TestPage.java
+++ b/src/main/java/com/javarush/bekk/cmd/TestPage.java
@@ -19,9 +19,13 @@ public class TestPage implements Command {
@Override
public String doPost(HttpServletRequest request) {
HttpSession session = request.getSession();
- //Object answer = session.getAttribute("answer");
- Question question = questionRepository.get(2L);
- session.setAttribute("question", question);
- return getView();
+ int answer = Integer.parseInt(request.getParameter("answer"));
+ if (answer == 1){
+ Question question = questionRepository.get(1L);
+ session.setAttribute("question", question);
+ return getView();
+ } else {
+ return "end-page";
+ }
}
}
diff --git a/src/main/java/com/javarush/bekk/cmd/TestPage2.java b/src/main/java/com/javarush/bekk/cmd/TestPage2.java
new file mode 100644
index 0000000..b8d8a64
--- /dev/null
+++ b/src/main/java/com/javarush/bekk/cmd/TestPage2.java
@@ -0,0 +1,27 @@
+package com.javarush.bekk.cmd;
+
+import com.javarush.bekk.entity.Question;
+import com.javarush.bekk.repository.QuestionRepository;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpSession;
+import lombok.AllArgsConstructor;
+
+@AllArgsConstructor
+public class TestPage2 implements Command {
+ private final QuestionRepository questionRepository;
+
+
+
+ @Override
+ public String doPost(HttpServletRequest request) {
+ HttpSession session = request.getSession();
+ int answer = Integer.parseInt(request.getParameter("answer"));
+ if (answer == 1){
+ Question question = questionRepository.get(2L);
+ session.setAttribute("question", question);
+ return getView();
+ } else {
+ return "end-page";
+ }
+ }
+}
diff --git a/src/main/java/com/javarush/bekk/cmd/TestPage3.java b/src/main/java/com/javarush/bekk/cmd/TestPage3.java
new file mode 100644
index 0000000..0b56497
--- /dev/null
+++ b/src/main/java/com/javarush/bekk/cmd/TestPage3.java
@@ -0,0 +1,29 @@
+package com.javarush.bekk.cmd;
+
+import com.javarush.bekk.entity.Question;
+import com.javarush.bekk.repository.QuestionRepository;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpSession;
+import lombok.AllArgsConstructor;
+
+
+
+@AllArgsConstructor
+public class TestPage3 implements Command {
+ private final QuestionRepository questionRepository;
+
+
+
+ @Override
+ public String doPost(HttpServletRequest request) {
+ HttpSession session = request.getSession();
+ int answer = Integer.parseInt(request.getParameter("answer"));
+ if (answer == 1){
+ Question question = questionRepository.get(3L);
+ session.setAttribute("question", question);
+ return getView();
+ } else {
+ return "end-page";
+ }
+ }
+}
diff --git a/src/main/java/com/javarush/bekk/cmd/TestPage4.java b/src/main/java/com/javarush/bekk/cmd/TestPage4.java
new file mode 100644
index 0000000..c8202ef
--- /dev/null
+++ b/src/main/java/com/javarush/bekk/cmd/TestPage4.java
@@ -0,0 +1,28 @@
+package com.javarush.bekk.cmd;
+
+import com.javarush.bekk.entity.Question;
+import com.javarush.bekk.repository.QuestionRepository;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpSession;
+import lombok.AllArgsConstructor;
+
+@AllArgsConstructor
+public class TestPage4 implements Command {
+
+ private final QuestionRepository questionRepository;
+
+
+
+ @Override
+ public String doPost(HttpServletRequest request) {
+ HttpSession session = request.getSession();
+ int answer = Integer.parseInt(request.getParameter("answer"));
+ if (answer == 1){
+ Question question = questionRepository.get(4L);
+ session.setAttribute("question", question);
+ return getView();
+ } else {
+ return "end-page";
+ }
+ }
+}
diff --git a/src/main/java/com/javarush/bekk/cmd/TestPage5.java b/src/main/java/com/javarush/bekk/cmd/TestPage5.java
new file mode 100644
index 0000000..f129de0
--- /dev/null
+++ b/src/main/java/com/javarush/bekk/cmd/TestPage5.java
@@ -0,0 +1,29 @@
+package com.javarush.bekk.cmd;
+
+
+import com.javarush.bekk.entity.Question;
+import com.javarush.bekk.repository.QuestionRepository;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpSession;
+import lombok.AllArgsConstructor;
+
+@AllArgsConstructor
+public class TestPage5 implements Command {
+
+ private final QuestionRepository questionRepository;
+
+
+
+ @Override
+ public String doPost(HttpServletRequest request) {
+ HttpSession session = request.getSession();
+ int answer = Integer.parseInt(request.getParameter("answer"));
+ if (answer == 1){
+ Question question = questionRepository.get(5L);
+ session.setAttribute("question", question);
+ return getView();
+ } else {
+ return "end-page";
+ }
+ }
+}
diff --git a/src/main/java/com/javarush/bekk/cmd/WinPage.java b/src/main/java/com/javarush/bekk/cmd/WinPage.java
new file mode 100644
index 0000000..d135285
--- /dev/null
+++ b/src/main/java/com/javarush/bekk/cmd/WinPage.java
@@ -0,0 +1,4 @@
+package com.javarush.bekk.cmd;
+
+public class WinPage implements Command {
+}
diff --git a/src/main/java/com/javarush/bekk/controller/FrontController.java b/src/main/java/com/javarush/bekk/controller/FrontController.java
index 99257b7..dcc05e6 100644
--- a/src/main/java/com/javarush/bekk/controller/FrontController.java
+++ b/src/main/java/com/javarush/bekk/controller/FrontController.java
@@ -13,7 +13,7 @@
import java.io.IOException;
-@WebServlet({"", "/test-page"})
+@WebServlet({"", "/test-page", "/end-page", "/test-page2", "/test-page3", "/test-page4", "/test-page5", "/win-page", "/start-page"})
public class FrontController extends HttpServlet {
private final HttpResolver httpResolver = Winter.find(HttpResolver.class);
diff --git a/src/main/webapp/WEB-INF/end-page.jsp b/src/main/webapp/WEB-INF/end-page.jsp
index bd08c39..ad094be 100644
--- a/src/main/webapp/WEB-INF/end-page.jsp
+++ b/src/main/webapp/WEB-INF/end-page.jsp
@@ -3,12 +3,6 @@
<%--<%= "Тестирование по моим заметкам!" %>--%>
-
-Ответ не правильный. Тест окончен.
-<%--List Users--%>
-<%--${user.login}--%>
-
+Ответ не правильный. Тест окончен. Начать заново.
diff --git a/src/main/webapp/WEB-INF/test-page.jsp b/src/main/webapp/WEB-INF/test-page.jsp
index 452b3b6..025e07f 100644
--- a/src/main/webapp/WEB-INF/test-page.jsp
+++ b/src/main/webapp/WEB-INF/test-page.jsp
@@ -4,7 +4,7 @@
<%= "Тестирование по по SOLID" %>
-