2024-01-25 (34일차) - JSP_AM 회원가입ID 중복체크, 로그인/로그아웃 , 작성자 권한

·2024년 1월 25일

📅 2024-01-25, 34일차


TODO

[프로그래머스]
1. 문제해석 (100%)
2. 문제풀이 (100%)
3. 2번을 코드로 번역 (100%)
4. 벨로그에 정리 (100%)

[JSP_AM]
1. <작업 26, 회원가입시 로그인 아이디 중복체크> 다시보기 (95%)
2. <작업 27, 로그인,로그아웃 기능 구현> 다시보기 (85%)
3. <작업 28, 게시물 작성시 작성자 정보 저장 및 memberId 추가, 로그인 해야 write 가능 하도록> 다시보기 (98%)


Teacher's Advice

  • 공부도 중요하지만 자기관리도 필수
    • 면접 때 풍기는 이미지나 외모도 중요함
  • 자기관리하는 모습을 기록하는 것도 좋음
  • 화법 중요
  • sql 인덱스에 대해 설명하라는 질문에
    • 모르겠다라기보다는
    • 생각 할 시간을 달라. 공부 했는데 기억이 잘 안나는데 다시 한번 들여다보면 분명 생각 날 거다 블라블라
  • 초봉 3000 목표로..

TIP 💡ctrl shift r 로 클래스 찾기!


생각의 흐름

가입 시 중복아이디가 있는지 탐색을 해야 함.
어떻게?샐랙트 카운트 쿼리로 찾기


setAttribute -> 로그인할때
getAttribute -> 로그인했나?
removeAttribute0 -> 로그아웃할때


요구사항
작성자개념추가

  • 작성시
  • 리스트, 디테일
  • 수정, 삭제 권한

로그인을 해야 글쓰기가 될 수 있도록 해야 함.

작성시 -> 로그인 안해도 글쓰기 기능 됨
로그인부터 하고 오라고 글쓰기 전에 블록해야함

  • insert 쿼리 날리기 전에 로그인 여부 확인해야겠네

글쓰기 버튼을 누를때 로그인하고오라고 해야하나? o
글쓰기 들어가서 작성 버튼을 누를때 로그인하고 오라고 해야하나?????????????????? x

로그인 했을 경우에만 글쓰기 버튼이 나오게 하고
로그인 상태가 아닌 경우엔 글쓰기 버튼이 사라지게 구현을 했지만,
주소창에 article/write 적으면 로그인 상태가 아니여도 바로 글쓰기 페이지로 진입이 가능... ^_ㅜ 이 방식은 적절한 방식은 아닌 것 같다!

애초에 글쓰기 기능을 흡수하는
article/write.jsp를 막아주면 되니까
로그인아이디가 null인 경우에는 doGet함수종료를 할 수 있게 해주면 된다!

if (session.getAttribute("loginedMemberId") == null) {
			response.getWriter().append(
					String.format("<script>alert('로그인 후 이용해주세요'); location.replace('../member/login');</script>"));
			return;
		}

리스트, 디테일 ㅇ
수정, 삭제 권한

리스트, 디테일에 작성자의 이름이 나올 수 있도록

  • db에서 inner join으로 작성자의 이름까지나올 수 있는 쿼리를 작성

로그인 후 내가 작성한 글만 수정 가능 하게 구현은 했으나
리스트에선 수정한내용이 적용이 되고
상세보기에선 수정한내용이 적용이 안되고 null거나, id=1 이렇게 나옴.

  • 날리는 sql 쿼리에서 where 조건을 달아주지 않았기 때문에 모든 글들이 select됐고 그 중 첫번째 글이 표시 되었던 것!
SecSql sql = SecSql.from("SELECT a.id, a.regDate, m.name, a.title, a.`body`");
	sql.append("FROM `member` AS m");
	sql.append("INNER JOIN article AS a");
	sql.append("ON m.id = a.memberId");
	sql.append("WHERE a.id = ?;", id);
profile
hello world

0개의 댓글