From 600acb4f75cc6917beae5cc48d385aaa57ebf0fc Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 15 Jun 2022 12:16:40 -0500 Subject: [PATCH 01/40] updated with request.getDispatcher()... --- src/main/java/HelloWorldServlet.java | 6 ++++-- src/main/java/LoginServlet.java | 2 ++ src/main/webapp/login.jsp | 16 ++++++++++++++++ src/main/webapp/profile.jsp | 16 ++++++++++++++++ 4 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 src/main/java/LoginServlet.java create mode 100644 src/main/webapp/login.jsp create mode 100644 src/main/webapp/profile.jsp diff --git a/src/main/java/HelloWorldServlet.java b/src/main/java/HelloWorldServlet.java index c9f9fef714..068b4a8408 100644 --- a/src/main/java/HelloWorldServlet.java +++ b/src/main/java/HelloWorldServlet.java @@ -1,3 +1,4 @@ +import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; @@ -6,7 +7,8 @@ @WebServlet(name = "HelloWorldServlet", urlPatterns = "/") public class HelloWorldServlet extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { - response.getWriter().println("

Hello, World!

"); + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { +// response.getWriter().println("

Hello, World!

"); + request.getRequestDispatcher("/index.jsp").forward(request, response); } } diff --git a/src/main/java/LoginServlet.java b/src/main/java/LoginServlet.java new file mode 100644 index 0000000000..c855fcc16f --- /dev/null +++ b/src/main/java/LoginServlet.java @@ -0,0 +1,2 @@ +package PACKAGE_NAME;public class Login { +} diff --git a/src/main/webapp/login.jsp b/src/main/webapp/login.jsp new file mode 100644 index 0000000000..766e8b3af7 --- /dev/null +++ b/src/main/webapp/login.jsp @@ -0,0 +1,16 @@ +<%-- + Created by IntelliJ IDEA. + User: boryanadimova + Date: 6/14/22 + Time: 3:10 PM + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Title + + + + + diff --git a/src/main/webapp/profile.jsp b/src/main/webapp/profile.jsp new file mode 100644 index 0000000000..d71024540d --- /dev/null +++ b/src/main/webapp/profile.jsp @@ -0,0 +1,16 @@ +<%-- + Created by IntelliJ IDEA. + User: boryanadimova + Date: 6/14/22 + Time: 3:11 PM + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Title + + + + + From 52835f8cee0901da628cec70d5a695f35b1acd15 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 15 Jun 2022 12:17:06 -0500 Subject: [PATCH 02/40] done with login Servlet --- src/main/java/LoginServlet.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/LoginServlet.java b/src/main/java/LoginServlet.java index c855fcc16f..327dc81a39 100644 --- a/src/main/java/LoginServlet.java +++ b/src/main/java/LoginServlet.java @@ -1,2 +1,14 @@ -package PACKAGE_NAME;public class Login { +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@WebServlet(name = "LoginServlet", urlPatterns = "/login") +public class LoginServlet extends HttpServlet { + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { + request.getRequestDispatcher("/login.jsp").forward(request, response); + } } From a36777596687fbcec7e7df99f75e7df9e54a24bb Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 15 Jun 2022 12:17:36 -0500 Subject: [PATCH 03/40] done with login.jsp --- src/main/webapp/login.jsp | 62 +++++++++++++++++++++++++++++++-------- 1 file changed, 49 insertions(+), 13 deletions(-) diff --git a/src/main/webapp/login.jsp b/src/main/webapp/login.jsp index 766e8b3af7..edc591bae0 100644 --- a/src/main/webapp/login.jsp +++ b/src/main/webapp/login.jsp @@ -1,16 +1,52 @@ -<%-- - Created by IntelliJ IDEA. - User: boryanadimova - Date: 6/14/22 - Time: 3:10 PM - To change this template use File | Settings | File Templates. ---%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> + +<%--@WebServlet(name = "LoginPage", urlPatterns = "/login.jsp")--%> +<%--public class HelloWorldServlet extends HttpServlet {--%> + +<%--@Override--%> +<%--protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {--%> +<%--response.setContentType("text/html");--%> +<%--PrintWriter out = response.getWriter();--%> +<%--out.println("

Hello, World!

");--%> +<%--}--%> +<%--}--%> + +<% + if(request.getMethod().equals("POST")) { + String userName = request.getParameter("userName"); + String pass = request.getParameter("pass"); + if (userName.equals("admin") && pass.equals("password")) { + response.sendRedirect("/profile.jsp"); + } + } + +%> + - - Title - - - - + + LoginServlet page + + +
+
+
+
+

This is where you login

+
+
+ Username: + +
+
+ Password: + +
+
+ +
+
+
+
+ From 6948eb33fbc6115dd8fe797b0f2e6e6b832af2ab Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 15 Jun 2022 12:18:03 -0500 Subject: [PATCH 04/40] created --- src/main/webapp/profile.jsp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/webapp/profile.jsp b/src/main/webapp/profile.jsp index d71024540d..d3b9bec315 100644 --- a/src/main/webapp/profile.jsp +++ b/src/main/webapp/profile.jsp @@ -7,10 +7,10 @@ --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> - + Title - - - - + + + + From b08955b12f2cd5dfe8ff3858a51fe5af1d2eb67c Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 15 Jun 2022 14:01:02 -0500 Subject: [PATCH 05/40] new name --- .../java/{HelloWorldServlet.java => HelloWorldServlet1.java} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename src/main/java/{HelloWorldServlet.java => HelloWorldServlet1.java} (80%) diff --git a/src/main/java/HelloWorldServlet.java b/src/main/java/HelloWorldServlet1.java similarity index 80% rename from src/main/java/HelloWorldServlet.java rename to src/main/java/HelloWorldServlet1.java index 068b4a8408..25945c03cd 100644 --- a/src/main/java/HelloWorldServlet.java +++ b/src/main/java/HelloWorldServlet1.java @@ -6,9 +6,9 @@ import java.io.IOException; @WebServlet(name = "HelloWorldServlet", urlPatterns = "/") -public class HelloWorldServlet extends HttpServlet { +public class HelloWorldServlet1 extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { -// response.getWriter().println("

Hello, World!

"); +// response.getWriter().println("

Hello, World!

"); request.getRequestDispatcher("/index.jsp").forward(request, response); } } From 3e44b5d38a5eb3fa382045665698cc795a1124d7 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 15 Jun 2022 14:02:14 -0500 Subject: [PATCH 06/40] test --- src/main/webapp/login.jsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/webapp/login.jsp b/src/main/webapp/login.jsp index edc591bae0..7fb8bdae8b 100644 --- a/src/main/webapp/login.jsp +++ b/src/main/webapp/login.jsp @@ -2,7 +2,7 @@ <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%--@WebServlet(name = "LoginPage", urlPatterns = "/login.jsp")--%> -<%--public class HelloWorldServlet extends HttpServlet {--%> +<%--public class HelloWorldServlet1 extends HttpServlet {--%> <%--@Override--%> <%--protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {--%> From 32e076b7aebfd390ad604a9e67354cc1ce99eaac Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 15 Jun 2022 14:12:37 -0500 Subject: [PATCH 07/40] created --- src/main/webapp/partials/head.jsp | 16 ++++++++++++++++ src/main/webapp/partials/navbar.jsp | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 src/main/webapp/partials/head.jsp create mode 100644 src/main/webapp/partials/navbar.jsp diff --git a/src/main/webapp/partials/head.jsp b/src/main/webapp/partials/head.jsp new file mode 100644 index 0000000000..40661458b6 --- /dev/null +++ b/src/main/webapp/partials/head.jsp @@ -0,0 +1,16 @@ +<%-- + Created by IntelliJ IDEA. + User: boryanadimova + Date: 6/15/22 + Time: 2:12 PM + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Title + + + + + diff --git a/src/main/webapp/partials/navbar.jsp b/src/main/webapp/partials/navbar.jsp new file mode 100644 index 0000000000..9e5e9fb4af --- /dev/null +++ b/src/main/webapp/partials/navbar.jsp @@ -0,0 +1,16 @@ +<%-- + Created by IntelliJ IDEA. + User: boryanadimova + Date: 6/15/22 + Time: 2:11 PM + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + $Title$ + + + $END$ + + From 785752854067253a98aa5aebc8ceca06a205312c Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 15 Jun 2022 14:12:48 -0500 Subject: [PATCH 08/40] created --- src/main/webapp/partials/navbar.jsp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/webapp/partials/navbar.jsp b/src/main/webapp/partials/navbar.jsp index 9e5e9fb4af..e88d249535 100644 --- a/src/main/webapp/partials/navbar.jsp +++ b/src/main/webapp/partials/navbar.jsp @@ -7,10 +7,10 @@ --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> - - $Title$ - - - $END$ - + + Title + + + + From 3b32c350619e95e4294560c1121281c76ee9c4a0 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 15 Jun 2022 14:30:31 -0500 Subject: [PATCH 09/40] finished merge --- .gitignore | 1 - README.md | 9 --- migration.sql | 22 ------ pom.xml | 10 --- .../controllers => }/CounterServlet.java | 4 +- .../adlister/controllers/AdsIndexServlet.java | 18 ----- .../adlister/controllers/CreateAdServlet.java | 35 --------- .../controllers/HelloWorldServlet.java | 14 ---- .../adlister/controllers/LoginServlet.java | 43 ----------- .../adlister/controllers/LogoutServlet.java | 16 ---- .../adlister/controllers/RegisterServlet.java | 41 ---------- .../controllers/ViewProfileServlet.java | 19 ----- .../java/com/codeup/adlister/dao/Ads.java | 12 --- .../com/codeup/adlister/dao/DaoFactory.java | 21 ------ .../com/codeup/adlister/dao/ListAdsDao.java | 58 --------------- .../com/codeup/adlister/dao/MySQLAdsDao.java | 74 ------------------- .../codeup/adlister/dao/MySQLUsersDao.java | 66 ----------------- .../java/com/codeup/adlister/dao/Users.java | 10 --- .../java/com/codeup/adlister/models/Ad.java | 53 ------------- .../java/com/codeup/adlister/models/User.java | 57 -------------- .../com/codeup/adlister/util/Password.java | 15 ---- src/main/webapp/WEB-INF/ads/create.jsp | 24 ------ src/main/webapp/WEB-INF/ads/index.jsp | 24 ------ src/main/webapp/WEB-INF/login.jsp | 25 ------- src/main/webapp/WEB-INF/partials/head.jsp | 2 - src/main/webapp/WEB-INF/partials/navbar.jsp | 13 ---- src/main/webapp/WEB-INF/profile.jsp | 16 ---- src/main/webapp/WEB-INF/register.jsp | 33 --------- src/main/webapp/index.jsp | 14 ++-- 29 files changed, 8 insertions(+), 741 deletions(-) delete mode 100644 README.md delete mode 100644 migration.sql rename src/main/java/{com/codeup/adlister/controllers => }/CounterServlet.java (81%) delete mode 100644 src/main/java/com/codeup/adlister/controllers/AdsIndexServlet.java delete mode 100644 src/main/java/com/codeup/adlister/controllers/CreateAdServlet.java delete mode 100644 src/main/java/com/codeup/adlister/controllers/HelloWorldServlet.java delete mode 100644 src/main/java/com/codeup/adlister/controllers/LoginServlet.java delete mode 100644 src/main/java/com/codeup/adlister/controllers/LogoutServlet.java delete mode 100644 src/main/java/com/codeup/adlister/controllers/RegisterServlet.java delete mode 100644 src/main/java/com/codeup/adlister/controllers/ViewProfileServlet.java delete mode 100644 src/main/java/com/codeup/adlister/dao/Ads.java delete mode 100644 src/main/java/com/codeup/adlister/dao/DaoFactory.java delete mode 100644 src/main/java/com/codeup/adlister/dao/ListAdsDao.java delete mode 100644 src/main/java/com/codeup/adlister/dao/MySQLAdsDao.java delete mode 100644 src/main/java/com/codeup/adlister/dao/MySQLUsersDao.java delete mode 100644 src/main/java/com/codeup/adlister/dao/Users.java delete mode 100644 src/main/java/com/codeup/adlister/models/Ad.java delete mode 100644 src/main/java/com/codeup/adlister/models/User.java delete mode 100644 src/main/java/com/codeup/adlister/util/Password.java delete mode 100644 src/main/webapp/WEB-INF/ads/create.jsp delete mode 100644 src/main/webapp/WEB-INF/ads/index.jsp delete mode 100644 src/main/webapp/WEB-INF/login.jsp delete mode 100644 src/main/webapp/WEB-INF/partials/head.jsp delete mode 100644 src/main/webapp/WEB-INF/partials/navbar.jsp delete mode 100644 src/main/webapp/WEB-INF/profile.jsp delete mode 100644 src/main/webapp/WEB-INF/register.jsp diff --git a/.gitignore b/.gitignore index a2b7aa3f3d..a65bf3836e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ *.iml target/ .idea/ -Config.java diff --git a/README.md b/README.md deleted file mode 100644 index 8a01a6b078..0000000000 --- a/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Finish Up your Adlister - -Follow the instructions and suggestions in [here](https://java.codeup.com/java-iii/finish-the-adlister) - -## Final branch - -Use this master branch as a base for your future features, this branch already has all the necessary code implemented up to the lesson on passwords including it's solution. - -You might have to change the default branch in your own fork so you can have the master branch as the the default and merge your contributions into it. \ No newline at end of file diff --git a/migration.sql b/migration.sql deleted file mode 100644 index a70d2eab38..0000000000 --- a/migration.sql +++ /dev/null @@ -1,22 +0,0 @@ -USE adlister_db; - -DROP TABLE IF EXISTS ads; -DROP TABLE IF EXISTS users; - -CREATE TABLE users ( - id INT UNSIGNED NOT NULL AUTO_INCREMENT, - username VARCHAR(240) NOT NULL, - email VARCHAR(240) NOT NULL, - password VARCHAR(255) NOT NULL, - PRIMARY KEY (id) -); - -CREATE TABLE ads ( - id INT UNSIGNED NOT NULL AUTO_INCREMENT, - user_id INT UNSIGNED NOT NULL, - title VARCHAR(240) NOT NULL, - description TEXT NOT NULL, - PRIMARY KEY (id), - FOREIGN KEY (user_id) REFERENCES users(id) - ON DELETE CASCADE -); diff --git a/pom.xml b/pom.xml index 22a2e9c039..9364a52064 100644 --- a/pom.xml +++ b/pom.xml @@ -24,11 +24,6 @@ - - org.mindrot - jbcrypt - 0.3m - javax.servlet javax.servlet-api @@ -39,11 +34,6 @@ jstl 1.2 - - mysql - mysql-connector-java - 6.0.5 - \ No newline at end of file diff --git a/src/main/java/com/codeup/adlister/controllers/CounterServlet.java b/src/main/java/CounterServlet.java similarity index 81% rename from src/main/java/com/codeup/adlister/controllers/CounterServlet.java rename to src/main/java/CounterServlet.java index f66c52d7aa..7beada9d5e 100644 --- a/src/main/java/com/codeup/adlister/controllers/CounterServlet.java +++ b/src/main/java/CounterServlet.java @@ -1,12 +1,10 @@ -package com.codeup.adlister.controllers; - import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -@WebServlet(name = "controllers.CounterServlet", urlPatterns = "/count") +@WebServlet(name = "CounterServlet", urlPatterns = "/count") public class CounterServlet extends HttpServlet { private int counter = 0; diff --git a/src/main/java/com/codeup/adlister/controllers/AdsIndexServlet.java b/src/main/java/com/codeup/adlister/controllers/AdsIndexServlet.java deleted file mode 100644 index 1763081228..0000000000 --- a/src/main/java/com/codeup/adlister/controllers/AdsIndexServlet.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.codeup.adlister.controllers; - -import com.codeup.adlister.dao.DaoFactory; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -@WebServlet(name = "controllers.AdsIndexServlet", urlPatterns = "/ads") -public class AdsIndexServlet extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - request.setAttribute("ads", DaoFactory.getAdsDao().all()); - request.getRequestDispatcher("/WEB-INF/ads/index.jsp").forward(request, response); - } -} diff --git a/src/main/java/com/codeup/adlister/controllers/CreateAdServlet.java b/src/main/java/com/codeup/adlister/controllers/CreateAdServlet.java deleted file mode 100644 index 38775bc6f7..0000000000 --- a/src/main/java/com/codeup/adlister/controllers/CreateAdServlet.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.codeup.adlister.controllers; - -import com.codeup.adlister.dao.DaoFactory; -import com.codeup.adlister.models.Ad; -import com.codeup.adlister.models.User; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -@WebServlet(name = "controllers.CreateAdServlet", urlPatterns = "/ads/create") -public class CreateAdServlet extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - if (request.getSession().getAttribute("user") == null) { - response.sendRedirect("/login"); - return; - } - request.getRequestDispatcher("/WEB-INF/ads/create.jsp") - .forward(request, response); - } - - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { - User user = (User) request.getSession().getAttribute("user"); - Ad ad = new Ad( - user.getId(), - request.getParameter("title"), - request.getParameter("description") - ); - DaoFactory.getAdsDao().insert(ad); - response.sendRedirect("/ads"); - } -} diff --git a/src/main/java/com/codeup/adlister/controllers/HelloWorldServlet.java b/src/main/java/com/codeup/adlister/controllers/HelloWorldServlet.java deleted file mode 100644 index 4ab9b9da70..0000000000 --- a/src/main/java/com/codeup/adlister/controllers/HelloWorldServlet.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.codeup.adlister.controllers; - -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -@WebServlet(name = "controllers.HelloWorldServlet", urlPatterns = "/") -public class HelloWorldServlet extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { - response.getWriter().println("

Hello, World!

"); - } -} diff --git a/src/main/java/com/codeup/adlister/controllers/LoginServlet.java b/src/main/java/com/codeup/adlister/controllers/LoginServlet.java deleted file mode 100644 index e5c52723a2..0000000000 --- a/src/main/java/com/codeup/adlister/controllers/LoginServlet.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.codeup.adlister.controllers; - -import com.codeup.adlister.dao.DaoFactory; -import com.codeup.adlister.models.User; -import com.codeup.adlister.util.Password; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -@WebServlet(name = "controllers.LoginServlet", urlPatterns = "/login") -public class LoginServlet extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - if (request.getSession().getAttribute("user") != null) { - response.sendRedirect("/profile"); - return; - } - request.getRequestDispatcher("/WEB-INF/login.jsp").forward(request, response); - } - - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { - String username = request.getParameter("username"); - String password = request.getParameter("password"); - User user = DaoFactory.getUsersDao().findByUsername(username); - - if (user == null) { - response.sendRedirect("/login"); - return; - } - - boolean validAttempt = Password.check(password, user.getPassword()); - - if (validAttempt) { - request.getSession().setAttribute("user", user); - response.sendRedirect("/profile"); - } else { - response.sendRedirect("/login"); - } - } -} diff --git a/src/main/java/com/codeup/adlister/controllers/LogoutServlet.java b/src/main/java/com/codeup/adlister/controllers/LogoutServlet.java deleted file mode 100644 index e88f9d5241..0000000000 --- a/src/main/java/com/codeup/adlister/controllers/LogoutServlet.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.codeup.adlister.controllers; - -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -@WebServlet(name = "controllers.LogoutServlet", urlPatterns = "/logout") -public class LogoutServlet extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { - request.getSession().removeAttribute("user"); - request.getSession().invalidate(); - response.sendRedirect("/login"); - } -} diff --git a/src/main/java/com/codeup/adlister/controllers/RegisterServlet.java b/src/main/java/com/codeup/adlister/controllers/RegisterServlet.java deleted file mode 100644 index e1e997c17a..0000000000 --- a/src/main/java/com/codeup/adlister/controllers/RegisterServlet.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.codeup.adlister.controllers; - -import com.codeup.adlister.dao.DaoFactory; -import com.codeup.adlister.models.User; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -@WebServlet(name = "controllers.RegisterServlet", urlPatterns = "/register") -public class RegisterServlet extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - request.getRequestDispatcher("/WEB-INF/register.jsp").forward(request, response); - } - - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { - String username = request.getParameter("username"); - String email = request.getParameter("email"); - String password = request.getParameter("password"); - String passwordConfirmation = request.getParameter("confirm_password"); - - // validate input - boolean inputHasErrors = username.isEmpty() - || email.isEmpty() - || password.isEmpty() - || (! password.equals(passwordConfirmation)); - - if (inputHasErrors) { - response.sendRedirect("/register"); - return; - } - - // create and save a new user - User user = new User(username, email, password); - DaoFactory.getUsersDao().insert(user); - response.sendRedirect("/login"); - } -} diff --git a/src/main/java/com/codeup/adlister/controllers/ViewProfileServlet.java b/src/main/java/com/codeup/adlister/controllers/ViewProfileServlet.java deleted file mode 100644 index e1b8941067..0000000000 --- a/src/main/java/com/codeup/adlister/controllers/ViewProfileServlet.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.codeup.adlister.controllers; - -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -@WebServlet(name = "controllers.ViewProfileServlet", urlPatterns = "/profile") -public class ViewProfileServlet extends HttpServlet { - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - if (request.getSession().getAttribute("user") == null) { - response.sendRedirect("/login"); - return; - } - request.getRequestDispatcher("/WEB-INF/profile.jsp").forward(request, response); - } -} diff --git a/src/main/java/com/codeup/adlister/dao/Ads.java b/src/main/java/com/codeup/adlister/dao/Ads.java deleted file mode 100644 index 79dc59f484..0000000000 --- a/src/main/java/com/codeup/adlister/dao/Ads.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.codeup.adlister.dao; - -import com.codeup.adlister.models.Ad; - -import java.util.List; - -public interface Ads { - // get a list of all the ads - List all(); - // insert a new ad and return the new ad's id - Long insert(Ad ad); -} diff --git a/src/main/java/com/codeup/adlister/dao/DaoFactory.java b/src/main/java/com/codeup/adlister/dao/DaoFactory.java deleted file mode 100644 index e002140f85..0000000000 --- a/src/main/java/com/codeup/adlister/dao/DaoFactory.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.codeup.adlister.dao; - -public class DaoFactory { - private static Ads adsDao; - private static Users usersDao; - private static Config config = new Config(); - - public static Ads getAdsDao() { - if (adsDao == null) { - adsDao = new MySQLAdsDao(config); - } - return adsDao; - } - - public static Users getUsersDao() { - if (usersDao == null) { - usersDao = new MySQLUsersDao(config); - } - return usersDao; - } -} diff --git a/src/main/java/com/codeup/adlister/dao/ListAdsDao.java b/src/main/java/com/codeup/adlister/dao/ListAdsDao.java deleted file mode 100644 index 8d3baaa369..0000000000 --- a/src/main/java/com/codeup/adlister/dao/ListAdsDao.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.codeup.adlister.dao; - -import com.codeup.adlister.models.Ad; - -import java.util.ArrayList; -import java.util.List; - -public class ListAdsDao implements Ads { - private List ads; - - public List all() { - if (ads == null) { - ads = generateAds(); - } - return ads; - } - - public Long insert(Ad ad) { - // make sure we have ads - if (ads == null) { - ads = generateAds(); - } - // we'll assign an "id" here based on the size of the ads list - // really the dao would handle this - ad.setId((long) ads.size()); - ads.add(ad); - return ad.getId(); - } - - private List generateAds() { - List ads = new ArrayList<>(); - ads.add(new Ad( - 1, - 1, - "playstation for sale", - "This is a slightly used playstation" - )); - ads.add(new Ad( - 2, - 1, - "Super Nintendo", - "Get your game on with this old-school classic!" - )); - ads.add(new Ad( - 3, - 2, - "Junior Java Developer Position", - "Minimum 7 years of experience required. You will be working in the scripting language for Java, JavaScript" - )); - ads.add(new Ad( - 4, - 2, - "JavaScript Developer needed", - "Must have strong Java skills" - )); - return ads; - } -} diff --git a/src/main/java/com/codeup/adlister/dao/MySQLAdsDao.java b/src/main/java/com/codeup/adlister/dao/MySQLAdsDao.java deleted file mode 100644 index d58c45f985..0000000000 --- a/src/main/java/com/codeup/adlister/dao/MySQLAdsDao.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.codeup.adlister.dao; - -import com.codeup.adlister.models.Ad; -import com.mysql.cj.jdbc.Driver; - -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.sql.*; -import java.util.ArrayList; -import java.util.List; - -public class MySQLAdsDao implements Ads { - private Connection connection = null; - - public MySQLAdsDao(Config config) { - try { - DriverManager.registerDriver(new Driver()); - connection = DriverManager.getConnection( - config.getUrl(), - config.getUser(), - config.getPassword() - ); - } catch (SQLException e) { - throw new RuntimeException("Error connecting to the database!", e); - } - } - - @Override - public List all() { - PreparedStatement stmt = null; - try { - stmt = connection.prepareStatement("SELECT * FROM ads"); - ResultSet rs = stmt.executeQuery(); - return createAdsFromResults(rs); - } catch (SQLException e) { - throw new RuntimeException("Error retrieving all ads.", e); - } - } - - @Override - public Long insert(Ad ad) { - try { - String insertQuery = "INSERT INTO ads(user_id, title, description) VALUES (?, ?, ?)"; - PreparedStatement stmt = connection.prepareStatement(insertQuery, Statement.RETURN_GENERATED_KEYS); - stmt.setLong(1, ad.getUserId()); - stmt.setString(2, ad.getTitle()); - stmt.setString(3, ad.getDescription()); - stmt.executeUpdate(); - ResultSet rs = stmt.getGeneratedKeys(); - rs.next(); - return rs.getLong(1); - } catch (SQLException e) { - throw new RuntimeException("Error creating a new ad.", e); - } - } - - private Ad extractAd(ResultSet rs) throws SQLException { - return new Ad( - rs.getLong("id"), - rs.getLong("user_id"), - rs.getString("title"), - rs.getString("description") - ); - } - - private List createAdsFromResults(ResultSet rs) throws SQLException { - List ads = new ArrayList<>(); - while (rs.next()) { - ads.add(extractAd(rs)); - } - return ads; - } -} diff --git a/src/main/java/com/codeup/adlister/dao/MySQLUsersDao.java b/src/main/java/com/codeup/adlister/dao/MySQLUsersDao.java deleted file mode 100644 index 4e69e57044..0000000000 --- a/src/main/java/com/codeup/adlister/dao/MySQLUsersDao.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.codeup.adlister.dao; - -import com.codeup.adlister.models.User; -import com.mysql.cj.jdbc.Driver; - -import java.sql.*; - -public class MySQLUsersDao implements Users { - private Connection connection; - - public MySQLUsersDao(Config config) { - try { - DriverManager.registerDriver(new Driver()); - connection = DriverManager.getConnection( - config.getUrl(), - config.getUser(), - config.getPassword() - ); - } catch (SQLException e) { - throw new RuntimeException("Error connecting to the database!", e); - } - } - - - @Override - public User findByUsername(String username) { - String query = "SELECT * FROM users WHERE username = ? LIMIT 1"; - try { - PreparedStatement stmt = connection.prepareStatement(query); - stmt.setString(1, username); - return extractUser(stmt.executeQuery()); - } catch (SQLException e) { - throw new RuntimeException("Error finding a user by username", e); - } - } - - @Override - public Long insert(User user) { - String query = "INSERT INTO users(username, email, password) VALUES (?, ?, ?)"; - try { - PreparedStatement stmt = connection.prepareStatement(query, Statement.RETURN_GENERATED_KEYS); - stmt.setString(1, user.getUsername()); - stmt.setString(2, user.getEmail()); - stmt.setString(3, user.getPassword()); - stmt.executeUpdate(); - ResultSet rs = stmt.getGeneratedKeys(); - rs.next(); - return rs.getLong(1); - } catch (SQLException e) { - throw new RuntimeException("Error creating new user", e); - } - } - - private User extractUser(ResultSet rs) throws SQLException { - if (! rs.next()) { - return null; - } - return new User( - rs.getLong("id"), - rs.getString("username"), - rs.getString("email"), - rs.getString("password") - ); - } - -} diff --git a/src/main/java/com/codeup/adlister/dao/Users.java b/src/main/java/com/codeup/adlister/dao/Users.java deleted file mode 100644 index 62da74d20b..0000000000 --- a/src/main/java/com/codeup/adlister/dao/Users.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.codeup.adlister.dao; - -import com.codeup.adlister.models.User; - -import java.util.List; - -public interface Users { - User findByUsername(String username); - Long insert(User user); -} diff --git a/src/main/java/com/codeup/adlister/models/Ad.java b/src/main/java/com/codeup/adlister/models/Ad.java deleted file mode 100644 index 9e9e02d87e..0000000000 --- a/src/main/java/com/codeup/adlister/models/Ad.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.codeup.adlister.models; - -public class Ad { - private long id; - private long userId; - private String title; - private String description; - - public Ad(long id, long userId, String title, String description) { - this.id = id; - this.userId = userId; - this.title = title; - this.description = description; - } - - public Ad(long userId, String title, String description) { - this.userId = userId; - this.title = title; - this.description = description; - } - - public long getId() { - return id; - } - - public void setId(long id) { - this.id = id; - } - - public long getUserId() { - return userId; - } - - public void setUserId(long userId) { - this.userId = userId; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } -} diff --git a/src/main/java/com/codeup/adlister/models/User.java b/src/main/java/com/codeup/adlister/models/User.java deleted file mode 100644 index e43bc0dc81..0000000000 --- a/src/main/java/com/codeup/adlister/models/User.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.codeup.adlister.models; - -import com.codeup.adlister.util.Password; - -public class User { - private long id; - private String username; - private String email; - private String password; - - public User() {} - - public User(String username, String email, String password) { - this.username = username; - this.email = email; - setPassword(password); - } - - public User(long id, String username, String email, String password) { - this.id = id; - this.username = username; - this.email = email; - this.password = password; - } - - public long getId() { - return id; - } - - public void setId(long id) { - this.id = id; - } - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = Password.hash(password); - } -} diff --git a/src/main/java/com/codeup/adlister/util/Password.java b/src/main/java/com/codeup/adlister/util/Password.java deleted file mode 100644 index 1ca33b20dd..0000000000 --- a/src/main/java/com/codeup/adlister/util/Password.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.codeup.adlister.util; - -import org.mindrot.jbcrypt.BCrypt; - -public class Password { - private static final int ROUNDS = 12; - - public static String hash(String password) { - return BCrypt.hashpw(password, BCrypt.gensalt(ROUNDS)); - } - - public static boolean check(String password, String hash) { - return BCrypt.checkpw(password, hash); - } -} diff --git a/src/main/webapp/WEB-INF/ads/create.jsp b/src/main/webapp/WEB-INF/ads/create.jsp deleted file mode 100644 index f6332692f7..0000000000 --- a/src/main/webapp/WEB-INF/ads/create.jsp +++ /dev/null @@ -1,24 +0,0 @@ -<%@ page contentType="text/html;charset=UTF-8" language="java" %> - - - - - - - -
-

Create a new Ad

-
-
- - -
-
- - -
- -
-
- - diff --git a/src/main/webapp/WEB-INF/ads/index.jsp b/src/main/webapp/WEB-INF/ads/index.jsp deleted file mode 100644 index 6f4371f0bb..0000000000 --- a/src/main/webapp/WEB-INF/ads/index.jsp +++ /dev/null @@ -1,24 +0,0 @@ -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ page contentType="text/html;charset=UTF-8" language="java" %> - - - - - - - - - -
-

Here Are all the ads!

- - -
-

${ad.title}

-

${ad.description}

-
-
-
- - - diff --git a/src/main/webapp/WEB-INF/login.jsp b/src/main/webapp/WEB-INF/login.jsp deleted file mode 100644 index 83ce2d0a1f..0000000000 --- a/src/main/webapp/WEB-INF/login.jsp +++ /dev/null @@ -1,25 +0,0 @@ -<%@ page contentType="text/html;charset=UTF-8" language="java" %> - - - - - - - - -
-

Please Log In

-
-
- - -
-
- - -
- -
-
- - diff --git a/src/main/webapp/WEB-INF/partials/head.jsp b/src/main/webapp/WEB-INF/partials/head.jsp deleted file mode 100644 index a33443d65c..0000000000 --- a/src/main/webapp/WEB-INF/partials/head.jsp +++ /dev/null @@ -1,2 +0,0 @@ -${param.title} - diff --git a/src/main/webapp/WEB-INF/partials/navbar.jsp b/src/main/webapp/WEB-INF/partials/navbar.jsp deleted file mode 100644 index 8e1f98f662..0000000000 --- a/src/main/webapp/WEB-INF/partials/navbar.jsp +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/src/main/webapp/WEB-INF/profile.jsp b/src/main/webapp/WEB-INF/profile.jsp deleted file mode 100644 index 05e3fa7a91..0000000000 --- a/src/main/webapp/WEB-INF/profile.jsp +++ /dev/null @@ -1,16 +0,0 @@ -<%@ page contentType="text/html;charset=UTF-8" language="java" %> - - - - - - - - - -
-

Welcome, ${sessionScope.user.username}!

-
- - - diff --git a/src/main/webapp/WEB-INF/register.jsp b/src/main/webapp/WEB-INF/register.jsp deleted file mode 100644 index 4b64e10a43..0000000000 --- a/src/main/webapp/WEB-INF/register.jsp +++ /dev/null @@ -1,33 +0,0 @@ -<%@ page contentType="text/html;charset=UTF-8" language="java" %> - - - - - - - - -
-

Please fill in your information.

-
-
- - -
-
- - -
-
- - -
-
- - -
- -
-
- - diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp index 68cf346ec9..2e125edaf6 100644 --- a/src/main/webapp/index.jsp +++ b/src/main/webapp/index.jsp @@ -2,14 +2,14 @@ <%@ page contentType="text/html;charset=UTF-8" language="java" %> - - - + <%= "some title" %> - -
-

Welcome to the Adlister!

-
+ +

Variable names should be very descriptive

+
+ +

single letter variable names are good

+
From 43ec27fb1e90e3c7e80846d328edc2c28acbaff1 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Thu, 16 Jun 2022 16:57:57 -0500 Subject: [PATCH 10/40] done with set up --- src/main/java/PizzaOrder.java | 14 ++++++++++++++ src/main/webapp/pizza-order.jsp | 16 ++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 src/main/java/PizzaOrder.java create mode 100644 src/main/webapp/pizza-order.jsp diff --git a/src/main/java/PizzaOrder.java b/src/main/java/PizzaOrder.java new file mode 100644 index 0000000000..706bc5847b --- /dev/null +++ b/src/main/java/PizzaOrder.java @@ -0,0 +1,14 @@ +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@WebServlet(name = "PizzaOrder", urlPatterns = "/pizza-order") +public class PizzaOrder extends HttpServlet{ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { + request.getRequestDispatcher("/pizza-order.jsp").forward(request, response); + } +} diff --git a/src/main/webapp/pizza-order.jsp b/src/main/webapp/pizza-order.jsp new file mode 100644 index 0000000000..dc9b7cfc2a --- /dev/null +++ b/src/main/webapp/pizza-order.jsp @@ -0,0 +1,16 @@ +<%-- + Created by IntelliJ IDEA. + User: boryanadimova + Date: 6/16/22 + Time: 10:35 AM + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + $Title$ + + + $END$ + + From 05bae328e7f77a168a955d8fd84161a4f68743ce Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Thu, 16 Jun 2022 16:58:22 -0500 Subject: [PATCH 11/40] done --- src/main/webapp/partials/head.jsp | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/main/webapp/partials/head.jsp b/src/main/webapp/partials/head.jsp index 40661458b6..fc6b1216ad 100644 --- a/src/main/webapp/partials/head.jsp +++ b/src/main/webapp/partials/head.jsp @@ -1,14 +1,7 @@ -<%-- - Created by IntelliJ IDEA. - User: boryanadimova - Date: 6/15/22 - Time: 2:12 PM - To change this template use File | Settings | File Templates. ---%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> - Title + ${param.title} From a328ad8cf73bdd92ed8355184d428cb12943bc0c Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Sun, 19 Jun 2022 11:10:15 -0500 Subject: [PATCH 12/40] added a doPost method --- src/main/java/PizzaOrder.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/PizzaOrder.java b/src/main/java/PizzaOrder.java index 706bc5847b..b6404b0343 100644 --- a/src/main/java/PizzaOrder.java +++ b/src/main/java/PizzaOrder.java @@ -1,4 +1,5 @@ import javax.servlet.ServletException; +import javax.servlet.ServletOutputStream; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; @@ -7,8 +8,22 @@ @WebServlet(name = "PizzaOrder", urlPatterns = "/pizza-order") public class PizzaOrder extends HttpServlet{ + @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { request.getRequestDispatcher("/pizza-order.jsp").forward(request, response); } + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + System.out.println(request.getParameter("crust-type")); + System.out.println(request.getParameter("sauce-type")); + String[] toppings = request.getParameterValues("toppings"); + for(String topping : toppings){ + System.out.println(topping); + System.out.println(" "); + } + System.out.println(" "); + System.out.println(request.getParameter("address")); + response.sendRedirect("/"); + } } From 39c26a114e97c129ae077520d88d39f00f8ff261 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Sun, 19 Jun 2022 11:10:51 -0500 Subject: [PATCH 13/40] example --- src/main/webapp/partials/navbar.jsp | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/src/main/webapp/partials/navbar.jsp b/src/main/webapp/partials/navbar.jsp index e88d249535..03289e258d 100644 --- a/src/main/webapp/partials/navbar.jsp +++ b/src/main/webapp/partials/navbar.jsp @@ -1,16 +1,11 @@ -<%-- - Created by IntelliJ IDEA. - User: boryanadimova - Date: 6/15/22 - Time: 2:11 PM - To change this template use File | Settings | File Templates. ---%> -<%@ page contentType="text/html;charset=UTF-8" language="java" %> - - - Title - - - - - + \ No newline at end of file From df9a49b18ec90dcb1534710e4cb41edad5c7f7aa Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Sun, 19 Jun 2022 11:11:56 -0500 Subject: [PATCH 14/40] added anaction to the form --- src/main/webapp/pizza-order.jsp | 67 ++++++++++++++++++++++++++------- 1 file changed, 54 insertions(+), 13 deletions(-) diff --git a/src/main/webapp/pizza-order.jsp b/src/main/webapp/pizza-order.jsp index dc9b7cfc2a..ebb8fc9629 100644 --- a/src/main/webapp/pizza-order.jsp +++ b/src/main/webapp/pizza-order.jsp @@ -1,16 +1,57 @@ -<%-- - Created by IntelliJ IDEA. - User: boryanadimova - Date: 6/16/22 - Time: 10:35 AM - To change this template use File | Settings | File Templates. ---%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> + - - $Title$ - - - $END$ - + + + +
+
+
+
+

This is your pizza order:

+
+
+ Crust type: + +
+
+ Sauce type: + +
+
+ Toppings: + + + Pepperoni + + + + Veggies + + + + Mushroom + +
+
+ Address + +
+ +
+
+
+ + From 3c94bf7bd1392c09b82de8e3ff5b13163ea20445 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Mon, 20 Jun 2022 16:35:31 -0500 Subject: [PATCH 15/40] added jbcrypt --- pom.xml | 6 ++++++ src/main/java/PickColorServlet.java | 2 ++ src/main/java/ViewColorServlet.java | 2 ++ src/main/webapp/pick-color.jsp | 16 ++++++++++++++++ src/main/webapp/view-color.jsp | 16 ++++++++++++++++ 5 files changed, 42 insertions(+) create mode 100644 src/main/java/PickColorServlet.java create mode 100644 src/main/java/ViewColorServlet.java create mode 100644 src/main/webapp/pick-color.jsp create mode 100644 src/main/webapp/view-color.jsp diff --git a/pom.xml b/pom.xml index 9364a52064..e03787c15b 100644 --- a/pom.xml +++ b/pom.xml @@ -34,6 +34,12 @@ jstl 1.2 + + + org.mindrot + jbcrypt + 0.4 + \ No newline at end of file diff --git a/src/main/java/PickColorServlet.java b/src/main/java/PickColorServlet.java new file mode 100644 index 0000000000..e667cf2e19 --- /dev/null +++ b/src/main/java/PickColorServlet.java @@ -0,0 +1,2 @@ +package PACKAGE_NAME;public class PickColorServlet { +} diff --git a/src/main/java/ViewColorServlet.java b/src/main/java/ViewColorServlet.java new file mode 100644 index 0000000000..402e8bff97 --- /dev/null +++ b/src/main/java/ViewColorServlet.java @@ -0,0 +1,2 @@ +package PACKAGE_NAME;public class ViewColorServlet { +} diff --git a/src/main/webapp/pick-color.jsp b/src/main/webapp/pick-color.jsp new file mode 100644 index 0000000000..0a27312adc --- /dev/null +++ b/src/main/webapp/pick-color.jsp @@ -0,0 +1,16 @@ +<%-- + Created by IntelliJ IDEA. + User: boryanadimova + Date: 6/20/22 + Time: 1:08 PM + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + $Title$ + + + $END$ + + diff --git a/src/main/webapp/view-color.jsp b/src/main/webapp/view-color.jsp new file mode 100644 index 0000000000..1c34fbc33e --- /dev/null +++ b/src/main/webapp/view-color.jsp @@ -0,0 +1,16 @@ +<%-- + Created by IntelliJ IDEA. + User: boryanadimova + Date: 6/20/22 + Time: 3:21 PM + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + $Title$ + + + $END$ + + From 9e40f4c56834679fe90c185200dd6b47c94badbd Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Mon, 20 Jun 2022 16:35:51 -0500 Subject: [PATCH 16/40] completed --- src/main/java/PickColorServlet.java | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/main/java/PickColorServlet.java b/src/main/java/PickColorServlet.java index e667cf2e19..eefce76b7c 100644 --- a/src/main/java/PickColorServlet.java +++ b/src/main/java/PickColorServlet.java @@ -1,2 +1,19 @@ -package PACKAGE_NAME;public class PickColorServlet { -} +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@WebServlet("/pick-color") +public class PickColorServlet extends HttpServlet { + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + request.getRequestDispatcher("/pick-color.jsp").forward(request, response); + } + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + String color = request.getParameter("color"); + response.sendRedirect("/view-color?viewcolor=" + color); //query string + } + } From 0f1d8f788bd00f3add9e73aaa31d9bbd80f4e18a Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Mon, 20 Jun 2022 16:36:04 -0500 Subject: [PATCH 17/40] completed --- src/main/java/ViewColorServlet.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/ViewColorServlet.java b/src/main/java/ViewColorServlet.java index 402e8bff97..46806696d3 100644 --- a/src/main/java/ViewColorServlet.java +++ b/src/main/java/ViewColorServlet.java @@ -1,2 +1,16 @@ -package PACKAGE_NAME;public class ViewColorServlet { +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@WebServlet("/view-color") +public class ViewColorServlet extends HttpServlet { + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + String color = request.getParameter("viewcolor"); //?viewcolor={grabthevaluehere} + request.setAttribute("viewColor", color); + request.getRequestDispatcher("/view-color.jsp").forward(request, response); + + } } From 4c9583418ae5f26dcda32f3cd935ca4dad6c45cd Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Mon, 20 Jun 2022 16:36:17 -0500 Subject: [PATCH 18/40] completed --- src/main/webapp/pick-color.jsp | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/main/webapp/pick-color.jsp b/src/main/webapp/pick-color.jsp index 0a27312adc..c188fb91fc 100644 --- a/src/main/webapp/pick-color.jsp +++ b/src/main/webapp/pick-color.jsp @@ -1,16 +1,15 @@ -<%-- - Created by IntelliJ IDEA. - User: boryanadimova - Date: 6/20/22 - Time: 1:08 PM - To change this template use File | Settings | File Templates. ---%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> - - $Title$ - - - $END$ - + + Pick Color + + + +

Pick a Color:

+
+ + +
+ + From 9cc4df6098fdedbef1b0c59cb79283eaf4df1c78 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Mon, 20 Jun 2022 16:36:33 -0500 Subject: [PATCH 19/40] completed --- src/main/webapp/view-color.jsp | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/main/webapp/view-color.jsp b/src/main/webapp/view-color.jsp index 1c34fbc33e..e100713a0d 100644 --- a/src/main/webapp/view-color.jsp +++ b/src/main/webapp/view-color.jsp @@ -1,16 +1,9 @@ -<%-- - Created by IntelliJ IDEA. - User: boryanadimova - Date: 6/20/22 - Time: 3:21 PM - To change this template use File | Settings | File Templates. ---%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> - - $Title$ - - - $END$ - + + View Color + + + + From 319aee1799a57d8c91e78225dd91f908e3ef1331 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:07:57 -0500 Subject: [PATCH 20/40] created --- src/main/java/Ad.java | 2 + src/main/java/Ads.java | 2 + src/main/java/AdsIndexServlet.java | 2 + src/main/java/CreateAdServlet.java | 2 + src/main/java/DaoFactory.java | 2 + src/main/java/ListAdsDao.java | 60 +++++++++++++++++++++++++++ src/main/java/LogoutServlet.java | 2 + src/main/java/User.java | 2 + src/main/java/ViewProfileServlet.java | 2 + src/main/java/model/Album.java | 2 + src/main/java/model/Author.java | 2 + src/main/java/model/BeanTest.java | 2 + src/main/java/model/Quote.java | 2 + src/main/webapp/ads/index.jsp | 16 +++++++ src/main/webapp/profile.jsp | 13 +++++- 15 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 src/main/java/Ad.java create mode 100644 src/main/java/Ads.java create mode 100644 src/main/java/AdsIndexServlet.java create mode 100644 src/main/java/CreateAdServlet.java create mode 100644 src/main/java/DaoFactory.java create mode 100644 src/main/java/ListAdsDao.java create mode 100644 src/main/java/LogoutServlet.java create mode 100644 src/main/java/User.java create mode 100644 src/main/java/ViewProfileServlet.java create mode 100644 src/main/java/model/Album.java create mode 100644 src/main/java/model/Author.java create mode 100644 src/main/java/model/BeanTest.java create mode 100644 src/main/java/model/Quote.java create mode 100644 src/main/webapp/ads/index.jsp diff --git a/src/main/java/Ad.java b/src/main/java/Ad.java new file mode 100644 index 0000000000..31d6c2fc05 --- /dev/null +++ b/src/main/java/Ad.java @@ -0,0 +1,2 @@ +package PACKAGE_NAME;public class Ad { +} diff --git a/src/main/java/Ads.java b/src/main/java/Ads.java new file mode 100644 index 0000000000..66d382f053 --- /dev/null +++ b/src/main/java/Ads.java @@ -0,0 +1,2 @@ +package PACKAGE_NAME;public interface Ads { +} diff --git a/src/main/java/AdsIndexServlet.java b/src/main/java/AdsIndexServlet.java new file mode 100644 index 0000000000..e407803420 --- /dev/null +++ b/src/main/java/AdsIndexServlet.java @@ -0,0 +1,2 @@ +package PACKAGE_NAME;public class AdsIndexServlet { +} diff --git a/src/main/java/CreateAdServlet.java b/src/main/java/CreateAdServlet.java new file mode 100644 index 0000000000..8a121cba9d --- /dev/null +++ b/src/main/java/CreateAdServlet.java @@ -0,0 +1,2 @@ +package PACKAGE_NAME;public class CreateAdServlet { +} diff --git a/src/main/java/DaoFactory.java b/src/main/java/DaoFactory.java new file mode 100644 index 0000000000..060e6a1100 --- /dev/null +++ b/src/main/java/DaoFactory.java @@ -0,0 +1,2 @@ +package PACKAGE_NAME;public class DaoFactory { +} diff --git a/src/main/java/ListAdsDao.java b/src/main/java/ListAdsDao.java new file mode 100644 index 0000000000..8a5a18f11f --- /dev/null +++ b/src/main/java/ListAdsDao.java @@ -0,0 +1,60 @@ +package model; + +package com.codeup.adlister.dao; + +import com.codeup.adlister.models.Ad; + +import java.util.ArrayList; +import java.util.List; + +public class ListAdsDao implements Ads { + private List ads; + + public List all() { + if (ads == null) { + ads = generateAds(); + } + return ads; + } + + public Long insert(Ad ad) { + // make sure we have ads + if (ads == null) { + ads = generateAds(); + } + // we'll assign an "id" here based on the size of the ads list + // really the dao would handle this + ad.setId((long) ads.size()); + ads.add(ad); + return ad.getId(); + } + + private List generateAds() { + List ads = new ArrayList<>(); + ads.add(new Ad( + 1, + 1, + "playstation for sale", + "This is a slightly used playstation" + )); + ads.add(new Ad( + 2, + 1, + "Super Nintendo", + "Get your game on with this old-school classic!" + )); + ads.add(new Ad( + 3, + 2, + "Junior Java Developer Position", + "Minimum 7 years of experience required. You will be working in the scripting language for Java, JavaScript" + )); + ads.add(new Ad( + 4, + 2, + "JavaScript Developer needed", + "Must have strong Java skills" + )); + return ads; + } +} diff --git a/src/main/java/LogoutServlet.java b/src/main/java/LogoutServlet.java new file mode 100644 index 0000000000..ab3f37c5b7 --- /dev/null +++ b/src/main/java/LogoutServlet.java @@ -0,0 +1,2 @@ +package PACKAGE_NAME;public class LogoutServlet { +} diff --git a/src/main/java/User.java b/src/main/java/User.java new file mode 100644 index 0000000000..acadf136d7 --- /dev/null +++ b/src/main/java/User.java @@ -0,0 +1,2 @@ +package PACKAGE_NAME;public class User { +} diff --git a/src/main/java/ViewProfileServlet.java b/src/main/java/ViewProfileServlet.java new file mode 100644 index 0000000000..713e0361d5 --- /dev/null +++ b/src/main/java/ViewProfileServlet.java @@ -0,0 +1,2 @@ +package PACKAGE_NAME;public class ViewProfileServlet { +} diff --git a/src/main/java/model/Album.java b/src/main/java/model/Album.java new file mode 100644 index 0000000000..2ffd580cad --- /dev/null +++ b/src/main/java/model/Album.java @@ -0,0 +1,2 @@ +package model;public class Album { +} diff --git a/src/main/java/model/Author.java b/src/main/java/model/Author.java new file mode 100644 index 0000000000..4e0b9f3c0d --- /dev/null +++ b/src/main/java/model/Author.java @@ -0,0 +1,2 @@ +package model;public class Author { +} diff --git a/src/main/java/model/BeanTest.java b/src/main/java/model/BeanTest.java new file mode 100644 index 0000000000..8be61f08db --- /dev/null +++ b/src/main/java/model/BeanTest.java @@ -0,0 +1,2 @@ +package model;public class BeanTest { +} diff --git a/src/main/java/model/Quote.java b/src/main/java/model/Quote.java new file mode 100644 index 0000000000..1fe2aa8e40 --- /dev/null +++ b/src/main/java/model/Quote.java @@ -0,0 +1,2 @@ +package model;public class Quote { +} diff --git a/src/main/webapp/ads/index.jsp b/src/main/webapp/ads/index.jsp new file mode 100644 index 0000000000..696f092c8f --- /dev/null +++ b/src/main/webapp/ads/index.jsp @@ -0,0 +1,16 @@ +<%-- + Created by IntelliJ IDEA. + User: boryanadimova + Date: 6/21/22 + Time: 2:42 PM + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + $Title$ + + + $END$ + + diff --git a/src/main/webapp/profile.jsp b/src/main/webapp/profile.jsp index d3b9bec315..6e03e6bdf7 100644 --- a/src/main/webapp/profile.jsp +++ b/src/main/webapp/profile.jsp @@ -1,3 +1,4 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%-- Created by IntelliJ IDEA. User: boryanadimova @@ -8,9 +9,17 @@ <%@ page contentType="text/html;charset=UTF-8" language="java" %> - Title + Profile - +
+ Profile +
+ +

Profile

+
+ +

single letter variable names are good

+
From 22e1a9c3b1c0adc29f8e97aa56a93d5f292fbd2f Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:08:17 -0500 Subject: [PATCH 21/40] added a link --- src/main/webapp/partials/navbar.jsp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/webapp/partials/navbar.jsp b/src/main/webapp/partials/navbar.jsp index 03289e258d..c1079b9453 100644 --- a/src/main/webapp/partials/navbar.jsp +++ b/src/main/webapp/partials/navbar.jsp @@ -1,11 +1,13 @@ \ No newline at end of file From 90844c5607fe0d277e194dbeef1b12366589036a Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:08:35 -0500 Subject: [PATCH 22/40] updated --- src/main/webapp/partials/head.jsp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/webapp/partials/head.jsp b/src/main/webapp/partials/head.jsp index fc6b1216ad..41d661ae32 100644 --- a/src/main/webapp/partials/head.jsp +++ b/src/main/webapp/partials/head.jsp @@ -2,6 +2,7 @@ ${param.title} + From 3e71cfeab927dd2e680e2d68d62e0ee42aff28f7 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:09:58 -0500 Subject: [PATCH 23/40] added head and navbar --- src/main/webapp/login.jsp | 41 +++++++++++---------------------------- 1 file changed, 11 insertions(+), 30 deletions(-) diff --git a/src/main/webapp/login.jsp b/src/main/webapp/login.jsp index 7fb8bdae8b..cafb8c18fa 100644 --- a/src/main/webapp/login.jsp +++ b/src/main/webapp/login.jsp @@ -1,50 +1,31 @@ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<%--@WebServlet(name = "LoginPage", urlPatterns = "/login.jsp")--%> -<%--public class HelloWorldServlet1 extends HttpServlet {--%> - -<%--@Override--%> -<%--protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {--%> -<%--response.setContentType("text/html");--%> -<%--PrintWriter out = response.getWriter();--%> -<%--out.println("

Hello, World!

");--%> -<%--}--%> -<%--}--%> - -<% - if(request.getMethod().equals("POST")) { - String userName = request.getParameter("userName"); - String pass = request.getParameter("pass"); - if (userName.equals("admin") && pass.equals("password")) { - response.sendRedirect("/profile.jsp"); - } - } - -%> - - LoginServlet page + + + +
-
+<%--
--%>

This is where you login

-
+
Username:
-
+
Password: - -
-
- +
+
+ +<%--
--%>
From 59c77b9cb85db9ef855157e3b0d5ae9170a328c2 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:10:38 -0500 Subject: [PATCH 24/40] added c:forEach --- src/main/webapp/ads/index.jsp | 38 +++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/src/main/webapp/ads/index.jsp b/src/main/webapp/ads/index.jsp index 696f092c8f..9ee4fe325f 100644 --- a/src/main/webapp/ads/index.jsp +++ b/src/main/webapp/ads/index.jsp @@ -1,16 +1,28 @@ -<%-- - Created by IntelliJ IDEA. - User: boryanadimova - Date: 6/21/22 - Time: 2:42 PM - To change this template use File | Settings | File Templates. ---%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> - - $Title$ - - - $END$ - + + + + + + + +

Advertisements

+
+

All ads:

+ + +
${ad.getTitle()}
+

${ad.getDesciption()}

+
+<%-- --%> +<%--
--%> +<%--

${ad.title}

--%> +<%--

${ad.description}

--%> +<%--
--%> +<%--
--%> +
+ + From 15650ef16124c5bc272c2003ddc47d8a765d8cb2 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:10:56 -0500 Subject: [PATCH 25/40] added 3 quotes --- src/main/java/model/Quote.java | 43 +++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/src/main/java/model/Quote.java b/src/main/java/model/Quote.java index 1fe2aa8e40..fff2bda6de 100644 --- a/src/main/java/model/Quote.java +++ b/src/main/java/model/Quote.java @@ -1,2 +1,43 @@ -package model;public class Quote { +package model; + +import java.io.Serializable; + +public class Quote implements Serializable { + + private long id; + private String content; + private String author; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public Quote(){ + + } + public Quote(long id, String content, String author) { + this.id = id; + this.content = content; + this.author = author; + } } From c0ed96c2c64251734f8fdc005b060830f4a79963 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:11:16 -0500 Subject: [PATCH 26/40] completed --- src/main/java/model/BeanTest.java | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/main/java/model/BeanTest.java b/src/main/java/model/BeanTest.java index 8be61f08db..0d33b4d0f1 100644 --- a/src/main/java/model/BeanTest.java +++ b/src/main/java/model/BeanTest.java @@ -1,2 +1,31 @@ -package model;public class BeanTest { +package model; +import model.Album; + +import java.util.ArrayList; +import java.util.Date; + +public class BeanTest { + public static void main(String[] args) { + Date nevermind = new Date(1991, 9, 24); + Album Nirvana = new Album(1, "Nirvana", "Nevermind", nevermind, 2.2, "Grunge"); + + Quote LaoTzuQuote = new Quote(1, "The journey of a thousand miles begins with one step.", "Lao Tzu"); + Author LaoTzu = new Author(1, "Lao", "Tzu"); + + Quote NietzscheQuote = new Quote(2, "This what does not kill us makes us stronger.", "Nietzsche"); + Author Nietzsche = new Author(2, "Friedrich", "Nietzche"); + + Quote JoeKennedyQuote = new Quote(3, "When the going gets tough, the though get going.", "Joe Kennedy"); + Author JoeKennedy = new Author(3, "Joe", "Kennedy"); + + ArrayList quotes = new ArrayList<>(); + quotes.add(LaoTzuQuote); + quotes.add(NietzscheQuote); + quotes.add(JoeKennedyQuote); + + for (Quote quote : quotes){ + System.out.println(quote.getContent()); + System.out.println(quote.getAuthor()); + } + } } From 5f25ca50f6b94447de42aa4532ce137eab33cfe3 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:11:30 -0500 Subject: [PATCH 27/40] done --- src/main/java/model/Author.java | 43 ++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/src/main/java/model/Author.java b/src/main/java/model/Author.java index 4e0b9f3c0d..3ce4115ccb 100644 --- a/src/main/java/model/Author.java +++ b/src/main/java/model/Author.java @@ -1,2 +1,43 @@ -package model;public class Author { +package model; + +import java.io.Serializable; + +public class Author implements Serializable { + + private long id; + private String firstName; + private String lastName; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public Author() { + } + + public Author(long id, String firstName, String lastName) { + this.id = id; + this.firstName = firstName; + this.lastName = lastName; + } } From 0abfa6c83cf7a934e561a43bdcfe42080984c48e Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:11:51 -0500 Subject: [PATCH 28/40] completed --- src/main/java/model/Album.java | 74 +++++++++++++++++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/src/main/java/model/Album.java b/src/main/java/model/Album.java index 2ffd580cad..6a2a6d1825 100644 --- a/src/main/java/model/Album.java +++ b/src/main/java/model/Album.java @@ -1,2 +1,74 @@ -package model;public class Album { +package model; + +import java.io.Serializable; +import java.util.Date; + +public class Album implements Serializable { + + private long id; + private String artist; + private String name; + private Date releaseDate; + private double sales; + private String genre; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getArtist() { + return artist; + } + + public void setArtist(String artist) { + this.artist = artist; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Date getReleaseDate() { + return releaseDate; + } + + public void setReleaseDate(Date releaseDate) { + this.releaseDate = releaseDate; + } + + public double getSales() { + return sales; + } + + public void setSales(double sales) { + this.sales = sales; + } + + public String getGenre() { + return genre; + } + + public void setGenre(String genre) { + this.genre = genre; + } + + public Album() { + } + + public Album(long id, String artist, String name, Date releaseDate, double sales, String genre) { + this.id = id; + this.artist = artist; + this.name = name; + this.releaseDate = releaseDate; + this.sales = sales; + this.genre = genre; + } } From cc2c79df29ba3bdb03de81ec8070a54e7ca20f16 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:12:40 -0500 Subject: [PATCH 29/40] added doGet --- src/main/java/ViewProfileServlet.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/ViewProfileServlet.java b/src/main/java/ViewProfileServlet.java index 713e0361d5..89ebe68a78 100644 --- a/src/main/java/ViewProfileServlet.java +++ b/src/main/java/ViewProfileServlet.java @@ -1,2 +1,14 @@ -package PACKAGE_NAME;public class ViewProfileServlet { +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@WebServlet(name = "ViewProfileServlet", urlPatterns = "/profile") +public class ViewProfileServlet extends HttpServlet { + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + request.getRequestDispatcher("/profile.jps").forward(request + , response); + } } From ded140d9f47a91cdb1aadb2d13e1c96f4d0ce947 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:12:59 -0500 Subject: [PATCH 30/40] created User --- src/main/java/User.java | 59 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/src/main/java/User.java b/src/main/java/User.java index acadf136d7..3015280efe 100644 --- a/src/main/java/User.java +++ b/src/main/java/User.java @@ -1,2 +1,59 @@ -package PACKAGE_NAME;public class User { +import sun.security.util.Password; + +public class User { + private long id; + private String username; + private String email; + private String password; + + public User() { + + } + + public User(long id, String username, String email, String password) { + this.id = id; + this.username = username; + this.email = email; + this.password = password; + } + + public User(String username, String email, String password) { + this.username = username; + this.email = email; + this.password = password; + } + + + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } } From aec8a0a2319587e6a586c4d7c86564547c792030 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:13:19 -0500 Subject: [PATCH 31/40] created --- src/main/java/LogoutServlet.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/LogoutServlet.java b/src/main/java/LogoutServlet.java index ab3f37c5b7..ef991605fa 100644 --- a/src/main/java/LogoutServlet.java +++ b/src/main/java/LogoutServlet.java @@ -1,2 +1,14 @@ -package PACKAGE_NAME;public class LogoutServlet { -} +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@WebServlet(name = "controllers.LogoutServlet", urlPatterns = "/logout") +public class LogoutServlet extends HttpServlet { + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + request.getSession().removeAttribute("user"); + request.getSession().invalidate(); + response.sendRedirect("/login"); + } +} \ No newline at end of file From 3685f769f0c80322e14ea67a894d066f94d07228 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:13:39 -0500 Subject: [PATCH 32/40] created --- src/main/java/LoginServlet.java | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/main/java/LoginServlet.java b/src/main/java/LoginServlet.java index 327dc81a39..ef20ddd5dc 100644 --- a/src/main/java/LoginServlet.java +++ b/src/main/java/LoginServlet.java @@ -6,9 +6,33 @@ import java.io.IOException; @WebServlet(name = "LoginServlet", urlPatterns = "/login") -public class LoginServlet extends HttpServlet { +public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { +// request.getRequestDispatcher("/login.jsp").forward(request, response); + if (request.getSession().getAttribute("user") != null) { + response.sendRedirect("/profile"); + return; + } request.getRequestDispatcher("/login.jsp").forward(request, response); } + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { + String userName = request.getParameter("userName"); + String pass = request.getParameter("password"); +// if (userName.equals("admin") && pass.equals("password")) { +// response.sendRedirect("/profile"); +// } else { +// response.sendRedirect("/login"); +// } + boolean validAttempt = true; + if (validAttempt) { + // TODO: store the logged in user object in the session, instead of just the username + request.getSession().setAttribute("user", userName); + response.sendRedirect("/profile"); + } else { + response.sendRedirect("/login"); + } + } } + From 647881b9d6c6583733fd42d61078a694a73aa7d7 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:13:57 -0500 Subject: [PATCH 33/40] created --- src/main/java/ListAdsDao.java | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/main/java/ListAdsDao.java b/src/main/java/ListAdsDao.java index 8a5a18f11f..4371c012a1 100644 --- a/src/main/java/ListAdsDao.java +++ b/src/main/java/ListAdsDao.java @@ -1,9 +1,3 @@ -package model; - -package com.codeup.adlister.dao; - -import com.codeup.adlister.models.Ad; - import java.util.ArrayList; import java.util.List; @@ -17,18 +11,21 @@ public List all() { return ads; } + @Override public Long insert(Ad ad) { - // make sure we have ads - if (ads == null) { - ads = generateAds(); - } - // we'll assign an "id" here based on the size of the ads list - // really the dao would handle this - ad.setId((long) ads.size()); - ads.add(ad); - return ad.getId(); + return null; } + // public Long insert(Ad ad) { +// if (ads == null) { +// ads = generateAds(); +// } +// +// ad.setId((long) ads.size()); +// ads.add(ad); +// return ad.getId(); +// } +// private List generateAds() { List ads = new ArrayList<>(); ads.add(new Ad( @@ -58,3 +55,4 @@ private List generateAds() { return ads; } } + From b6cf02bdb15ee8e2d10ea45bc63e5de84c7f3713 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:14:07 -0500 Subject: [PATCH 34/40] created --- src/main/java/DaoFactory.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/DaoFactory.java b/src/main/java/DaoFactory.java index 060e6a1100..9d214b9567 100644 --- a/src/main/java/DaoFactory.java +++ b/src/main/java/DaoFactory.java @@ -1,2 +1,10 @@ -package PACKAGE_NAME;public class DaoFactory { +public class DaoFactory { + public static Ads adsDao; + + public static Ads getAdsDao() { + if(adsDao == null) { + adsDao = new ListAdsDao(); + } + return adsDao; + } } From 2251a9fe4a10431c1e1806db37c07e404b5620e2 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:14:24 -0500 Subject: [PATCH 35/40] created --- src/main/java/CreateAdServlet.java | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/main/java/CreateAdServlet.java b/src/main/java/CreateAdServlet.java index 8a121cba9d..47b5b00ded 100644 --- a/src/main/java/CreateAdServlet.java +++ b/src/main/java/CreateAdServlet.java @@ -1,2 +1,29 @@ -package PACKAGE_NAME;public class CreateAdServlet { +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@WebServlet(name = "controllers.CreateAdServlet", urlPatterns = "/ads/create") +public class CreateAdServlet extends HttpServlet { + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + if (request.getSession().getAttribute("user") == null) { + response.sendRedirect("/login"); + return; + } + request.getRequestDispatcher("/WEB-INF/ads/create.jsp") + .forward(request, response); + } + + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { + User user = (User) request.getSession().getAttribute("user"); + Ad ad = new Ad( + user.getId(), + request.getParameter("title"), + request.getParameter("description") + ); + DaoFactory.getAdsDao().insert(ad); + response.sendRedirect("/ads"); + } } From e0faa9a0b4671e78829a826858032738e3f163e8 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:14:38 -0500 Subject: [PATCH 36/40] created --- src/main/java/AdsIndexServlet.java | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/java/AdsIndexServlet.java b/src/main/java/AdsIndexServlet.java index e407803420..08d02b8ec3 100644 --- a/src/main/java/AdsIndexServlet.java +++ b/src/main/java/AdsIndexServlet.java @@ -1,2 +1,20 @@ -package PACKAGE_NAME;public class AdsIndexServlet { +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.Serializable; +import java.util.List; + +@WebServlet(name = "AdsIndexServlet", urlPatterns = "/ads") +public class AdsIndexServlet extends HttpServlet { + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + Ads adsDao = DaoFactory.getAdsDao(); + + List currentAds = adsDao.all(); + request.setAttribute("allAds", currentAds); + request.getRequestDispatcher("/ads/index.jsp").forward(request, response); + } } From 3a95164bf1779ec0b68a43a8ba231c687b78033d Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:15:05 -0500 Subject: [PATCH 37/40] created --- src/main/java/Ads.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/Ads.java b/src/main/java/Ads.java index 66d382f053..0166496cef 100644 --- a/src/main/java/Ads.java +++ b/src/main/java/Ads.java @@ -1,2 +1,6 @@ -package PACKAGE_NAME;public interface Ads { +import java.util.List; + +public interface Ads { + List all(); + Long insert(Ad ad); } From 777991027274b415eae742012fa0f43d5164ec33 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:15:17 -0500 Subject: [PATCH 38/40] created --- src/main/java/Ad.java | 50 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/src/main/java/Ad.java b/src/main/java/Ad.java index 31d6c2fc05..297fcd45c6 100644 --- a/src/main/java/Ad.java +++ b/src/main/java/Ad.java @@ -1,2 +1,50 @@ -package PACKAGE_NAME;public class Ad { +public class Ad { + private long id; + private long userId; + private String title; + private String description; + public Ad(long id, long userId, String title, String description) { + this.id = id; + this.userId = userId; + this.title = title; + this.description = description; + } + + public Ad(long userId, String title, String description) { + this.userId = userId; + this.title = title; + this.description = description; + } + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public long getUserId() { + return userId; + } + + public void setUserId(long userId) { + this.userId = userId; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } } From 3194e41da558cd59fe3750358f526c351012d23d Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 22 Jun 2022 06:15:45 -0500 Subject: [PATCH 39/40] updated --- pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pom.xml b/pom.xml index e03787c15b..c0a9baa62e 100644 --- a/pom.xml +++ b/pom.xml @@ -34,6 +34,11 @@ jstl 1.2 + + mysql + mysql-connector-java + 8.0.23 + org.mindrot From b01c018960b8d1ea2db63a0c8ecad83cfb0390f7 Mon Sep 17 00:00:00 2001 From: Boryana1 Date: Wed, 16 Nov 2022 13:42:15 -0600 Subject: [PATCH 40/40] Added a Config file. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index a65bf3836e..a3bee0ca43 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ *.iml target/ .idea/ +src/main/java/Config.java \ No newline at end of file