본문 바로가기

Java/스프링 입문 - 스프링 부트, 웹 MVC, DB 접근 기술19

[스프링 웹 개발 기초 - (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.
[프로젝트 환경설정 - (1)] 프로젝트 생성 첫 번째 섹션의 프로젝트 환경설정 부분이다. 4가지 파트로 나누어져 있다. https://start.spring.io/ 에서 다음과 같이 스프링 웹 프로젝트를 생성한다. 현 시점에서 2.7.1 버전, Java 11 을 선택하였다.(사전에 jdk 11 설치) Group 보통 회사의 도메인 명을 적는다고 한다. Artifact 빌드 될 때의 결과물로, 프로젝트명을 적음. Dependencies 추가하고자 하는 라이브러리 선택 main java, resources 파일로 나뉘어진다. html 등의 java가 아닌 모든 파일은 resources 파일에 있음. test 테스트용 파일들, 요즘 중요성이 부각되고 있음 gitignore git에 올라가서는 안되는 파일 관리. git에는 필요한 소스코드만 올라가야하고,.. 2022. 6. 29.