Skip to content

Commit 5c82c30

Browse files
Регистрация, логин, AccountService, Admin, выход, проверка пользователя
1 parent c3c2503 commit 5c82c30

11 files changed

+385
-48
lines changed
2.61 MB
Binary file not shown.

ConnectFour.iml

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3+
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false">
4+
<output url="file://$MODULE_DIR$/target/classes" />
5+
<output-test url="file://$MODULE_DIR$/target/test-classes" />
6+
<content url="file://$MODULE_DIR$">
7+
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
8+
<excludeFolder url="file://$MODULE_DIR$/target" />
9+
</content>
10+
<orderEntry type="inheritedJdk" />
11+
<orderEntry type="sourceFolder" forTests="false" />
12+
<orderEntry type="module-library">
13+
<library>
14+
<CLASSES>
15+
<root url="jar://$APPLICATION_HOME_DIR$/lib/org.json-20120521.jar!/" />
16+
</CLASSES>
17+
<JAVADOC />
18+
<SOURCES />
19+
</library>
20+
</orderEntry>
21+
<orderEntry type="library" name="Maven: org.freemarker:freemarker:2.3.20" level="project" />
22+
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-server:9.3.0.M0" level="project" />
23+
<orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:3.1.0" level="project" />
24+
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-http:9.3.0.M0" level="project" />
25+
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-util:9.3.0.M0" level="project" />
26+
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-io:9.3.0.M0" level="project" />
27+
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-webapp:9.3.0.M0" level="project" />
28+
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-xml:9.3.0.M0" level="project" />
29+
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-servlet:9.3.0.M0" level="project" />
30+
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-security:9.3.0.M0" level="project" />
31+
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-rewrite:9.3.0.M0" level="project" />
32+
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-client:9.3.0.M0" level="project" />
33+
<orderEntry type="library" name="Maven: org.json:json:20131018" level="project" />
34+
</component>
35+
</module>

src/main/java/admin/AdminServlet.java

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package admin;
2+
3+
import org.jetbrains.annotations.NotNull;
4+
import main.AccountService;
5+
6+
import javax.servlet.ServletException;
7+
import javax.servlet.http.HttpServlet;
8+
import javax.servlet.http.HttpServletRequest;
9+
import javax.servlet.http.HttpServletResponse;
10+
import java.io.IOException;
11+
import java.io.PrintWriter;
12+
13+
14+
public class AdminServlet extends HttpServlet {
15+
public static final String PAGE_URL = "/admin";
16+
17+
@NotNull
18+
private AccountService accountService;
19+
20+
public AdminServlet(@NotNull AccountService accountService) {
21+
this.accountService = accountService;
22+
}
23+
24+
@Override
25+
public void doGet(HttpServletRequest request,
26+
HttpServletResponse response) throws ServletException, IOException {
27+
String shutdown = request.getParameter("shutdown");
28+
29+
PrintWriter writer = response.getWriter();
30+
31+
if (shutdown != null && !shutdown.isEmpty()) {
32+
try {
33+
int shut = Integer.parseInt(shutdown);
34+
System.out.print("выключение сервера через " + shut + " ms");
35+
Thread.sleep(shut);
36+
37+
} catch (InterruptedException e) {
38+
e.printStackTrace();
39+
}
40+
System.out.print("\nShutdown");
41+
System.exit(0);
42+
}
43+
44+
response.setContentType("application/json");
45+
response.setCharacterEncoding("UTF-8");
46+
//response.getWriter().write(jsonResponse.toString());
47+
response.setStatus(HttpServletResponse.SC_OK);
48+
}
49+
}
50+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package frontend;
2+
3+
4+
import main.AccountService;
5+
import org.jetbrains.annotations.NotNull;
6+
import org.json.JSONObject;
7+
8+
import javax.servlet.ServletException;
9+
import javax.servlet.http.HttpServlet;
10+
import javax.servlet.http.HttpServletRequest;
11+
import javax.servlet.http.HttpServletResponse;
12+
import javax.servlet.http.HttpSession;
13+
import java.io.IOException;
14+
import java.util.HashMap;
15+
import java.util.Map;
16+
17+
public class CheckAuthServlet extends HttpServlet {
18+
public static final String PAGE_URL = "/checkAuth";
19+
20+
@NotNull
21+
private AccountService accountService;
22+
23+
public CheckAuthServlet(@NotNull AccountService accountService) {
24+
this.accountService = accountService;
25+
}
26+
27+
@Override
28+
public void doGet(HttpServletRequest request,
29+
HttpServletResponse response) throws ServletException, IOException {
30+
31+
Map<String, Object> objResponse = new HashMap<>();
32+
objResponse.put("auth", true);
33+
34+
HttpSession session = request.getSession();
35+
36+
if (!accountService.checkAuth(session)) {
37+
objResponse.put("auth", false);
38+
}
39+
40+
JSONObject jsonResponse = new JSONObject(objResponse);
41+
response.setContentType("application/json");
42+
response.setCharacterEncoding("UTF-8");
43+
response.getWriter().write(jsonResponse.toString());
44+
response.setStatus(HttpServletResponse.SC_OK);
45+
}
46+
}
+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package frontend;
2+
3+
import main.AccountService;
4+
import org.jetbrains.annotations.NotNull;
5+
import org.json.JSONObject;
6+
7+
import javax.servlet.ServletException;
8+
import javax.servlet.http.HttpServlet;
9+
import javax.servlet.http.HttpServletRequest;
10+
import javax.servlet.http.HttpServletResponse;
11+
import javax.servlet.http.HttpSession;
12+
import java.io.IOException;
13+
import java.util.HashMap;
14+
import java.util.Map;
15+
16+
public class LogOutServlet extends HttpServlet {
17+
public static final String PAGE_URL = "/exit";
18+
19+
@NotNull
20+
private AccountService accountService;
21+
22+
public LogOutServlet(@NotNull AccountService accountService) {
23+
this.accountService = accountService;
24+
}
25+
26+
@Override
27+
public void doGet(HttpServletRequest request,
28+
HttpServletResponse response) throws ServletException, IOException {
29+
30+
Map<String, Object> objResponse = new HashMap<>();
31+
objResponse.put("exit", false);
32+
33+
HttpSession session = request.getSession();
34+
35+
if (accountService.logOut(session)) {
36+
objResponse.put("exit", true);
37+
}
38+
39+
JSONObject jsonResponse = new JSONObject(objResponse);
40+
response.setContentType("application/json");
41+
response.setCharacterEncoding("UTF-8");
42+
response.getWriter().write(jsonResponse.toString());
43+
response.setStatus(HttpServletResponse.SC_OK);
44+
}
45+
}
+19-20
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,58 @@
11
package frontend;
22

33
import main.AccountService;
4-
import main.UserProfile;
5-
import templater.PageGenerator;
4+
import org.jetbrains.annotations.NotNull;
5+
import org.json.JSONObject;
66

77
import javax.servlet.ServletException;
88
import javax.servlet.http.HttpServlet;
99
import javax.servlet.http.HttpServletRequest;
1010
import javax.servlet.http.HttpServletResponse;
11+
import javax.servlet.http.HttpSession;
1112
import java.io.IOException;
1213
import java.util.HashMap;
1314
import java.util.Map;
1415

15-
/**
16-
* @author v.chibrikov
17-
*/
16+
1817
public class LoginServlet extends HttpServlet {
18+
public static final String PAGE_URL = "/login";
19+
20+
@NotNull
1921
private AccountService accountService;
2022

21-
public LoginServlet(AccountService accountService) {
23+
public LoginServlet(@NotNull AccountService accountService) {
2224
this.accountService = accountService;
2325
}
2426

27+
/*
2528
public void doGet(HttpServletRequest request,
2629
HttpServletResponse response) throws ServletException, IOException {
2730
2831
}
32+
*/
2933

34+
@Override
3035
public void doPost(HttpServletRequest request,
3136
HttpServletResponse response) throws ServletException, IOException {
3237

3338
String login = request.getParameter("login");
3439
String password = request.getParameter("password");
3540

36-
UserProfile profile = accountService.getUser(login);
3741

38-
boolean isAuth = false;
39-
if (profile != null) {
40-
if (profile.getPassword().equals(password)) {
41-
isAuth = true;
42-
}
43-
}
42+
Map<String, Object> objResponse = new HashMap<>();
43+
objResponse.put("name", login);
44+
objResponse.put("auth", false);
4445

45-
String json;
46+
HttpSession session = request.getSession();
4647

47-
if (isAuth) {
48-
json = "{ \"auth\": true }";
49-
} else {
50-
json = "{ \"auth\": false }";
48+
if (accountService.singIn(session, login, password) != -1) {
49+
objResponse.put("auth", true);
5150
}
5251

52+
JSONObject jsonResponse = new JSONObject(objResponse);
5353
response.setContentType("application/json");
5454
response.setCharacterEncoding("UTF-8");
55-
response.getWriter().write(json);
55+
response.getWriter().write(jsonResponse.toString());
5656
response.setStatus(HttpServletResponse.SC_OK);
57-
5857
}
5958
}

src/main/java/frontend/RegisterServlet.java

+32-10
Original file line numberDiff line numberDiff line change
@@ -10,34 +10,56 @@
1010
import java.io.IOException;
1111
import java.util.HashMap;
1212
import java.util.Map;
13+
14+
import org.jetbrains.annotations.NotNull;
1315
import org.json.JSONObject;
1416

1517
public class RegisterServlet extends HttpServlet {
18+
public static final String PAGE_URL = "/register";
19+
20+
@NotNull
1621
private AccountService accountService;
1722

18-
public RegisterServlet(AccountService accountService) {
23+
public RegisterServlet(@NotNull AccountService accountService) {
1924
this.accountService = accountService;
2025
}
2126

22-
public void doGet(HttpServletRequest request,
23-
HttpServletResponse response) throws ServletException, IOException {
24-
25-
}
26-
27+
@Override
2728
public void doPost(HttpServletRequest request,
2829
HttpServletResponse response) throws ServletException, IOException {
2930

3031
String name = request.getParameter("login");
3132
String email = request.getParameter("email");
3233
String password = request.getParameter("password");
3334

35+
3436
Map<String, Object> objResponse = new HashMap<>();
35-
objResponse.put("signup", false);
36-
objResponse.put("name", name);
37+
objResponse.put("signup", false); ///// что возвращать???? true -&????? false - ?????
38+
objResponse.put("login", "notexists"); /////!!!!!!!!!!!!!!
39+
objResponse.put("email", true);
40+
objResponse.put("password", true);
41+
42+
boolean isOk = true;
3743

38-
if (accountService.addUser(name, new UserProfile(name, password, email))) {
39-
objResponse.replace("signup", true);
44+
if (!accountService.validationName(name)) {
45+
//objResponse.put("login", "exists");
46+
isOk = false;
47+
} if (!accountService.validationEmail(email)) {
48+
objResponse.put("email", false);
49+
isOk = false;
50+
} if (!accountService.validationPassword(password)) {
51+
objResponse.put("password", false);
52+
isOk = false;
4053
}
54+
55+
if (isOk) {
56+
if (accountService.singUp(new UserProfile(name, password, email))) {
57+
objResponse.put("signup", true);
58+
} else {
59+
objResponse.put("login", "exists");
60+
}
61+
}
62+
4163
JSONObject jsonResponse = new JSONObject(objResponse);
4264
response.setContentType("application/json");
4365
response.setCharacterEncoding("UTF-8");

0 commit comments

Comments
 (0)