Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
d25d1a7
updated pom.xml file
Jose-M-Diaz Feb 14, 2022
976cc3f
adde search servlet - search jsp
AidaJ-Gutierrez Feb 14, 2022
067dbb0
users and ads section edited
Sabastain-Wakoyi Feb 15, 2022
2b1f604
working on show individual ad
Jose-M-Diaz Feb 15, 2022
1c6c272
updated servlet
Jose-M-Diaz Feb 15, 2022
64cbebe
view ads in profile, started error messages
andrew-batshoun Feb 15, 2022
5da0773
Merge pull request #1 from regulus-red-adlister/sabastain-wakoyi
Jose-M-Diaz Feb 15, 2022
090131a
Merge branch 'master' into jose-diaz
Jose-M-Diaz Feb 15, 2022
6b8cca4
resolved merge conflict
andrew-batshoun Feb 15, 2022
90f8562
change in ListAdsDao
AidaJ-Gutierrez Feb 15, 2022
61af333
Merge pull request #2 from regulus-red-adlister/jose-diaz
AidaJ-Gutierrez Feb 15, 2022
03e44ee
changes on Ads
AidaJ-Gutierrez Feb 15, 2022
9e78e35
resolved conflict merge
andrew-batshoun Feb 15, 2022
6c214c4
Merge branch 'master' into jose-diaz
Jose-M-Diaz Feb 15, 2022
ffad6c1
Merge pull request #3 from regulus-red-adlister/andrawesbatshoun
Jose-M-Diaz Feb 15, 2022
9fb6612
somthing changed
AidaJ-Gutierrez Feb 15, 2022
b887e36
some changes
AidaJ-Gutierrez Feb 15, 2022
0580569
Merge branch 'master' into aida-gutierrez
Sabastain-Wakoyi Feb 15, 2022
783f1d7
Merge pull request #4 from regulus-red-adlister/aida-gutierrez
Sabastain-Wakoyi Feb 15, 2022
232cca0
edited ads interface
Sabastain-Wakoyi Feb 15, 2022
c2973da
conflict resolved
Sabastain-Wakoyi Feb 15, 2022
413d272
updated mysqldoa
Jose-M-Diaz Feb 15, 2022
9a4c3fb
comented objects
AidaJ-Gutierrez Feb 15, 2022
2ecb28b
Merge branch 'master' into jose-diaz
Jose-M-Diaz Feb 15, 2022
0bdd684
comented objects
AidaJ-Gutierrez Feb 15, 2022
f75e785
added alert for empty fields
andrew-batshoun Feb 15, 2022
8a7559f
Merge branch 'master' into andrawesbatshoun
andrew-batshoun Feb 15, 2022
f35e1f1
search finished and modified navbar
AidaJ-Gutierrez Feb 15, 2022
3b734a5
Merge pull request #5 from regulus-red-adlister/aida-gutierrez
andrew-batshoun Feb 15, 2022
3dcfef5
commit work
andrew-batshoun Feb 15, 2022
785ee70
created error messages for forms
andrew-batshoun Feb 15, 2022
0a15f32
Merge pull request #7 from regulus-red-adlister/andrawesbatshoun
Sabastain-Wakoyi Feb 15, 2022
f4bec3a
Merge branch 'master' into jose-diaz
Jose-M-Diaz Feb 15, 2022
eb35946
Merge pull request #6 from regulus-red-adlister/jose-diaz
andrew-batshoun Feb 15, 2022
19e7b57
working on adservlet
Jose-M-Diaz Feb 15, 2022
c0989aa
resolved conflicts
Jose-M-Diaz Feb 15, 2022
3d02306
resolved conflicts
Sabastain-Wakoyi Feb 15, 2022
e079123
updated index.jsp to show single add page
Jose-M-Diaz Feb 15, 2022
5fb2fd6
Merge pull request #8 from regulus-red-adlister/jose-diaz
andrew-batshoun Feb 16, 2022
9d3c0a2
not changes
AidaJ-Gutierrez Feb 16, 2022
6e03ac3
changes on showInvAd
AidaJ-Gutierrez Feb 16, 2022
986aefe
Merge branch 'master' into sabastain-wakoyi
Sabastain-Wakoyi Feb 16, 2022
6a8c82e
working on showing individual ad
Jose-M-Diaz Feb 16, 2022
f4983fc
Merge branch 'master' into jose-diaz
Jose-M-Diaz Feb 16, 2022
4025004
navbar change-added links-started update ads
AidaJ-Gutierrez Feb 16, 2022
6745f26
Merge pull request #9 from regulus-red-adlister/aida-gutierrez
andrew-batshoun Feb 16, 2022
590f10a
fixed register and login
andrew-batshoun Feb 16, 2022
0373370
Merge pull request #10 from regulus-red-adlister/andrawesbatshoun
Jose-M-Diaz Feb 16, 2022
bac55c8
added categories doa, servlet, interface, and mysqldao. still working…
Jose-M-Diaz Feb 16, 2022
e3dc339
worked on edit of email, password, profile
Sabastain-Wakoyi Feb 16, 2022
c2633e2
Merge branch 'master' into jose-diaz
Jose-M-Diaz Feb 16, 2022
7f89280
Merge pull request #11 from regulus-red-adlister/jose-diaz
andrew-batshoun Feb 16, 2022
5504ccf
Merge pull request #12 from regulus-red-adlister/sabastain-wakoyi
Jose-M-Diaz Feb 16, 2022
a452597
finished update ads and delete, some style changes
AidaJ-Gutierrez Feb 17, 2022
c5f73ba
Merge pull request #13 from regulus-red-adlister/aida-gutierrez
andrew-batshoun Feb 17, 2022
81a4656
working on categories section
Jose-M-Diaz Feb 17, 2022
969ac6d
added functions in categoriesSQLdao for all and obtain by cat name
Jose-M-Diaz Feb 17, 2022
e9717be
updated select form to checkbox to allow more than one selection
Jose-M-Diaz Feb 17, 2022
de7b660
removed updatepassword and updateemail method in dao, changed to upda…
andrew-batshoun Feb 17, 2022
ed73477
commented out methods because interrupted compile need to delete chan…
andrew-batshoun Feb 17, 2022
70c5548
Merge pull request #14 from regulus-red-adlister/andrawesbatshoun
Jose-M-Diaz Feb 17, 2022
838dd76
categories
Jose-M-Diaz Feb 17, 2022
f872b6e
Merge pull request #15 from regulus-red-adlister/jose-diaz
andrew-batshoun Feb 17, 2022
3a12302
changes to catssql
Jose-M-Diaz Feb 17, 2022
cbe6dc7
Merge branch 'master' into jose-diaz
Jose-M-Diaz Feb 17, 2022
a79872b
style changes added boostrap 4
AidaJ-Gutierrez Feb 17, 2022
4282b5a
Merge branch 'master' into aida-gutierrez
AidaJ-Gutierrez Feb 17, 2022
fd71b82
working on create jsp checkbox.
Jose-M-Diaz Feb 17, 2022
444ae12
added comments
andrew-batshoun Feb 17, 2022
0b06975
styling
AidaJ-Gutierrez Feb 17, 2022
12906d6
Merge pull request #16 from regulus-red-adlister/jose-diaz
AidaJ-Gutierrez Feb 17, 2022
e4af433
Merge pull request #17 from regulus-red-adlister/andrawesbatshoun
Jose-M-Diaz Feb 17, 2022
995c292
Merge branch 'master' into aida-gutierrez
AidaJ-Gutierrez Feb 17, 2022
c72115c
Merge pull request #18 from regulus-red-adlister/aida-gutierrez
Jose-M-Diaz Feb 17, 2022
dd8d485
createAdServlet updated
Jose-M-Diaz Feb 17, 2022
2dafd36
some changes
AidaJ-Gutierrez Feb 17, 2022
43b756d
updated
Jose-M-Diaz Feb 17, 2022
5ac92a9
Merge pull request #19 from regulus-red-adlister/jose-diaz
andrew-batshoun Feb 17, 2022
db6df74
createadservlet updated along with insert in sqlAdsDao. fuctional che…
Jose-M-Diaz Feb 17, 2022
f07e04b
removed not needed checkboxes
Jose-M-Diaz Feb 17, 2022
844ddb0
updated
Jose-M-Diaz Feb 17, 2022
62cc403
Merge pull request #20 from regulus-red-adlister/jose-diaz
andrew-batshoun Feb 17, 2022
8d94bf0
changes
AidaJ-Gutierrez Feb 18, 2022
a0011d2
added userdeleteservlet
Sabastain-Wakoyi Feb 18, 2022
db4d6a4
Merge pull request #21 from regulus-red-adlister/sabastain-wakoyi
andrew-batshoun Feb 18, 2022
2368c2c
added validation class for email and password; updated error messages…
andrew-batshoun Feb 18, 2022
aa04b9c
Merge pull request #22 from regulus-red-adlister/andrawesbatshoun
Jose-M-Diaz Feb 18, 2022
2d7d13b
working on jumbotron image display
Jose-M-Diaz Feb 18, 2022
1e05666
added servlet to search by catagory
AidaJ-Gutierrez Feb 18, 2022
2b97265
Merge pull request #23 from regulus-red-adlister/aida-gutierrez
andrew-batshoun Feb 18, 2022
4fb9b2e
working on image
Jose-M-Diaz Feb 18, 2022
1992648
comment
andrew-batshoun Feb 18, 2022
315bfff
Merge branch 'master' into andrawesbatshoun
andrew-batshoun Feb 18, 2022
b1ffb58
Merge branch 'master' into jose-diaz
Jose-M-Diaz Feb 18, 2022
37953de
added function search by category
andrew-batshoun Feb 19, 2022
4019f92
styling changes
AidaJ-Gutierrez Feb 19, 2022
043f1f0
working on adding image to jumbo
Jose-M-Diaz Feb 19, 2022
1caa936
Merge pull request #24 from regulus-red-adlister/andrawesbatshoun
AidaJ-Gutierrez Feb 19, 2022
8580f1b
Merge pull request #25 from regulus-red-adlister/jose-diaz
andrew-batshoun Feb 19, 2022
cbea309
Merge branch 'master' into aida-gutierrez
AidaJ-Gutierrez Feb 19, 2022
83391f7
resolved conflict
andrew-batshoun Feb 19, 2022
88ef06c
Merge branch 'aida-gutierrez'
andrew-batshoun Feb 19, 2022
06a2ec7
x
AidaJ-Gutierrez Feb 19, 2022
df364dc
fixed error and redirect for register
andrew-batshoun Feb 19, 2022
c363e51
Merge pull request #27 from regulus-red-adlister/andrawesbatshoun
Jose-M-Diaz Feb 19, 2022
8d7e27c
blank
Jose-M-Diaz Feb 19, 2022
01b9861
Merge branch 'master' into jose-diaz
Jose-M-Diaz Feb 19, 2022
b0523df
y
AidaJ-Gutierrez Feb 19, 2022
c98d3d2
z
AidaJ-Gutierrez Feb 19, 2022
c8e7807
some fixes
AidaJ-Gutierrez Feb 20, 2022
afb8b86
Merge pull request #28 from regulus-red-adlister/aida-gutierrez
Jose-M-Diaz Feb 20, 2022
76c0924
Merge branch 'master' into jose-diaz
Jose-M-Diaz Feb 20, 2022
5e239ed
added socia media icons to footer
Jose-M-Diaz Feb 21, 2022
bfd5e96
trying sticky forms
AidaJ-Gutierrez Feb 21, 2022
17816df
Merge pull request #29 from regulus-red-adlister/jose-diaz
andrew-batshoun Feb 21, 2022
56ceb0a
Merge branch 'master' into aida-gutierrez
AidaJ-Gutierrez Feb 21, 2022
e14b648
users now show up
Jose-M-Diaz Feb 21, 2022
1d468a9
update
Jose-M-Diaz Feb 21, 2022
03991dd
pushing work
Jose-M-Diaz Feb 21, 2022
84361c0
Merge pull request #30 from regulus-red-adlister/jose-diaz
andrew-batshoun Feb 21, 2022
6fd0c8d
change in links
AidaJ-Gutierrez Feb 21, 2022
46c9c0d
Merge branch 'master' into aida-gutierrez
AidaJ-Gutierrez Feb 21, 2022
1472d1f
final commit Whooo
AidaJ-Gutierrez Feb 21, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 48 additions & 2 deletions migration.sql
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@ USE adlister_db;

DROP TABLE IF EXISTS ads;
DROP TABLE IF EXISTS users;
DROP TABLE IF EXISTS categories;
DROP TABLE IF EXISTS ads_categories;

CREATE TABLE users (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
username VARCHAR(240) NOT NULL,
email VARCHAR(240) NOT NULL,
username VARCHAR(240) NOT NULL UNIQUE,
email VARCHAR(240) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);
Expand All @@ -20,3 +22,47 @@ CREATE TABLE ads (
FOREIGN KEY (user_id) REFERENCES users(id)
ON DELETE CASCADE
);
# table to store category names being created
CREATE TABLE categories (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
category VARCHAR(240) UNIQUE NOT NULL,
PRIMARY KEY (id)
);
# table for the categories each add can fit into
CREATE TABLE ads_categories (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
ads_id INT UNSIGNED NOT NULL,
category_id INT UNSIGNED NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (ads_id) REFERENCES ads(id),
FOREIGN KEY (category_id) REFERENCES categories(id)
);

INSERT INTO categories (category) VALUES ('Automotive');
INSERT INTO categories (category) VALUES ('Clothing');
INSERT INTO categories (category) VALUES ('Electronics');
INSERT INTO categories (category) VALUES ('Furniture');
INSERT INTO categories (category) VALUES ('Home');
INSERT INTO categories (category) VALUES ('Tools');
INSERT INTO categories (category) VALUES ('Toys');
INSERT INTO categories (category) VALUES ('Miscellaneous');



# DROP DATABASE IF EXISTS adlister_db;
#
# CREATE DATABASE IF NOT EXISTS adlister_db;



SELECT *
FROM ads
WHERE id IN (
SELECT ads_id
FROM ads_categories
WHERE category_id IN(
SELECT id
FROM categories
WHERE category LIKE 'Furniture'
)
);
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<dependency>
<groupId>org.mindrot</groupId>
<artifactId>jbcrypt</artifactId>
<version>0.3m</version>
<version>0.4</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
Expand All @@ -42,7 +42,7 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.5</version>
<version>8.0.23</version>
</dependency>
</dependencies>

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
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.imageio.IIOException;
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 = "ChangeEmailServlet", urlPatterns = "/user/email")
public class ChangeEmailServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
User editUser = (User) request.getSession().getAttribute("User");
String newEmail = request.getParameter("newEmail");
// String newPassword = null;
//String hashPower = Password.hash(newPassword);

// DaoFactory.getUsersDao().updateUserEmail(editUser.getId(), newEmail);
response.sendRedirect("/profile");

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
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.imageio.IIOException;
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 = "ChangePasswordServlet", urlPatterns = "/user/password")
public class ChangePasswordServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
User editUser = (User) request.getSession().getAttribute("user");
String newPassword = request.getParameter("newPassword");
String hashPassword = Password.hash(newPassword);

// DaoFactory.getUsersDao().updateUserPassword(editUser.getId(),hashPassword);
response.sendRedirect("/profile");
}
}
49 changes: 41 additions & 8 deletions src/main/java/com/codeup/adlister/controllers/CreateAdServlet.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.codeup.adlister.dao.DaoFactory;
import com.codeup.adlister.models.Ad;
import com.codeup.adlister.models.Category;
import com.codeup.adlister.models.User;

import javax.servlet.ServletException;
Expand All @@ -10,6 +11,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

@WebServlet(name = "controllers.CreateAdServlet", urlPatterns = "/ads/create")
public class CreateAdServlet extends HttpServlet {
Expand All @@ -18,18 +20,49 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response) t
response.sendRedirect("/login");
return;
}
List <Category> allCategories = DaoFactory.getCategoriesDao().all();
request.getSession().setAttribute("allCategories",allCategories);

request.getRequestDispatcher("/WEB-INF/ads/create.jsp")
.forward(request, response);
.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");
String title = request.getParameter("title");
String description = request.getParameter("description");

String [] selectedCategories = request.getParameterValues("categoryCheckbox");
// List<Category> categoryObjects = new ArrayList<>();
// for (int i = 0; i < selectedCategories.length; i++) {
// categoryObjects.add(DaoFactory.getCategoriesDao().getCategoryByCatName(selectedCategories[i]));
// }


//if title or description is missing error message will be created
if (title.isEmpty() || description.isEmpty()) {
String errorMessage = "Missing information.";
//errorMessage variable is set to attribute createError
request.getSession().setAttribute("createError", errorMessage);
//user is redirected to create page
response.sendRedirect("/ads/create");
} else {
//when all conditions are met new ad is created
Ad ad = new Ad(
user.getId(),
request.getParameter("title"),
request.getParameter("description")

);
if (selectedCategories == null) {
DaoFactory.getAdsDao().insert(ad);
}else {
DaoFactory.getAdsDao().insertCategories(ad, selectedCategories);
}
// DaoFactory.getAdsDao().insert(ad);
// DaoFactory.getCategoriesDao().insert(categoryObjects);
response.sendRedirect("/ads");
}

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
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 = "DeleteAdsServlet", value = "/ads/delete")
public class DeleteAdsServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, IOException {
long id = Long.parseLong(request.getParameter("ad_id"));
DaoFactory.getAdsDao().deleteCategories(id);
DaoFactory.getAdsDao().delete(id);
response.sendRedirect("/profile");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
package com.codeup.adlister.controllers;


import com.codeup.adlister.dao.DaoFactory;
import com.codeup.adlister.models.User;
import com.codeup.adlister.util.Password;
import com.codeup.adlister.util.Validate;

import javax.imageio.IIOException;
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 = "EditProfileServlet", urlPatterns = "/editProfile")
public class EditProfileServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
//if user is null, will be redirected to login page
if (request.getSession().getAttribute("user") == null) {
response.sendRedirect("/login");
return;
}
request.getRequestDispatcher("/WEB-INF/editProfile.jsp").forward(request,response);
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String email = request.getParameter("email");
String password = request.getParameter("password");
String passwordConfirmation = request.getParameter("confirmPassword");
//set hash password
String hash = Password.hash(password);
String errorMessage = "";
//created user to access id and username
User user = (User) request.getSession().getAttribute("user");
System.out.println(user.getId());
System.out.println(email);
System.out.println(password);
System.out.println(passwordConfirmation);

//boolean if email and password are empty or passwords don't match
boolean inputHasErrors = email.isEmpty()
|| password.isEmpty()
|| (! password.equals(passwordConfirmation));
//if statement with inputHasErrors boolean
//if has any error then other if statements will add string to
//errorMessage variable
if(inputHasErrors){
if(email.isEmpty()){
errorMessage += "Please enter a valid email";
}
if(password.isEmpty()){
errorMessage += "Please enter a password";
}
if(! password.equals(passwordConfirmation)){
errorMessage += "Passwords do not match";
}

//sets errorMessage to editError
request.getSession().setAttribute("editError", errorMessage);
response.sendRedirect("/editProfile");
}else if(!Validate.emailVal(email) || !Validate.passVal(password)){

if (!Validate.passVal(password)){
errorMessage += "Password must have at least: <br>" +
" one numeric character<br>" +
"one lowercase character<br>" +
"one uppercase character<br>" +
"one special symbol of !@#$%<br>" +
"and 6-15 characters long<br>";
}
if(!Validate.emailVal(email)){
errorMessage +="Enter a valid email<br>";
}
request.getSession().setAttribute("editError", errorMessage);
response.sendRedirect("/editProfile");
}else{
//create new User object called update adds User object user username and id with email and hash
User update = new User(user.getId(), user.getUsername(), email, hash);
DaoFactory.getUsersDao().updateUser(update);
request.getSession().removeAttribute("user");
request.getSession().invalidate();
response.sendRedirect("/login");

}


}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
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;
import java.sql.SQLException;

@WebServlet(name = "controllers.IndividualAdServlet", urlPatterns = "/ads/individualAd")
public class IndividualAdServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

long individualAd = Long.parseLong(request.getParameter("ad"));
User user = DaoFactory.getUsersDao().findByAd(individualAd);
//Ad ad = DaoFactory.getAdsDao().findById(individualAd);
request.setAttribute("ad", DaoFactory.getAdsDao().findById(individualAd));
request.setAttribute("userAd", user.getUsername());
request.getRequestDispatcher("/WEB-INF/ads/ShowIndvAd.jsp").forward(request, response);
}
}
18 changes: 18 additions & 0 deletions src/main/java/com/codeup/adlister/controllers/LoginServlet.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,37 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
String username = request.getParameter("username");
String password = request.getParameter("password");
User user = DaoFactory.getUsersDao().findByUsername(username);
String errorMessage = "";

//if username or password field is empty error message occurs
if(username.isEmpty() || password.isEmpty()){
errorMessage = "Username and Password are required";
request.getSession().setAttribute("loginError", errorMessage);
response.sendRedirect("/login");
return;
}

//if user doesn't exist message will occur then will redirect to login
if (user == null) {
errorMessage = "You have entered an invalid username or password";
request.getSession().setAttribute("loginError", errorMessage);
response.sendRedirect("/login");
return;
}

//boolean if password can be made into hash
boolean validAttempt = Password.check(password, user.getPassword());

//if boolean validattempt true user is redirected to profile
//if false error message is created
if (validAttempt) {
request.getSession().setAttribute("user", user);
response.sendRedirect("/profile");
} else {
errorMessage = "You have entered an invalid username or password";
request.getSession().setAttribute("loginError", errorMessage);
response.sendRedirect("/login");
}

}
}
Loading