목록2024/10/07 (7)
The Debugging Chronicles : "코드의 미학"
POJOPlain OId java ObjectVO Value Object == DTO"오래된 방식의 간단한 자바 객체" 간단하게 말해서 특정 프레임워크나 라이브러리에 종속되지 않는 순수한 자바 객체를 말한다.POJO는 복잡한 상속 구조나 인터페이스를 요구하지 않고 간단한 getter/setter메서드와 필드를 이용하여 객체의 상태를 관리하는 방식으로 코드를 작성하는 것을 의미한다. POJO를 이용한 코드public class Member { private int id; private String name; private String email; // 기본 생성자 public Member() {} // 매개변수가 있는 생성자 public Member(int id, ..
뭔가 정의할 때 생기는 에러이다'나 XML를 찾고 있는데 안보여' 라고 하는 뜻이다 찾고 있는 위치는 이곳이다.즉, Spring 에서 제공하는 DispatcherServlet 을 new 하려고 하면[/WEB-INF/ds-servlet.xml]설정 파일을 필요로 한다. 라는 뜻이다. 정리하면서버 구동 하면 톰캣이 서블릿 컨테이너에서 Web.xml을 보고,어? spring 에서 제공하는 DispatcherServlet을 쓰네라고 인식한다.그러면 ds-servlet 주세요 한다.xml 파일을 보게되면서 spring 컨테이너의 개입이 시작됨 해결방안 ds-servlet.xml 파일을 만들면 된다.
dispatcherServlet을 직접 만들었다만약 스프링에서 제공하는 파일을 사용하면 어떻게 될까? 일단 어노테이션은 web.xml에 있는 설정을 대신해서 사용한 것이다.ds내용에는 객체그 아래에는 클래스를 쓰면 된다.org.springframework.web.servlet.DispatcherServlet 맵핑도 같이 한다. web.xml은 서블릿 컨테이너(톰캣)에게 줄 파일을 만드는 것이다.필터와 리스너도 여기서 만들어야 한다. 여기서 서버를 돌려면보면 다음과 같은 에러가 난다.https://sweetseonah1004.tistory.com/155 DS가 자기 의존성을 주입하려고 한다.그러면 handlerMapper와 ViewResolver가 있었어야 한다. 먼저 handlerMapper만 추가 해보..
응답이 2가지로 온다 get view를 한다.줄일 수 있다. package com.koreait.app.view.controller;import java.io.IOException;import jakarta.servlet.ServletException;import jakarta.servlet.annotation.WebServlet;import jakarta.servlet.http.HttpServlet;import jakarta.servlet.http.HttpServletRequest;import jakarta.servlet.http.HttpServletResponse;@WebServlet("*.do")public class DispatcherServlet extends HttpServlet { ..
DispatcherServlet은 의존성을 2개 가지고 있는데handlerMapping과 ViewResolver이다POJO이다어디로 갈지를 관여한다. 멤버변수는prefix와 suffix가 있는데setter로 의존성을 주입한다. 어디로 가야할지 관연하는 부분에서어디로 가야할 부분에 접두사(./)랑 접미어(.jsp)를 붙여서 완성시킨다. package com.koreait.app.view.controller;public class ViewResolver { private String prefix; private String suffix; public String getPrefix() { return prefix; } public void setPrefix(String prefix) { this.pre..
FrontController일반적으로 view라고하는데 사용자에게 제공한다는 의미이다. 기본 내용에서 주석을 지우면 예전에는 FrontController라고 불렀는데 스프링에서는 DispatcherServlet 라고 불른다.일반 POJO가 new하지 않는다.서블릿에서는 컨테이너가 주관하는데 바로 톰캣이다.톰캣이 주관하는 web.xml 에 가보면xml 태그에 과도한 설정이을 피하기 위해서 어노테이션을 쓴다. 우리는 요청이 get인지 post인지 알지 못하기 때문에 DoAction을 만들어서 요청을 처리한다. doAction에서 들어오면 해야할 3가지 단계가 있다.1. 사용자(클라이언트, 브라우저)가 무슨 요청을 했는지 추출 및 확인2. 요청 수행 = 요청에 해당하는 controller 기능을 수행3. 응답..