9일차

2024. 6. 27. 16:19Aquarium

오늘은 내가 맡은 역할 중 회원 가입 + 회원 정보 수정 중에서 마지막 파트인 회원 탈퇴를 구현하고, 이제 나머지 자투리 페이지들을 만드는 것이 목표.

 

일단 로그인 실행

 

이제 xml 파일에 다음 구문을 추가

 

	<delete id="deleteMember" parameterType="int">
		delete from member where memberNo = #{memberNo}
	</delete>

 

그리고 MyInfo.html에서 회원 탈퇴 부분만 따로 form을 파서 버튼을 만듦

 

    <div class="row">
        <div class="col-sm-2 ml-3 mb-3">
            <form th:action="@{/deleteMember}" method="get">
                <button class="submit btn btn-outline-info">탈퇴하기</button>
            </form>
        </div>
    </div>

 

곧이어 Mapper, Service, Controller 작성

 

Mapper

	//회원 탈퇴
	void deleteMember(@Param("memberNo") int memberNo);

 

 

Service

	//회원 탈퇴
	public void deleteMember(int memberNo) {
		
		memberMapper.deleteMember(memberNo);
	}

 

 

Controller

    //회원 탈퇴
	@GetMapping("/deleteMember")
	public String deleteMember(HttpSession session) {
		Member member = (Member) session.getAttribute("loginSession");		
		if(member == null) {
			return "redirect:/";
		}
		
		//세션에 저장된 member_id 불러오기
		memberService.deleteMember(member.getMemberNo());
		
		session.invalidate(); //삭제 후 로그인 무효화
		return "redirect:/";
	}

 

 

 

이제 탈퇴하기 버튼을 눌러보면

 

 

 

 

일치하는 회원 정보가 없다고 뜨며 성공. 이제 DB도 확인해보면

 

 

 

 

위 로그인 페이지에 작성한 아이디와 비밀번호가 없다. 삭제 구현 완료. 이제 자투리 페이지들을 대거 만들 차례다.

 

먼저 전시생물 소개 페이지

 

 

생물들의 정보는 롯데월드 아쿠아리움에서 따왔다. 덕분에 쉽게 할 수 있었다.

 

다음은 프로그램 소개 페이지

 

 

아래쪽에 프로그램이 하나 더 있다. 총 2개 프로그램의 소개 페이지를 완성.

 

마지막으로 이용 안내 페이지

 

 

 

마지막으로 시간이 남았기에 임시 로그인을 정식 로그인 페이지로 만들기로 했다.

 

 

헤더와 푸터는 원래 있던 것을 사용했고, 메인 폼만 잘라서 올렸다.

 

로그인 가능여부는 이미 이전부터 써온 폼을 재활용한 것이기에 당연히 가능하다.

 

나머지는 아이디 찾기와 비밀번호 찾기인데, 이건 다른 팀원이 구현할 예정이다.

 

이제 내 역할은 완전히 끝났다. 오히려 초과로 수행했다.

 

회원가입, 회원정보수정, 로그인, 메인, 생물소개, 프로그램소개, 이용안내  총 7개의 페이지를 만들었다.

 

나머지는 팀원들에게 달렸다.

'Aquarium' 카테고리의 다른 글

10일차  (1) 2024.07.02
8일차  (0) 2024.06.26
7일차  (0) 2024.06.25
6일차  (0) 2024.06.24
5일차  (0) 2024.06.21