목록2021/08 (16)
관심쟁이 영호
오늘은 게시판에 댓글기능을 구현할 예정이다. 목차는 다음과 같다. 목차 도메인 설계 and 연관관계 매핑 Controller 구현 Repository 생성 뷰 구현 도메인 도메인 내용은 다음과 같다. Reply 속성 기타 설명 Long sequenceId 시퀀스 전략, Primary Key - User user ManyToOne 관계(user가 1) 댓글 작성자 Board board ManyToOne 관계(board가 1) 댓글이 포함되는 게시글 Timestamp createDate Timestamp 작성일 String Content - 댓글 내용 @Data @Entity(name = "reply") public class Reply { @Id @GeneratedValue(strategy = Genera..

인터셉터에서 세션 처리를 하는 도중에 문제가 생겼다. 지금까지 Controller에서 Model을 이용하여 view에 넣어주었는데, HandlerInterceptor의 postHandle에는 ModelAndView를 이용하는 것이다..(확장하면 되지만 있는 그대로를 이용하자!!) 똑같겠지 생각하며 addAttribute를 찾아보았지만 없다....(세션에 있는 User 정보를 넣고 싶다고!!) 그럼 ModelAndView로 Model에 데이터를 넣는 방법을 찾아보면서 Model과 ModelAndView를 확실히 다루어 볼 예정이다! 가장 먼저 알아둬야 할 것이 있다. Model, ModelAndView에서 Model이란 무엇인가? 다음 그림을 보자! (발로 그린 그림이다..) 그림을 보면 Controlle..
오늘은 게시판 글쓰기를 구현할 것이다. 목차 Board 도메인 생성 뷰 구현하기 Board Repository 생성 컨트롤러 구현하기 서비스 구현하기 Board 도메인 생성 @Data @Entity(name = "board") public class Board { @Id @GeneratedValue(strategy = GenerationType.AUTO) private int boardId; @Column(nullable = false, length = 100) private String title; @Lob private String content; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name="userId") private User user; @OneT..
오늘은 로그아웃을 구현할 것이다. 내용이 작기때문에 목차따윈 없다! 세션 만료시키기 세션을 만료하는 방법은 많다. 나느 그 중에서 HttpSession 클래스에 구현되어있는 invalidate 메소드를 이용할 것이다. 상황 : "로그아웃" 버튼을 클릭할 시, 즉시 세션을 파괴하고 홈으로 리다이렉트한다! 컨트롤러부터 생성해보자. LogOutController.java @Controller public class LogOutController { @GetMapping("/logout") public String logout(HttpServletRequest request){ HttpSession session = request.getSession(false); if (session != null) { ses..
오늘은 Session이 없으면 특정 페이지에 접근을 하지 못하게 하는 작업을 할 것이다. 목차 전략 인터셉터 생성 WebConfig 등록 전략 특정 페이지 URL 요청 시, Interceptor를 통해서 세션을 확인한다. 세션이 존재하지 않을 경우 "home"으로 redirect해준다. 세션 체크를 할 특정 페이지는 회원 수정, 게시판 글 작성이다. 인터셉터 생성 - 먼저 인터셉터를 생성하자. SessionCheckInterceptor.java @Slf4j public class SessionCheckInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServ..
JPA를 이용한 로그인 이번 포스팅은 로그인 기능을 구현 내용과 구현 중 맞닿은 에러에 대해서 다룰 것이다! 이번 내용은 다음과 같다. Login 프론트 구현 Login 컨트롤러 구현 UserRepository 기능 확장 Login 서비스 구현 Login 프론트 구현 먼저 코드를 살펴보자! 로그인입니다. ID : PASSWORD : 제출 코드 설명 form 태그를 통해서 post 요청을 수행한다. 상대경로를 통해 "/login"으로 요청을 수행한다. id와 password를 입력할 수 있다. Login 컨트롤러 구현 코드로 바로 보자. @Controller @RequiredArgsConstructor @Slf4j public class LoginController { @Autowired private f..