From 4e982958919ee0d8d56142176c623fc7d48f64a2 Mon Sep 17 00:00:00 2001
From: Gwendal Margely <gwendal.margely.etu@univ-lille.fr>
Date: Sun, 17 Mar 2024 04:20:57 +0100
Subject: [PATCH] Nothing works, and each attempt to fix anything makes things
 worse, so I'm gonna stop for tonight, I'll came back after a few hours of
 sleep when I can be mentally alive back

---
 WEB-INF/classes/DAO/IngredientDAO.class       | Bin 0 -> 4648 bytes
 .../Exceptions/IngredientDAOException.class   | Bin 0 -> 444 bytes
 WEB-INF/classes/Main.class                    | Bin 0 -> 516 bytes
 WEB-INF/classes/POJO/Ingredient.class         | Bin 0 -> 1412 bytes
 WEB-INF/classes/POJO/Price.class              | Bin 0 -> 1136 bytes
 .../Servlets/DatabaseTestServlet.class        | Bin 0 -> 2427 bytes
 .../classes/Servlets/IngredientServlet.class  | Bin 0 -> 5743 bytes
 WEB-INF/jsp/result.jsp                        |  15 +++++++
 WEB-INF/src/DAO/IngredientDAO.java            |  18 ++++-----
 WEB-INF/src/Servlets/DatabaseTestServlet.java |  38 ++++++++++++++++++
 WEB-INF/src/Servlets/IngredientServlet.java   |   7 +++-
 .../test-classes/DAO/IngredientDAOTest.class  | Bin 0 -> 2963 bytes
 WEB-INF/web.xml                               |  38 ++++++++++++++++++
 index.html                                    |  11 +++++
 pom.xml                                       |   2 +
 15 files changed, 119 insertions(+), 10 deletions(-)
 create mode 100644 WEB-INF/classes/DAO/IngredientDAO.class
 create mode 100644 WEB-INF/classes/Exceptions/IngredientDAOException.class
 create mode 100644 WEB-INF/classes/Main.class
 create mode 100644 WEB-INF/classes/POJO/Ingredient.class
 create mode 100644 WEB-INF/classes/POJO/Price.class
 create mode 100644 WEB-INF/classes/Servlets/DatabaseTestServlet.class
 create mode 100644 WEB-INF/classes/Servlets/IngredientServlet.class
 create mode 100644 WEB-INF/jsp/result.jsp
 create mode 100644 WEB-INF/src/Servlets/DatabaseTestServlet.java
 create mode 100644 WEB-INF/test-classes/DAO/IngredientDAOTest.class
 create mode 100644 WEB-INF/web.xml
 create mode 100644 index.html

diff --git a/WEB-INF/classes/DAO/IngredientDAO.class b/WEB-INF/classes/DAO/IngredientDAO.class
new file mode 100644
index 0000000000000000000000000000000000000000..2073d03de9bb37e6a7cd58ea65060e7608c51e58
GIT binary patch
literal 4648
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

literal 0
HcmV?d00001

diff --git a/WEB-INF/classes/Exceptions/IngredientDAOException.class b/WEB-INF/classes/Exceptions/IngredientDAOException.class
new file mode 100644
index 0000000000000000000000000000000000000000..f45a83e853efed4be986bb3fda1d2b83a3925157
GIT binary patch
literal 444
zcmZ`#O-sW-6r7i)iN<Qx>dA}6i&il|AR-h$pb+%X()%`D(v@^0n?(Ivo&*p60DqMD
zwn`MN``|J2c6N9>?;o#k0Q%So;Gp5dZJ`N|(76*2BFuzN!>gx6-j^!Z1n*2~Rh|=i
zhw+bKSQ@3%=+|U4Gx?*KWHLG$`&c1#Ym*`z=+wxmlDfR?-_~=2dy!8ip&ctNZ>sr3
znvu02Y{z*bvavAA^6#Nr&Qw7-h--)coFjrimqj7ch1Z|G3C%=Q1z+wi{Q@Bv=9Nk0
zwX)mnE#Lpt`l1V;bF_!JI7#lS%m!$10e<iJ<OTH1&_Tf6#*T&1!y2RgFBw``XT}e(
Sfi|01w23WNa~{kbbUpzVv~2AF

literal 0
HcmV?d00001

diff --git a/WEB-INF/classes/Main.class b/WEB-INF/classes/Main.class
new file mode 100644
index 0000000000000000000000000000000000000000..22f4d6e89f26168448a00f6ad4ebb295c01db701
GIT binary patch
literal 516
zcmZvZ%TB^T6o&tSLTRmnAb3}B1upE;1;)gf7#H=DVA!}CV1h%Y9aCD3kEIJuT=)P!
zl<`b4Q4=PaGdce`|2MbKulElCC)jh5L*9nvp@1SoWx^l0uXr@}uLct_Oc;tsGLp$L
zL%!YVJ1D`i;d)qr_piP8G)+WET{<OGJ;*>(``59Il3o%E9(GGuV(`v|Qo8x5V>N2I
zs9@Pf)k6&{47E8f2K(MHR7BYJjGG;hpfVbFJAE4s2J3=L>ab4rNHCNG8Hvj@9EkXa
z4-_fYKo7a<^H`evN3@bVIi)KG#@r=$m_Zut+j;v?oyTM9ugxhlxILZ5Lvbd}c8(z)
znCqa0Iz6%(IWY6g6jv$pX=St)_TRvsv+^26QwGg-ir%aN8`z}G!4|ejG3LVzM%oMP
d>f$TPzX0>4K%Rce`U7#WgI&@YniO+reFL0*XFC7@

literal 0
HcmV?d00001

diff --git a/WEB-INF/classes/POJO/Ingredient.class b/WEB-INF/classes/POJO/Ingredient.class
new file mode 100644
index 0000000000000000000000000000000000000000..09f6f67448ef8e680d26dcac8eca13176543d125
GIT binary patch
literal 1412
zcmZ`%OHUI~7(I8|&Xm#zk5a@!0Tq}T9u;+mL5*lqf<RK!g}b3l>R=g2DJK3B6Ibrs
zn5c=Qi3_(T{wU-5X2upvNt1r}-Z|en=X?DA^W!IgC%B)2hM0kP8VTqMBS+3#r`&Y>
zMtSex$gQ^(^oO4BwKo-Frd1n45<>=3X$&K+klWwe-YZx9M$0|)T%TyoJ5*2=!DZ9P
zVMHPBJIAiV*iMhT+HQG%V?$75X^bPUkT`95b;8tEimwInGpR6XR<5RPSvA2-3Ff9k
zVGt&SObcX&7R-uOV|aRUNQvBz=exV-#|LifrE|~>yq(mYX3c4Na*rP4?bqI!!st$4
zksCDIaN89Y%9d1kI}2|HUw4CA^QLvxwt_)m2$(Rheiw&HQtXF~Aoms@m=Zn2O%_fP
z@9f#}Y5QHE{z@TJZ9DZhFPziJcB*=E-m1ILJt-{Lo6VZEAM<RS#?i;1WQ06vGNmAL
z4vfS6!rt@0#9Ncd1Y_RrK-t9$81~8qGPZSr(QiT4EdL7uCW$zP_)8&6mT|Jr@te(8
z=2Q6=qnt!n1t(D!H+k8Cz!N7LDQ}ZA#&1cxxRUK)qNgT13%WL#J;&2ri0djOy9&vm
zHjRv2gNXML(UNc2Mb*KLe%dkUG$XWy5Z0wNB3dESBeDm?NGZClbx`c*njo?eaD@fy
z5tqVk+=&><jKYwxzr*;<g9hoS2mn);k`vwJg>EgIL`yAtFqwY&8OoOehOm@>^1>d@
zKw%L}1B_(8_8FNUXvBmSCHIUhb36KtEYQf}HAZ9wqysjVyGFvEN=HV&^ck@R8d<?=
z*GMeb2HjrzZ$rbKS*4M+YmCSSijg(QNM!e`++4+2lF?`%G0B+ug%R<Ueg6SQ{1f6a
cnOW@8%+@bCEJZWBOH2aV^kWfN=S9Q4zd1CiiU0rr

literal 0
HcmV?d00001

diff --git a/WEB-INF/classes/POJO/Price.class b/WEB-INF/classes/POJO/Price.class
new file mode 100644
index 0000000000000000000000000000000000000000..3bbde483f843d57f0c49e1a6244868a2369a32ef
GIT binary patch
literal 1136
zcmZvb+fEZv6o&uZ!<;M>hEflxfK@vkz}|U-;Sd@Orm-Yo6EE8`sY7aOO6!H*856I3
z6XPL~ka*z(_!jyg#((XOLzQOIeVVnt^{;<VfBgRT9l$nL9VC!6k;)(qLt*B)@v>3w
zG`j6_t$7@@1`5W5up16G6p~)4Zo`6Y!pYzgG78Rq?NP0~-w#`XLi)vMRuzew&LE2!
zh18JQ3U2kBd@$&T-S)Z#m(X8tJ~#}|iGX>9yjQsxS*jbGZ(sd<_%ZjIz@6R^t7WTU
zH+VdJ-VFMOjb?`@Znf8Hbn1<MDEsIzHFy@DC}gVVO4rHoDy6zidorm#1*;tlqCVJX
zg$F0`LCV|JVY><@!=C7da$f18PzEq<6fo~yd@mTM-y3$1c7pDJx}1aFu-^)HLutU#
z0`7@XSf(clUQvP%t=230$=L?2#yrO>+&x7SDb88{49YK_!t~cpG4(|!T;=HM*A_>c
zkArFAuJL?{iA=)+u5*@^lu>#mg_63=ji}5P^CjN$i|*_h=Fa)@0fAJL1mWiO-io<a
z#1+vuBic4;l4bh~?<V40c0V_Uvtyi1+#)f8Ga}r5;zYRRPfw)fDekhSjT-zbPSJ$r
zh*72>VWj=9Fh6mTfVd|mz~a)`C^;QTQMiRdl)OoAq#x5Syyp%4Z_XkyOJm)baW^Kr
zxlM?|9o&szWxXFMnfgrXxRSy|B}I5q@&=<tiQ%vO^A(J4sYuhjF(F1Q#E?I$E?kOj
g-J)&Mz3Yo7^2;HA(w@-ZDrT`Zrp%2!^0oezKd5SqG5`Po

literal 0
HcmV?d00001

diff --git a/WEB-INF/classes/Servlets/DatabaseTestServlet.class b/WEB-INF/classes/Servlets/DatabaseTestServlet.class
new file mode 100644
index 0000000000000000000000000000000000000000..d21ff282c8d459621d98bb8e0239a79288baa4b6
GIT binary patch
literal 2427
zcmai0?OGE@6n=*Qn}*0o5D-+13Q7!QTa|tgYlQ%UO+qCU+EUw2Hbb(o*$ulB6tARr
z(BJ;4;*VZHFQ*sKr)NJ%0tuAo$?TaqGiToO@t)!De?R^OU=c<HT?i@Yj-m&>43qo(
zh`&)CVILVnsud|~>KY9Ne}SR*iEirhDMM%`u^mR3VZ^e_shZ`;vMroLBeiVnN5YOE
zf<6V&D6XKNVZgPk8r&?a8G}0xgR*DYd0rI^(=*wowjgcYET<DKOWuKW7=sLn{Zdg|
zXkNCUs)nU;qe9m&%s+ngP_5~2-wIpjVZ<1Q%CCi4;zpI*Wnml(Sr6kXL9beR1fv*J
za4m{)OfZak2nfFF!_RS(mxax6r7UE|GEJdL-7*<+9l*9=4dA!01P-}3G|iDyHz*QS
z;W%_#7?TX+%UtpzcSKwYN5-AHrjd59ZlwAU$8807qPUAGirVFw+7yR%GQbdZgj|#q
z)nZ*zu<u`vf1|iho~9Gq3hpt)n|bk)khkQjRX0m3Z!}SJ;}OOT!|Ykedt5g}X(9e%
zc_|YwdBqSnEg9c)Po@++ppt1syYMpGFcv`qvr)_;#So#e=lrlRT%Bnxhaki;s^3qe
z_zVvj#;W{4P*^oCcXU}H$&uWYRAu)%xZA;47>~({y0fx0x1L{B_nn$b#auUJibOZ?
zpGWZpz9cAwD+ukf?$o%{DsGj`UwBQEOKr!}eON$R!ILPy1~KZ^*^IXB_c`;L+a-o)
z{)J8J0YQU9X|Dh~Xq_6xMtJ#s#&9Dz<*27A+@hLkaJ@TYm8fI}vbrhq^=eVrTfAt{
zN-XP=ZkrR&XdWzf%Zg4BpUhrnG|kXcvYrbn%+2#IoNqQ4_|m?u;S|-4*22{hpN8i+
z$H2&iJ1rFLT-yY7tZAUNP)QTA#UYXDT$tOTc_gI$-BeCBhW~dt@P!&rL2~UN$7?}&
zBMqK73bxuhbrAH%CI#CJ!yeCcOI_b+C@4k+t8Qyzm1xRvtwZKh?lEdbn{`v_Rk5u*
zI;DBhBo=d*^_1o5bDr~tQr!{70F0aLBW~2`ntrtu^tCy+uQ3cRS(bF9&1*R!D^|$~
z<5vp!DH^}~owgD-&<h?x5t@RM%XzXm<@x5lD7txM9SGHL41OC}<(jnYV}{>bnHg;K
zZ(QSM$q>#|*0K)jHJ>s53)SAl&m7!3u89uYcUvmzw2ihb1tv1wFbcX96r1QeJu9|X
ze1dXX33|GZ;mnO^p(@x9(tq(*dZ>NBa2wyy6Yu_Yf%1V~8W(A%(wEV<=fQihcb<BQ
zMpq5=BST}<-+*PT(5xG)cuq##!~Y;eb08N}KH!s`*g$M3Hv9o2`DE;R?B)q>h42UN
zdb9h%%+t;NiR4GR8s1_u_UHujT}aNJ;Hwbcc{nF<6VqgR0!exgLU2K)&`0Aifg8mj
zX(q_4o4Afi8fQpOk~E7rwb3bL>9h;}DeWGle?r!<PF5yKdVz0An#B-FS&|5T;F>Gt
zkoVlpVFTY0l9#0KL+F))>70VZ5H@L{mlOqjPrmQatP4NjNBZ{D!Jp{2y9?&vXS|}d
UFwK9X-!IssS%joAbR1y(KS!mtfdBvi

literal 0
HcmV?d00001

diff --git a/WEB-INF/classes/Servlets/IngredientServlet.class b/WEB-INF/classes/Servlets/IngredientServlet.class
new file mode 100644
index 0000000000000000000000000000000000000000..15c58c31bd89dd4d79c85982d35f5d71798ea859
GIT binary patch
literal 5743
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

literal 0
HcmV?d00001

diff --git a/WEB-INF/jsp/result.jsp b/WEB-INF/jsp/result.jsp
new file mode 100644
index 0000000..0e72564
--- /dev/null
+++ b/WEB-INF/jsp/result.jsp
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Result</title>
+</head>
+<body>
+<h1>Result</h1>
+<p id="result-message"></p>
+
+<script>
+    document.getElementById("result-message").innerText = "${message}";
+</script>
+</body>
+</html>
diff --git a/WEB-INF/src/DAO/IngredientDAO.java b/WEB-INF/src/DAO/IngredientDAO.java
index f15f270..92addeb 100644
--- a/WEB-INF/src/DAO/IngredientDAO.java
+++ b/WEB-INF/src/DAO/IngredientDAO.java
@@ -19,11 +19,11 @@ public class IngredientDAO {
     private static ResultSet resultSet;
 
     // SQL queries
-    private static final String SELECT_ALL_QUERY = "SELECT * FROM ingredients";
-    private static final String INSERT_QUERY = "INSERT INTO ingredients(nom, price) VALUES (?, ?)";
-    private static final String SELECT_BY_ID_QUERY = "SELECT nom,price FROM ingredients WHERE id = ?";
-    private static final String DELETE_QUERY = "DELETE FROM ingredients WHERE id = ?";
-    private static final String UPDATE_QUERY = "UPDATE ingredients SET nom = ?, price = ? WHERE id = ?";
+    private static final String SELECT_ALL_QUERY = "SELECT * FROM ingredient";
+    private static final String INSERT_QUERY = "INSERT INTO ingredient(nom, prix) VALUES (?, ?)";
+    private static final String SELECT_BY_ID_QUERY = "SELECT nom,prix FROM ingredient WHERE id = ?";
+    private static final String DELETE_QUERY = "DELETE FROM ingredient WHERE id = ?";
+    private static final String UPDATE_QUERY = "UPDATE ingredient SET nom = ?, prix = ? WHERE id = ?";
 
     // Method to establish database connection
     static Connection connect() throws IngredientDAOException {
@@ -63,8 +63,8 @@ public class IngredientDAO {
             while (resultSet.next()) {
                 int id = resultSet.getInt("id");
                 String name = resultSet.getString("nom");
-                double price = resultSet.getDouble("price");
-                Ingredient ingredient = new Ingredient(id, name, price);
+                double prix = resultSet.getDouble("prix");
+                Ingredient ingredient = new Ingredient(id, name, prix);
                 ingredients.add(ingredient);
             }
         } catch (SQLException e) {
@@ -102,8 +102,8 @@ public class IngredientDAO {
 
             if (resultSet.next()) {
                 String name = resultSet.getString("nom");
-                double price = resultSet.getDouble("price");
-                ingredient = new Ingredient(id, name, price);
+                double prix = resultSet.getDouble("prix");
+                ingredient = new Ingredient(id, name, prix);
             }
         } catch (SQLException e) {
             throw new IngredientDAOException("Error fetching ingredient", e);
diff --git a/WEB-INF/src/Servlets/DatabaseTestServlet.java b/WEB-INF/src/Servlets/DatabaseTestServlet.java
new file mode 100644
index 0000000..4b532a6
--- /dev/null
+++ b/WEB-INF/src/Servlets/DatabaseTestServlet.java
@@ -0,0 +1,38 @@
+package Servlets;
+
+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.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+
+@WebServlet("/database-test")
+public class DatabaseTestServlet extends HttpServlet {
+    @Override
+    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+        try {
+            // Charge le pilote JDBC pour PostgreSQL
+            Class.forName("org.postgresql.Driver");
+
+            // Essaie de se connecter à la base de données
+            Connection connection = DriverManager.getConnection(
+                    "jdbc:postgresql://localhost:5432/pizzeria", "gwendalmargelyetu", "moi");
+
+            // Si la connexion est établie, affiche un message de succès
+            req.setAttribute("message", "Database test successful.");
+        } catch (ClassNotFoundException e) {
+            // Si le pilote JDBC n'est pas trouvé, affiche un message d'erreur
+            req.setAttribute("message", "Database test failed: JDBC driver not found.");
+        } catch (SQLException e) {
+            // Si une exception SQL est levée, affiche un message d'erreur
+            req.setAttribute("message", "Database test failed: " + e.getMessage());
+        }
+
+        // Renvoie la réponse en utilisant la vue JSP
+        req.getRequestDispatcher("/WEB-INF/jsp/result.jsp").forward(req, resp);
+    }
+}
diff --git a/WEB-INF/src/Servlets/IngredientServlet.java b/WEB-INF/src/Servlets/IngredientServlet.java
index 2898d39..241fd8c 100644
--- a/WEB-INF/src/Servlets/IngredientServlet.java
+++ b/WEB-INF/src/Servlets/IngredientServlet.java
@@ -28,7 +28,7 @@ public class IngredientServlet extends HttpServlet {
     }
 
     @Override
-    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
         String pathInfo = req.getPathInfo();
         if (pathInfo == null || pathInfo.equals("/")) {
             // Get all ingredients
@@ -87,6 +87,7 @@ public class IngredientServlet extends HttpServlet {
         }
     }
 
+
     @Override
     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
         // Parse the request body as a JSON object
@@ -166,3 +167,7 @@ public class IngredientServlet extends HttpServlet {
         }
     }
 }
+
+/*
+
+ */
\ No newline at end of file
diff --git a/WEB-INF/test-classes/DAO/IngredientDAOTest.class b/WEB-INF/test-classes/DAO/IngredientDAOTest.class
new file mode 100644
index 0000000000000000000000000000000000000000..188fc1765833d64bd5bad8596a46ab37a9d59c89
GIT binary patch
literal 2963
zcmai0TUQfT7~Llq29iM_Tog+!7p;L9Q<u^UAQB1K=m;o?)n0T6BMyd1OeS7>zu#N?
z3;NpUu2nJCwffkH{+vGbsqH>9V=@qE32V-r+qd_(zwbL|{`mXX-vFfXLj(Z?6@*lT
z(In8muHVs9dEHt|&9AH*Ia{D<!n90#QXm)~URKa7(2+^cr?S>s$yhZF%VsYE1;G|X
zp(<!qu?KAe-3_ajj56&7SM`EGr`9k%F0FK^h@n$J$rUWi!QUGn)*M#l+xgVAJ8BlJ
zaS7M0q6d2gBHn6_6L`nv(s-|m{dk5BtQmGXpRc=67KlBCsn}*drI}@WJc?&=K*4h=
z`Y|A|$6-;MCP%Y8vr)9~JJMW@U<d~l98&Q-4h!@bN^7b03Z>(-Xxc_8r5DXqx?DC&
zHhB^<sym%oJzq8iLh-A^%aY}=iV-9PTFJ6bQJ^cH9o81+&-%5eW=YBMs6gAcsb;*u
zL8*Cv-AdD`zZiG^$$dfj7*+8iUZOK)!=BSONTfUN3g~3PqFpkrwQ<QTiC0vNVO*e@
zYZppp&S9N#S)WufiBrrV(~=(6Aq5V`8))zBNLs~dObdji=c|saSt;v`idm^?#1(9*
zR52u-S5;(jmejf2rQY>4h<@(Uf~Mj;<^)vN!p!XoMHe{ichyb!ai8<vi0k}<iVL_%
z=ZWSy&x*)M>r2x5CGw7EJT)$>cnw#m#;TDwY{Rcch+(9fLwH@q8+em(b~()z?72!l
zzfFH11qIhsT$fcE&gBbbN-%^K6*+0cQ$`wy!oW2JH&|mklnwK2y0FT?wP~hh%vCm4
zjM9?6lIKWFE9CV2vR*P}-y00sH%$t)x3OGhW-%AS%!NxuGMKrSGm1`TD`0^S)cae{
zirTn9@5PE`n;XWmSvCoowyc7!d&M!R?OZ^ojT?oMF{9^h61>|ci8GDG9A(aWrxVGy
zyCJPrE;sgU_4R)7slP+p)=o5}?j*PO?LyAeq{E}-4|}9ei3d=FRhGBhlx--UkmVF*
z%$Js4O;Y=!TZAIREV7Kde!RA_e#cn#k93v{7PGN!v~|(ebGOdxMJM12KHG8$xKJLs
zOhYbrxaqwGCMx~#&S`-brzg{um17%vDO0#>DfpJLt7Yfn1<jWf1G{LOzQHrpi+g0T
zP$}h%SySe1Pu)r0DN95@Dota67es(ZU4TE{NX{E?3$`twc4*>rjlC3G!8Sbd2;ygF
z*-bv>G`P*=Q*{?$9k<vM$a6O6Y@T5&*L99OfpX;$S{@=YQbqeibk$Am;Ue&+iV{7B
zeLj<&p2-c)hiJ$`k#7?EHd}#G4d^<1(wo@GFNkbnpO$!xK7lF*B~B2MvWwG)W?oz!
zIN;#)xVt=@W*+=y*tAvQdg+!sa))n?9PV<Bz`YuWEPIkeYp9C2me|A*4?f_7AEdNH
zG=0zq-|E4K33nfF{|DGRHLyP^h(fT1SW4@{vFsBhsqgWzP;ZFHCwfEiO}yMoCKF@f
z-tZ=-euNVG387#W8K+N<V@-+PrcIow;#^$5%vZ5km+L440>mlaFp&~y#}Ni8i9V*p
z5RTzEe<yK*ch4y1c}vPnm?S@P^85+%+<zDE(I16Z(fjy-^0Z?LAJWGVZ6xs#-@>%g
ziI4f#gipA89|HdnBCH^);8T8mCHW6b?H+>9YpOgTTbWFwo*Y^tmZBO7DnvOFRO7Nt
z5GpjaiDlVPhVw_9P-W^FImkeOmw7YBnKcvWCdK`9?hsCq$`qYWJMQ+oV72T?df`iQ
z=NEJ+uxr+QS))8kd1Q$wEQ>0x)=9{3Phf@%XB{xN$`lW5w{-lfW_ZFg9I4_h$F^R#
z?Uuq>(m%&?*L?OP|6~8_ntjc)-$6yYeupZX$KZEKJ%wDD1&03u1Hb5l>F{7=z<ETp
T*M$0}R^s1rO5l4w19<Q+ShRDq

literal 0
HcmV?d00001

diff --git a/WEB-INF/web.xml b/WEB-INF/web.xml
new file mode 100644
index 0000000..9f5308e
--- /dev/null
+++ b/WEB-INF/web.xml
@@ -0,0 +1,38 @@
+<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
+                             http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
+         version="3.1">
+
+    <welcome-file-list>
+        <welcome-file>index.html</welcome-file>
+    </welcome-file-list>
+
+    <jsp-config>
+        <jsp-property-group>
+            <url-pattern>*.jsp</url-pattern>
+            <page-encoding>UTF-8</page-encoding>
+        </jsp-property-group>
+    </jsp-config>
+
+    <servlet>
+        <servlet-name>DatabaseTestServlet</servlet-name>
+        <servlet-class>Servlets.DatabaseTestServlet</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>DatabaseTestServlet</servlet-name>
+        <url-pattern>/database-test</url-pattern>
+    </servlet-mapping>
+
+    <servlet>
+        <servlet-name>IngredientServlet</servlet-name>
+        <servlet-class>Servlets.IngredientServlet</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>IngredientServlet</servlet-name>
+        <url-pattern>/ingredients/*</url-pattern>
+    </servlet-mapping>
+
+</web-app>
\ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..6aea69b
--- /dev/null
+++ b/index.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Test</title>
+</head>
+<body>
+<h1>Test</h1>
+<p>This is a test page.</p>
+</body>
+</html>
diff --git a/pom.xml b/pom.xml
index 05a4823..d76dccc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -54,5 +54,7 @@
     <build>
         <sourceDirectory>WEB-INF/src</sourceDirectory>
         <testSourceDirectory>WEB-INF/test</testSourceDirectory>
+        <outputDirectory>WEB-INF/classes</outputDirectory>
+        <testOutputDirectory>WEB-INF/test-classes</testOutputDirectory>
     </build>
 </project>
-- 
GitLab