728x90

Programming 281

Spring - 타임리프 - 기본 기능

- 타임리프 특징 1. 서버 사이드 HTML 렌더링 (SSR) 2. 네츄럴 템플릿 3. 스프링 통합 지원 - 서버 사이드 HTML 렌더링 (SSR) 1. 타임리프는 백엔드 서버에서 HTML을 동적으로 렌더링 하는 용도로 사용된다. - 네츄럴 템플릿 1. 순수 HTML을 그대로 유지하면서 뷰 템플릿도 사용할 수 있는 타임리프의 특징을 네츄럴 템플릿 (natural templates)이라 한다. - 스프링 통합 지원 1. 타임리프는 스프링과 자연스럽게 통합되고, 스프링의 다양한 기능을 편리하게 사용할 수 있게 지원한다. - 기본 표현식 • 간단한 표현: ◦ 변수 표현식: ${...} ◦ 선택 변수 표현식: *{...} ◦ 메시지 표현식: #{...} ◦ 링크 URL 표현식: @{...} ◦ 조각 표현식: ~..

Programming/Spring 2023.06.20

Spring - 스프링 MVC - 기본 기능

- 로깅 - 로그 라이브러리는 Logback, Log4J, Log4J2 등등 수 많은 라이브러리가 있는데, 그것을 통합해서 인터페이스로 제공하는 것이 바로 SLF4J 라이브러리다. - 쉽게 이야기해서 SLF4J는 인터페이스이고, 그 구현체로 Logback 같은 로그 라이브러리를 선택하면 된다. 실무에서는 스프링 부트가 기본으로 제공하는 Logback을 대부분 사용한다. //@Slf4j @RestController public class LogTestController { private final Logger log = LoggerFactory.getLogger(getClass()); @RequestMapping("/log-test") public String logTest() { String name =..

Programming/Spring 2023.06.18

Spring - 스프링 MVC - 구조 이해

- FrontController -> DispatcherServlet - handlerMappingMap -> HandlerMapping - MyHandlerAdapter -> HandlerAdapter - ModelView -> ModelAndView - viewResolver -> ViewResolver - MyView -> View - DispacherServlet - 스프링 부트는 DispacherServlet 을 서블릿으로 자동으로 등록하면서 모든 경로( urlPatterns="/" )에 대해서 매핑한다. - 동작 순서 1. 핸들러 조회: 핸들러 매핑을 통해 요청 URL에 매핑된 핸들러(컨트롤러)를 조회한다. 2. 핸들러 어댑터 조회: 핸들러를 실행할 수 있는 핸들러 어댑터를 조회한다. 3. 핸..

Programming/Spring 2023.06.18

Spring - Servlet + JSP를 이용한 MVC 동작 과정 정리 V3

- 위와 같은 형태로 MVC 형태의 코드를 작성해 볼 것이다. - 현재 서버를 기동하고 아무런 정보가 담겨있지 않은 상태이다. - ~~~/new-form의 URI를 통해 접근했을 때 - 아래의 코드는 여러 Controller를 관리하는 앞단에 존재하는 FrontController에 해당한다. @WebServlet(name = "frontControllerServletV3", urlPatterns = "/front-controller/v3/*") // URI 요청이 v3 하위 경로로 오면 아래 메서드가 무조건 실행된다. public class FrontControllerServletV3 extends HttpServlet { private Map controllerMap = new HashMap(); //..

HttpServletRequest

HttpServletRequest 객체에는 다음과 같은 정보가 포함될 수 있습니다: 요청 URI(Uniform Resource Identifier): 클라이언트가 요청한 리소스의 경로와 파일 이름을 나타냅니다. 요청 URL(Uniform Resource Locator): 클라이언트가 요청한 전체 URL을 나타냅니다. 요청 메서드: 클라이언트가 요청한 HTTP 메서드(GET, POST, PUT, DELETE 등)를 나타냅니다. 요청 헤더(Header): 클라이언트가 전송한 HTTP 헤더 정보를 포함합니다. 예를 들어, 사용자 에이전트, 쿠키, 인증 등의 정보가 있습니다. 요청 파라미터(Parameters): HTTP 요청에 포함된 쿼리 문자열 또는 요청 바디에서 전달된 파라미터 정보를 포함합니다. 예를 들..

Servlet - 서블릿, JSP, MVC 패턴

- 회원 관리 웹 애플리케이션 요구사항 1. 회원 정보 1. 이름 : username 2. 나이 : age 2. 기능 요구사항 1. 회원 저장 2. 회원 목록 조회 - Servlet @WebServlet(name = "memberFormServlet", urlPatterns = "/servlet/members/new-form") public class MemberFormServlet extends HttpServlet { private MemberRepository memberRepository = MemberRepository.getInstance(); @Override protected void service(HttpServletRequest req, HttpServletResponse resp) t..

Spring - Servlet

- 스프링 부트 서블릿 환경 구성 - @ServletComponentScan - 스프링 부트는 서블릿을 직접 등록해서 사용할 수 있도록 @ServletComponentScan 을 지원한다. 다음과 같이 추가하자. @ServletComponentScan // 서블릿 자동 등록 @SpringBootApplication public class ServletApplication { public static void main(String[] args) { SpringApplication.run(ServletApplication.class, args); } } package hello.servlet.basic; import javax.servlet.ServletException; import javax.servle..

728x90