본문 바로가기

프로젝트24

영화 예매 사이트 (MoVieCinema) - 마이페이지 정보 수정 마이페이지 화면 구성 마이페이지 ID NAME EMAIL PHONE ADDRESS 내정보 수정하기 마이페이지 화면 띄우기 @GetMapping("/member/myPage") public String showMyPage(HttpSession session) { Member loginUser = (Member)session.getAttribute("loginUser"); return "member/myPage"; } 컨트롤러에서 세션에 저장한 loginUser로 마이페이지 값을 불러온다. 내 정보 수정하기 버튼을 누르면 수정 폼으로 이동한다. 수정 폼에서도 동일하게 값을 가져오고 수정할 수 있도록 아이디를 제외하고 readonly를 지워준다. 여기서 문제는 이메일을 저장할 때 email 컬럼에 emailI.. 2024. 4. 13.
영화 예매 사이트 (MoVieCinema) - 회원 가입 유효성 검사 유효성 검사를 하기 위해 정규표현식을 사용한다. 유효성 검사는 사용자가 입력한 데이터가 특정 형식에 맞는지 검사하는 과정을 말한다. 정규표현식은 문자열을 처리할 때 특정 패턴을 정의하여 검색, 대체, 유효성 검사 등을 수행하는 강력한 도구이다. 이를 통해 데이터가 올바른 형식인지 검사할 수 있으며, 이는 프로그래밍에서 매우 유용하게 사용된다. 1. 아이디 유효성 검사 ID 2024. 4. 13.
영화 예매 사이트 (MoVieCinema) - 영화 검색 기존 영화 전체 목록을 조회하는 부분에 페이징 처리만 해놓은 부분에 searchKeyword가 있을 때 검색 결과를 조회하는 코드를 넣어준다. 키워드가 없을 때에는 전체 영화 목록을 조회하고 키워드가 있으면 해당 키워드가 있는 영화 목록을 조회한다. 영화 목록 페이지에서 사용자가 검색어를 입력하고 검색 아이콘을 누르면 위의 클릭 이벤트가 실행된다. 사용자가 입력한 searchKeyWord를 get 방식으로 seachForm 매핑으로 넘겨주면, 컨트롤러가 받아서 해당하는 keyWord의 값을 찾아서 다시 jsp로 보내준다. 전체 목록을 조회해오는 것처럼 키워드가 맞는 결과를 조회하고, 검색 결과가 없는 경우 검색 결과가 없음을 알려준다. 전체 목록 조회와 검색 후 결과 반환 목록 조회의 주소가 다르기 때문.. 2024. 4. 13.
영화 예매 사이트 (MoVieCinema) - 영화 리뷰 수정 (AJAX) AJAX로 영화 리뷰 수정 기능을 구현한다. ReviewController @PostMapping("/updateReview") @ResponseBody public String updateReview(Review review) { reviewService.updateReview(review); return "success"; } ReviewService public Review updateReview(Review review) { return reveiwRepository.save(review); } reviews.jsp 위의 수정 버튼을 누르면 reviewId를 매개변수로 editReview 이벤트가 실행된다. 사용자에게 해당 번호의 리뷰를 수정하시겠습니까? 알림창을 띄우고 확인을 누르면, 리뷰id에.. 2024. 4. 13.
영화 예매 사이트 (MoVieCinema) - 영화 리뷰 목록에 작성자 표시 회원 가입 후 영화 리뷰 작성 시 작성자가 나오도록 수정해준다. 현재는 로그인 기능을 구현하지 않아 작성자 란에 null이 나오고, 로그인을 하지 않은 사용자들도 리뷰를 남길 수 있도록 구현이 되어있다. 로그인 기능을 구현하였으니 이제 로그인한 회원이 댓글을 작성하면 작성자가 리뷰 목록에 나오도록하고, 로그인 하지 않은 회원이 리뷰를 작성하려하면 로그인 창으로 이동하도록 하였다. 또, 리뷰 내용을 작성하지 않고 작성 버튼을 누를경우 내용을 작성해달라는 문구를 띄우도록 했다. ReviewController @PostMapping("/reviewInsert") @ResponseBody public String insertReview(Review review, HttpSession session) { if(s.. 2024. 4. 13.
영화 예매 사이트 (MoVieCinema) - 회원 가입 시 이메일 저장 회원 가입시 발생한 문제점 : DB에 email 컬럼에 이메일 아이디와 직접입력 또는 사용자가 선택한 이메일 주소를 묶어서 같이 저장해야 하는데, 자꾸 이메일 아이디만 저장된다. MemberEntity @Entity @Data @SequenceGenerator(name = "member_SEQ", sequenceName = "member_SEQ", allocationSize = 1) @EntityListeners(AuditingEntityListener.class) public class Member { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "member_SEQ") private Long memberId; private .. 2024. 4. 13.