From f20dee715919d4e805b7c9d945fffde87db2a16e Mon Sep 17 00:00:00 2001 From: Janis Streib Date: Fri, 20 Jun 2014 18:12:33 +0200 Subject: [PATCH] ADD: Basic page abstraction --- src/org/cacert/gigi/Gigi.java | 15 +++++++++------ src/org/cacert/gigi/LoginPage.java | 20 ++++++++++++++++++++ src/org/cacert/gigi/Page.java | 18 ++++++++++++++++++ 3 files changed, 47 insertions(+), 6 deletions(-) create mode 100644 src/org/cacert/gigi/LoginPage.java create mode 100644 src/org/cacert/gigi/Page.java diff --git a/src/org/cacert/gigi/Gigi.java b/src/org/cacert/gigi/Gigi.java index 88c85ce1..953530d5 100644 --- a/src/org/cacert/gigi/Gigi.java +++ b/src/org/cacert/gigi/Gigi.java @@ -2,6 +2,7 @@ package org.cacert.gigi; import java.io.IOException; import java.security.cert.X509Certificate; +import java.util.HashMap; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; @@ -10,6 +11,13 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class Gigi extends HttpServlet { + private HashMap pages = new HashMap(); + @Override + public void init() throws ServletException { + pages.put("login", new LoginPage()); + super.init(); + } + @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { @@ -38,13 +46,8 @@ public class Gigi extends HttpServlet { } if (hs == null || !((Boolean) hs.getAttribute("loggedin"))) { - resp.setContentType("text/html"); resp.getWriter().println("Access denied. Sending login form."); - resp.getWriter() - .println( - "
" - + "" - + "
"); + pages.get("login").doGet(req, resp); return; } resp.getWriter().println("Access granted."); diff --git a/src/org/cacert/gigi/LoginPage.java b/src/org/cacert/gigi/LoginPage.java new file mode 100644 index 00000000..419ebb44 --- /dev/null +++ b/src/org/cacert/gigi/LoginPage.java @@ -0,0 +1,20 @@ +package org.cacert.gigi; + +import java.io.IOException; + +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +public class LoginPage extends Page { + @Override + public void doGet(ServletRequest req, ServletResponse resp) + throws IOException { + super.doGet(req, resp); + resp.getWriter() + .println( + "
" + + "" + + "
"); + } + +} diff --git a/src/org/cacert/gigi/Page.java b/src/org/cacert/gigi/Page.java new file mode 100644 index 00000000..77ffbb67 --- /dev/null +++ b/src/org/cacert/gigi/Page.java @@ -0,0 +1,18 @@ +package org.cacert.gigi; + +import java.io.IOException; + +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; + +public abstract class Page { + public void doGet(ServletRequest req, ServletResponse resp) + throws IOException { + resp.setContentType("text/html"); + } + + public void doPost(ServletRequest req, ServletResponse resp) + throws IOException { + doGet(req, resp); + } +} -- 2.39.2