본문 바로가기

Spring15

[스프링 웹 개발 기초 - (3)] API - API 방식 : 일단 view 에 관여하지 않고 서버간 데이터만 전달하는 방식으로 이해하자. hello-string method @ResponseBody : 해당 요청에 대한 HelloController가 helloString 메소드를 실행하여 처리할 때, 입력받은 query string 의 name 의 value 를 HTTP의 body 부에 직접 "hello + (name key의 value)" 형태로 넘겨준다. 즉, ResponseBody 어노테이션 때문에 view가 없이 데이터만 넘겨줌. html 태그 없이 body 부의 hello spring 만 보이는 상태. helloApi Method Hello static class 를 생성, helloApi 메소드에서 Hello 객체 인스턴스를 생성하여.. 2022. 6. 29.
[스프링 웹 개발 기초 - (2)] MVC와 템플릿 엔진 hello-mvc -> helloMvc 추가 @RequestParam 으로 query string 의 name 속성을 추가하여 인자로 name 을 받아 model의 name 속성의 value 로 매핑하고, 뷰 리졸버가 template/hello-template.html 에 전달 - Thymeleaf 의 특징 : 서버가 켜져 있지 않아도 Absolute Path 로 접근하면 body tag 의 내용(hello! empty), 즉 껍데기를 볼 수 있음. 즉, Thymeleaf 엔진으로 실행하지 않은 상태이다. 서버 및 Thymeleaf 엔진으로 실행시, th:text의 내용으로 치환이 된다. - 주의 ! localhost:8080/hello-mvc 로 접근하면 Required String parameter .. 2022. 6. 29.
[스프링 웹 개발 기초 - (1)] 정적 컨텐츠 - 정적 이미지 : 파일 그대로 내려줌 - MVC와 템플릿 엔진 : 서버에서 템플릿 등으로 바꿔서 내려줌(JSP) - API : 클라이언트와 어느정도 분리되어 JSON 등의 데이터 포맷 구조로 전달, 매핑하여 내려줌. 또는 서버끼리의 통신할 때(html 내릴 필요없이 데이터만 왔다갔다) 기존에 해보았듯이 static 폴더에 hello-static.html 생성하면, 따로 Controller 생성해서 getMapping 할 필요 없이, localhost:8080/hello-static.html 로 바로 접근할 수 있다. - 동작원리 localhost:8080/hello-static.html 요청 내장 톰캣 서버에서 스프링 컨테이너에게 hello-static.html 을 처리하는 Controller 가 있는.. 2022. 6. 29.
[프로젝트 환경설정 - (4)] 빌드하고 실행하기 **빌드하고 jar 파일 생성, jar 파일로 실행하기 project 경로에서 terminal 실행 ./gradlew build 커맨드 입력(Window는 ./gradlew.bat) 필요한 라이브러리 및 jar를 포함한 build 폴더가 생성됨. ./build/libs 의 생성된 jar 파일 확인 java -jar (jar파일명) 커맨드 입력(18M 용량) spring 실행 확인(서버가 이미 켜져있으면 에러나므로 주의!) (지금은 jar 파일로 실행을 간단히 할 수 있지만, 과거에는 톰캣을 서버에 설치하고 특정 경로에 war 같은거 집어넣어서 실행해야했다고함) *참고 : build가 잘안될때 - clean build clean 명령어를 사용하면 프로젝트의 build 디렉토리를 지운다. clean buil.. 2022. 6. 29.
[프로젝트 환경설정 - (3)] View 환경설정 7.1.6 의 Welcome Page 설명을 보면, 서버가 실행되고 루트로 접속하면 먼저 resources/static 경로의 index.html 을 먼저 찾고, 없으면 resources/templates 경로의 index 탬플릿을 찾는다고 한다. https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features Core Features Spring Boot lets you externalize your configuration so that you can work with the same application code in different environments. You can use a variety of ext.. 2022. 6. 29.
[프로젝트 환경설정 - (2)] 라이브러리 살펴보기 기본적으로 특정 라이브러리를 설정하거나 다운로드하면, 그와 관련된(의존관계에 있는) 라이브러리를 gradle 에서 함께 다운로드한다라는 점을 기억하자. External Libraries 에서 의존관계에 있는 라이브러리들이 다운로드된 것을 확인할 수 있음(기본적으로 내장된 tomcat의 core와 websocket 등의 라이브러리들도). Node.js 의 node_modules라고 보면 될 것 같다. 기존에는 tomcat (WAS; 웹서버)에 따로 라이브러리들을 설치해서 추가적으로 관리를 해야했는데, 요즘에는 gradle 이나 maven으로 그럴 필요가 없음. * 표시는 중복제거를 위한 표현 spring-boot-starter 는 스프링 부트와 관련된 라이브러리이고 spring core 까지 땡긴다. sp.. 2022. 6. 29.