본문 바로가기

프로그래밍 실습14

프론트 컨트롤러 도입 각각의 요청과 서블릿을 1:1로 매핑하지 않고 앞에 공통으로 처리하는 프론트 컨트롤러를 만들어 요청을 처리하는 MVC(Model과 View와 Controller가 분리된) 프레임워크를 만들었다. 1. V1 기존 요청과 1:1 매핑된 서블릿에서 프론트 컨트롤러만 앞에 두어 프론트 컨트롤러만 서블릿으로 만들고 기존 서블릿들은 ControllerV1을 구현한 컨트롤러로 만드는 방식 https://github.com/wooyoung627/inflearn-spring/tree/main/servlet/src/main/java/hello/servlet/web/frontcontroller/v1 GitHub - wooyoung627/inflearn-spring Contribute to wooyoung627/inflear.. 2023. 1. 28.
프론트 컨트롤러(Front Controller) 패턴 스프링 MVC 강의를 듣는 도중 프론트 컨트롤러 패턴이라는 패턴을 처음 들어보았다. 정리하면 좋을 것 같아 포스팅 시작! 프론트 컨트롤러의 등장 배경 MVC 패턴의 한계 클라이언트의 요청 - 서블릿 1:1 매핑 1. viewPath의 prefix(/WEB-INF/views/), suffix(.jsp)의 중복 2. getRequestDispatcher, dispatcher.forward의 중복 3. request, response를 사용하지 않을때가 많음 4. 공통 처리가 어렵다 등등.. @WebServlet(name = "mvcMemberListServlet", urlPatterns = "/servlet-mvc/members") public class MvcMemberListServlet extends .. 2023. 1. 27.
A Foreign key refering ... has the wrong number of column. should be 2 요새 회사에서 기존에 쓰던 MyBatis를 버리고 JPA로 옮기는 중인데 MyBatis로 사용하던 기존의 테이블들을 JPA로 매핑하다 보면 참 여러가지 오류를 만난다. 이번에는 A Foreign key refering ... has the wrong number of column. should be 2 라는 오류를 만났다. 해당 오류를 다시 테스트해보기 위해 오류를 일으킨 테이블들과 비슷하게 만든 테이블의 구조는 이렇다. TEAM이라는 테이블이 존재하고 team_id, name이 기본키로 잡혀있다. 그 아래에 MEMBER 테이블이 있는데 team_id로 team을 바라본다. 오류가 난 TEAM, MEMBER 테이블의 엔티티는 이렇다. @Entity @Builder @ToString(of = {"id", .. 2023. 1. 21.
InvalidDefinitionException Exception 예전 JPA를 공부하기 전에 겪었던 Exception을 정리해보려고 한다. Controller에서 Entity를 바로 리턴했더니 com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: spring.proj.shop.entity.Me.. 2023. 1. 15.