본문 바로가기
반응형

Backend, Server53

[Spring MVC] 스프링 MVC 기본 기능 - (2) HTTP 요청 HTTP 헤더 정보 조회 방법 @RequestMapping("/headers") public String headers(HttpServletRequest request, HttpServletResponse response, HttpMethod httpMethod, Locale locale, @RequestHeader MultiValueMap headerMap, @RequestHeader("host") String host, @CookieValue(value = "myCookie", required = false) String cookie ) { log.info("request={}", request); log.info("response={}", response); log.info("httpMethod={.. 2022. 1. 18.
[Spring MVC] 스프링 MVC 기본 기능 - (1) 매핑 방법 알아보기 (@RequestMapping 등) * 웰컴 페이지 스트링부트에 Jar를 사용하면 /resources/static/index.html위치에 index.html 파일을 두면 웰컴 페이지로 사용할 수 있음 * 로깅 기능 자주쓰는 로깅 라이브러리 : SLF4J 로그 선언 : private Logger log = LoggerFactory.getLogger(getClass()); @Slf4j : 롬복 사용 가능. 위의 로그 선언을 생략할 수 있게 됨 로그 호출 : log.info("hello") 로그 레벨 : TRACE > DEBUG > INFO > WARN > ERROR (개발 서버는 debug 출력, 운영 서버는 info 출력) 로그레벨 설정(application.properties) logging.level.root=info #전체 로그 레벨.. 2022. 1. 18.
[Spring MVC] 스프링 MVC 사용법 스프링 MVC 시작하기 @Controller public class SpringMemberFormControllerV1 { @RequestMapping("/springmvc/v1/members/new-form") public ModelAndView process() { return new ModelAndView("new-form"); } } @Controller : - 스프링이 자동으로 스프링 빈으로 등록한다. (내부에 @Component 애노테이션이 있어서 컴포넌트 스캔의 대상이 됨) - 스프링 MVC에서 애노테이션 기반 컨트롤러로 인식한다. @RequestMapping : 요청 정보를 매핑한다. 해당 URL이 호출되면 이 메서드가 호출된다. 애노테이션을 기반으로 동작하기 때문에, 메서드의 이름은 임의.. 2022. 1. 18.
[Spring MVC] 스프링 MVC 구조, 핸들러 매핑, 핸들러 어댑터, 뷰 리졸버 Dispatcher Servlet이 스프링 MVC 구조의 핵심이 된다. (**직접 만든 servlet MVC구조 코드로 복습하면 이해가 잘 됨) 1. 핸들러 조회 : 핸들러 매핑을 통해 요청 URL에 매핑된 핸들러(컨트롤러)를 조회한다. 2. 핸들러 어댑터 조회 : 핸들러를 실행할 수 있는 핸들러 어댑터를 조회 * 어댑터가 필요한 이유? 확장성있는 설계를 위해 => 각기 다른 핸들러(컨트롤러)가 유연하게 동작되게 하려면 어댑터가 끼워져야 함 3. 핸들러 어댑터 실행 4. 핸들러 실행 : 핸들러 어탭터가 핸들러를 실행 5. ModelAndView 반환 : 핸들러 어댑터는 핸들러가 반환하는 정보를 MAV로 변환하여 반환 6. viewResolver 호출 : 뷰 리졸버를 찾고 실행 7. view 반환 : 뷰 .. 2022. 1. 18.
[Servlet & JSP] JSP 한계점과 MVC 패턴 Servlet과 Servlet의 단점을 보완한 JSP를 배우고, JSP 단점마저 보완한 MVC 패턴을 배우고, 이 MVC 패턴의 장점을 극한으로 활용한 스프링MVC을 배우는 여정에 있다. 현재 글은 JSP에 대한 글이다. Servlet의 한계점 Servlet의 한계점: 자바 코드로 HTML을 제공해야 함 예시) 회원 등록 폼 @WebServlet(name = "memberFormServlet", urlPatterns = "/servlet/members/new-form") public class MemberFormServlet extends HttpServlet { private MemberRepository memberRepository = MemberRepository.getInstance(); @Ov.. 2022. 1. 12.
[Servlet & JSP] HttpServletResponse 사용법 HttpServletResponse 역할 - HTTP 응답 메시지를 쉽게 생성할 수 있게 도아준다.(HTTP 응답코드, 헤더, 바디 등을 생성) - 편의 기능 제공(Content-Type, 쿠키, Redirect) - START LINE, 헤더 생성 더보기 @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //[status-line] response.setStatus(HttpServletResponse.SC_OK); //[response-headers] response.setHeader("Content-Type", "text.. 2022. 1. 10.
반응형