diff --git a/portfolio/pom.xml b/portfolio/pom.xml index bf4dc98..47d81ee 100644 --- a/portfolio/pom.xml +++ b/portfolio/pom.xml @@ -38,6 +38,12 @@ jetty-annotations ${jetty.version} + + + com.google.code.gson + gson + 2.8.6 + diff --git a/portfolio/src/main/java/com/google/sps/servlets/FormHandlerServlet.java b/portfolio/src/main/java/com/google/sps/servlets/FormHandlerServlet.java new file mode 100644 index 0000000..92ebcca --- /dev/null +++ b/portfolio/src/main/java/com/google/sps/servlets/FormHandlerServlet.java @@ -0,0 +1,27 @@ +package com.google.sps.servlets; + +import java.io.IOException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +@WebServlet("/form-handler") + +public class FormHandlerServlet extends HttpServlet { + @Override + public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { + // Get the value entered in the form. + String textValue = request.getParameter("text-input"); + + // Print the value so you can see it in the server logs. + System.out.println("You submitted: " + textValue); + + // Write the value to the response so the user can see it. + //want to be able to confirm resolution then go back to the page + response.setContentType("text/html;"); + response.getWriter().println("You submitted: " + textValue); + + response.sendRedirect("http://gsigala-sps-spring21.appspot.com"); + } +} \ No newline at end of file diff --git a/portfolio/src/main/java/com/google/sps/servlets/week2Servelet.java b/portfolio/src/main/java/com/google/sps/servlets/week2Servelet.java index 78e90b4..f298ce2 100644 --- a/portfolio/src/main/java/com/google/sps/servlets/week2Servelet.java +++ b/portfolio/src/main/java/com/google/sps/servlets/week2Servelet.java @@ -1,21 +1,34 @@ package com.google.sps.servlets; + import java.io.IOException; +import java.util.ArrayList; +import com.google.gson.Gson; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + /** Servlet that returns HTML that contains the page view count. */ @WebServlet("/week2") public class week2Servelet extends HttpServlet { - - @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + ArrayList randomMessage= new ArrayList(); + randomMessage.add("Hello there!"); + randomMessage.add("Hope you enjoy your stay."); + randomMessage.add("Stay tuned for what to come"); - response.setContentType("text/html;"); - response.getWriter().println("

This is a servelet example:

"); - response.getWriter().println("

Hello world!

"); + String json = convertToJsonUsingGson(randomMessage); + //not exactly sure + response.setContentType("application/json;"); + response.getWriter().println(json); + + } + private static String convertToJsonUsingGson(ArrayList randomMessage) { + Gson gson = new Gson(); + String json = gson.toJson(randomMessage); + return json; } } \ No newline at end of file diff --git a/portfolio/src/main/webapp/index.html b/portfolio/src/main/webapp/index.html index 969c74b..c374cf1 100644 --- a/portfolio/src/main/webapp/index.html +++ b/portfolio/src/main/webapp/index.html @@ -5,6 +5,7 @@ My Portfolio +
@@ -24,11 +25,20 @@

Gregorio Sigala's Portfolio

either "I love it" or "this just ruined the app for me." Regardless if the feature is usefull or not, if it doesn't feel nice then no one is going to use it.

-

Click here to see content created by server code.

-

Click here to see a servelet in action

+ +

+

Click here to get a random message:

+ +
+

Enter some text here:

+ +
+ +
+
diff --git a/portfolio/src/main/webapp/new_script.js b/portfolio/src/main/webapp/new_script.js new file mode 100644 index 0000000..c9230e5 --- /dev/null +++ b/portfolio/src/main/webapp/new_script.js @@ -0,0 +1,8 @@ +//will return a hardcoded message from json +async function random_greeting() { + const responseFromServer = await fetch('/week2');// week 2 is the week2Servelet.java + const messageContainer = document.getElementById('message-container'); + + const textFromResponse = await responseFromServer.json(); + messageContainer.innerText = textFromResponse[Math.floor(Math.random() * 3)]; +} diff --git a/walkthroughs/week-2-server/examples/server-stats/src/main/java/com/google/sps/servlets/ServerStatsServlet.java b/walkthroughs/week-2-server/examples/server-stats/src/main/java/com/google/sps/servlets/ServerStatsServlet.java index 4a85cb1..0865c9e 100644 --- a/walkthroughs/week-2-server/examples/server-stats/src/main/java/com/google/sps/servlets/ServerStatsServlet.java +++ b/walkthroughs/week-2-server/examples/server-stats/src/main/java/com/google/sps/servlets/ServerStatsServlet.java @@ -37,7 +37,8 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro // Convert the server stats to JSON ServerStats serverStats = new ServerStats(startTime, currentTime, maxMemory, usedMemory); - String json = convertToJson(serverStats); + //String json = convertToJson(serverStats); + String json = convertToJsonUsingGson(serverStats); // Send the JSON as the response response.setContentType("application/json;");