From c0d8243016a5b888394496b7c25385e7942e8f80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenzo=20Dellac=C3=A0?= Date: Tue, 3 Aug 2021 00:39:21 +0200 Subject: [PATCH] Implement basic login demo --- .idea/compiler.xml | 13 ++++ .idea/jarRepositories.xml | 20 ++++++ .idea/modules.xml | 8 --- .idea/vcs.xml | 6 ++ Commenting-Server.iml | 9 --- pom.xml | 67 ++++++++++++++++++- .../comments/CommentingServer.java | 14 ++++ .../net/mindoverflow/comments/WebServer.java | 63 +++++++++++++++++ src/main/resources/META-INF/MANIFEST.MF | 0 src/main/resources/templates/login.ftl | 14 ++++ 10 files changed, 196 insertions(+), 18 deletions(-) create mode 100644 .idea/compiler.xml create mode 100644 .idea/jarRepositories.xml delete mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml delete mode 100644 Commenting-Server.iml create mode 100644 src/main/java/net/mindoverflow/comments/CommentingServer.java create mode 100644 src/main/java/net/mindoverflow/comments/WebServer.java create mode 100644 src/main/resources/META-INF/MANIFEST.MF create mode 100644 src/main/resources/templates/login.ftl diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..c306a59 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index a1e1edf..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Commenting-Server.iml b/Commenting-Server.iml deleted file mode 100644 index d6ebd48..0000000 --- a/Commenting-Server.iml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index 3b973b7..c196b10 100644 --- a/pom.xml +++ b/pom.xml @@ -5,12 +5,77 @@ 4.0.0 net.mindoverflow.comments - Commenting-Server + CommentingServer 1.0-SNAPSHOT + jar 11 11 + + + org.slf4j + slf4j-simple + 2.0.0-alpha1 + + + ro.pippo + pippo-core + 1.13.1 + + + ro.pippo + pippo-freemarker + 1.13.1 + + + ro.pippo + pippo-controller + 1.13.1 + + + ro.pippo + pippo-jetty + 1.13.1 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 11 + + + + org.apache.maven.plugins + maven-assembly-plugin + + + create-my-bundle + package + + single + + + + jar-with-dependencies + + + + net.mindoverflow.comments.CommentingServer + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/net/mindoverflow/comments/CommentingServer.java b/src/main/java/net/mindoverflow/comments/CommentingServer.java new file mode 100644 index 0000000..a1ad328 --- /dev/null +++ b/src/main/java/net/mindoverflow/comments/CommentingServer.java @@ -0,0 +1,14 @@ +package net.mindoverflow.comments; + +import ro.pippo.core.Pippo; + +public class CommentingServer +{ + + public static void main(String[] args) + { + final Pippo pippo = new Pippo(new WebServer()); + pippo.start(); + + } +} diff --git a/src/main/java/net/mindoverflow/comments/WebServer.java b/src/main/java/net/mindoverflow/comments/WebServer.java new file mode 100644 index 0000000..ee51914 --- /dev/null +++ b/src/main/java/net/mindoverflow/comments/WebServer.java @@ -0,0 +1,63 @@ +package net.mindoverflow.comments; + +import ro.pippo.core.Application; +import ro.pippo.core.route.TrailingSlashHandler; + +import java.awt.*; +import java.util.*; + +public class WebServer extends Application +{ + + String username = "lollo"; + String userpass = "password"; + + @Override + public void onInit() + { + + POST("/login", routeContext -> { + System.out.println("POST"); + + String name = routeContext.getParameter("username").toString(); + System.out.println(name); + + String password = routeContext.getParameter("password").toString(); + System.out.println(password); + + + Map model = new HashMap<>(); + + if(name.isEmpty()) + { + model.put("errorMessage", "Empty username!"); + } + else if (password.isEmpty()) + { + model.put("errorMessage", "Empty password!"); + } + else if(!name.equals(username) || !password.equals(userpass)) + { + model.put("errorMessage", "Wrong username or password!"); + + } + else + { + model.put("errorMessage", "Logged in!"); + } + + + routeContext.render("login", model); + + }); + + GET("/login", routeContext -> + { + System.out.println("GET"); + + routeContext.render("login"); + }); + + ANY("/.*", new TrailingSlashHandler(false)); // remove trailing slash + } +} diff --git a/src/main/resources/META-INF/MANIFEST.MF b/src/main/resources/META-INF/MANIFEST.MF new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/templates/login.ftl b/src/main/resources/templates/login.ftl new file mode 100644 index 0000000..c40c368 --- /dev/null +++ b/src/main/resources/templates/login.ftl @@ -0,0 +1,14 @@ + + + Login + + +

Login Form

+
<#if errorMessage??>${errorMessage}
+
+ + + +
+ + \ No newline at end of file