diff --git a/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java b/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java index 7747e60..e9e04bc 100644 --- a/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java +++ b/portfolio/src/main/java/com/google/sps/servlets/DataServlet.java @@ -14,28 +14,32 @@ package com.google.sps.servlets; +import com.google.gson.Gson; import java.io.IOException; +import java.util.ConcurrentHashMap; +import java.util.Map; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; -import com.google.gson.Gson; - -/** Servlet that returns some example content. TODO: modify this file to handle comments data */ +/** Servlet that returns some example content. */ @WebServlet("/data") public class DataServlet extends HttpServlet { - ArrayList messages = new ArrayList<>(); + private final Map messagesByUsername = new ConcurrentHashMap<>(); @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { - messages.add("This is brought to you by JSON"); - messages.add("JSON is JavaScript Object Notation"); - messages.add("It is great for storing data like this"); - response.setContentType("application/json;"); - String json = new Gson().toJson(messages); + String json = new Gson().toJson(messagesByUsername); response.getWriter().println(json); } + + @Override + public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { + String username = request.getParameter("username"); + String message = request.getParameter("comment-or-question"); + messagesByUsername.put(username, message); + response.sendRedirect("/index.html"); + } } diff --git a/portfolio/src/main/webapp/index.html b/portfolio/src/main/webapp/index.html index d22d2dc..af2864e 100644 --- a/portfolio/src/main/webapp/index.html +++ b/portfolio/src/main/webapp/index.html @@ -19,6 +19,13 @@

Ihsan Olawale's Portfolio

After seeing what I look like, you might be interested to know more about me. Don't worry, I considered this during the design phase, and presented an opportunity to cycle through assorted facts.

+
+

Comment here on your perception of the content. Or ask me any questions about me.


+ + +

+ +
diff --git a/portfolio/src/main/webapp/script.js b/portfolio/src/main/webapp/script.js index 160b549..3c397f8 100644 --- a/portfolio/src/main/webapp/script.js +++ b/portfolio/src/main/webapp/script.js @@ -53,8 +53,8 @@ function displayMessages() { console.log(messages); const messageContainer = document.getElementById('messages-container'); messageContainer.innerText = ''; - for (const message of messages) { - messageContainer.innerText += message + '\n'; + for (const username in messages) { + messageContainer.innerText += username + ': ' + messages[username] + '\n\n'; } }); }