Spring (38) 썸네일형 리스트형 [Spring] 타임리프 - 링크 URL @GetMapping("link") public String link(Model model) { model.addAttribute("param1", "data1"); model.addAttribute("param2","data2"); return "basic/link"; } URL 링크 basic url hello query param path variable path variable + query parameter 링크 url 표현식은 @{...} 형식으로 작성한다.첫번째 코드는 기본 URL이다. @{/hello}라고 하게 되면 URL상으로 /hello가 된다.두번째 코드는 쿼리 파라미터로 받는 경우이다.URL이니까 @로 시작을 하고 괄호 안에 있.. [Spring] 타임리프 - 텍스트 타임리프(Thymeleaf)는 백엔드 서버에서 HTML을 동적으로 렌더링할 때 사용된다.타임리프의 특징으로는기존 HTML 코드를 최대한 유지한다.웹 브라우저로 열 수도 있고, 서버를 통해 뷰 템플릿으로 열 수도 있다.이 대표적인 특징 두 가지를 Natural Templates라고 한다. 타임리프 사용 선언 1. 텍스트 출력 (text) @GetMapping("text-basic") public String textBasic(Model model) { model.addAttribute("data", "Hello Spring!"); return "/basic/text-basic"; }model에 data라는 이름으로 Hello Spring!이라는 value를 담고 실행을.. [Spring] @ResponseBody 애너테이션 //@ResponseBody @RequestMapping("/request-param-v3") public String requestParamV3( @RequestParam String username, @RequestParam int age) { log.info("username={}, age={}", username, age); return "ok"; } @ResponseBody를 설명하기 전에 코드와 결과를 먼저 보여드리겠습니다. TemplateInputException으로 템플릿이 존재하지 않거나 어떠한 템플릿 리졸버로도 접근 가능하지 않을 수 있다는 내용입니다.@ResponseBody는 @ResponseHttpMes.. [Spring] HTTP 요청 파라미터 - 쿼리 파라미터 클라이언트에서 서버로 요청 데이터를 전달할 때 쓰는 방법 1. GET - 쿼리 파라미터URL의 쿼리 파라미터를 이용하는 방식으로 메시지 바디없이 URL의 쿼리 파라미터에 데이터를 포함하여 전달한다.검색, 필터, 페이징 등에서 많이 사용한다.2. POST - HTML Formcontent-type : application/x-www.form.urlencoded메시지 바디에 쿼리 파라미터 형식으로 전달한다.회원가입, 상품 주문, HTML Form에 사용한다.3. HTTP message body에 데이터를 직접 담아서 요청HTTP API에서 주로 사용하며 JSON 방식을 주로 사용한다. 1. 요청 파라미터 - 쿼리 파라미터 @RequestMapping("/request-param-v1") public .. [Spring] 로깅 알아보기 우리가 일반적으로 출력문을 사용할 때 System.out.print를 사용했지만 실무에서는 이것을 사용하지 않고 로그로 출력을 한다. 그 이유는 시간, 쓰레드, 컨트롤러 등 다양한 정보를 알 수 있고 출력을 할 때 단순히 콘솔이 아니라 네트워크, 파일로 출력을 할 수도 있다. @RestControllerpublic class LogTestController { private final Logger log = LoggerFactory.getLogger(getClass()); // 내 클래스를 지정하기 @RequestMapping("/log-test") public String logTest() { String name = "spring"; System.out.pr.. [Spring] 서블릿 알아보기 (@WebServlet,getParameter, getParameterValues) 서블릿이란?서블릿이란 쉽게 말해서 클라이언트와 서버가 통신할 때 서버쪽에서 클라이언트의 요청(request)을 받고 응답(response)을 줘야할 때 클라이언트의 요청대로 응답을 만들어주는 프로그래밍 기술이다.우선 스프링에서 서블릿을 사용하려면 @WebServlet 애너테이션을 사용해야 한다.@WebServlet 애너테이션이란 name, urlPatterns로 구성되어 있으며 name은 서블릿의 이름, urlPatterns는 URL 매핑 기능을 한다. (@GetMapping과 유사하다.) @WebServlet(name = "requestParamServlet", urlPatterns = "/request-param")public class RequestParamServlet extends HttpSer.. [Spring] 웹 서버, 웹 애플리케이션 서버 현재 HTTP 프로토콜을 이용하지 않는 곳이 없을 정도로 우리는 HTTP 시대에 살고 있다.우리가 웹 브라우저에서 URL을 치고 인터넷이 서버에 접근하는 것, 서버가 클라이언트에게 HTML을 주는 것도 모두 HTTP 프로토콜을 기반으로 움직인다. 1. 웹 서버HTTP를 기반으로 동작하는 서버로 정적 리소스와 기타 부가기능을 제공한다.만약 우리가 html을 요청한다면 웹 서버는 음식점의 점원처럼 클라이언트가 요청한 파일 (HTML, CSS, JS, 이미지, 영상)들을 가져다준다. 물론 이 때도 HTTP 프로토콜을 이용한다.즉, HTTP 프로토콜을 통해서 서로 데이터를 주고받을 수 있는 서버를 웹 서버라고 한다. 2. 웹 애플리케이션 서버 (WAS)HTTP 기반으로 동작하며 웹 서버 기능도 수행을 할 수 있.. [Spring] 빈 스코프 1. 빈 스코프빈 스코프에 대해서 알아보겠습니다.우선 스프링 빈은 많이 들어봤겠지만 스코프는 생소하실 수 있습니다.스코프는 범위라는 뜻으로 빈 스코프는 빈이 존재할 수 있는 범위를 뜻합니다.이전 글에 적었던 @PostConstruct, @PreDestroy 글 2024.09.07 - [Spring/Spring] - [Spring] @PostConstruct, @PreDestroy 에서 설명했던 스프링 빈의 생명주기를 다시 보자면 이렇습니다.스프링 빈의 생명주기스프링 컨테이너 생성스프링 빈 생성의존관계 주입사용스프링 종료스프링의 스코프 종류입니다.싱글톤 : 기본 스코프로 스프링 컨테이너와 똑같이 시작과 종료를 함께 하는 가장 넓은 범위의 스코프입니다. 프로토타입 : 프로토타입 빈을 생성하면 스프링 컨테이너.. 이전 1 2 3 4 5 다음