본문 바로가기

SpringBoot

SpringBoot(2) - 새 프로젝트 생성(복습), 실습, 추가 정리

728x90
반응형

1) SpringBoot

   1-1) 새 프로젝트 생성(복습)

   1-2) 프로젝트 생성 실습

   1-3) 추가 정리사항

 

 

 

 

 

1) SpringBoot

1-1) 새 프로젝트 생성(복습)

(1) setting.gradle 확인

 

 

(2) build.gradle : spring 버전 및 dependencies(https://mvnrepository.com/ - 필요 시 여기서 가져오면 됨) 부분 체크

 

 

(3) application.properties 세팅

 

 

(4) [src/main/resources] - [templates] 안에 home.html 파일 생성 후 아래와 같이 작성

 

 

(5) [src/main/resources] - [templates] 안에 sub.html 파일 생성 후 아래와 같이 작성

 

 

(6) [src/main/resources] - [templates] 안에 memberInfo.html, memberInfo.css 파일 생성 후 아래와 같이 작성

 

 

 

(7) [src/main/java] - [net.datasa.test2] 안에 HomeController.java 파일 생성 후 아래와 같이 작성

 

 

(8) [src/main/java] - [net.datasa.test2] 안에 MemberController.java 파일 생성 후 아래와 같이 작성

 

 

(9) 결과 페이지 화면

 

 

 

1-2) 프로젝트 생성 실습

 

(1) [src/main/java] - [net.datasa.practice] 안에 MainController.java 파일 생성 후 아래와 같이 작성

 

 

(2) [src/main/resources] - [templates] 안에 main.html 및 여러 html 파일 생성 후 아래와 같이 작성

(양이 많은 관계로 일부 HTML 파일만 첨부함)

 

 

 

(3) [src/main/resources] - [static] 안에 css, js, images 폴더 생성 후 아래와 같이 작성

(양이 많은 관계로 일부 파일만 첨부함)

 

 

 

 

(4) 결과 페이지 화면(일부 결과 화면만 첨부함)

 

 

 

1-3) 추가 정리사항

파일 위치

src/main/resources/templates/HTML 파일들

src/main/resources/static/css, js, 이미지 파일들

 

 

test2 예제의 URL

http://10.10.10.41:8888 --> wifi 연결을 통해 wifi를 공유 중인 다른 사람의 페이지를 다음과 같이 조회할 수 있음!

http://localhost:8888/

http://localhost:8888/sub

http://localhost:8888/member/info

패키지 : net.datasa.test2

 

 

클래스(Class) 종류

Controller : 요청, 응답 흐름 제어

Service : 로직 처리

Repository : DB 연동

VO, DTO, Entity : 값 저장

 

 

html은 예를 들어 “server.servlet.context-path=/shop”이라고 가정했을 경우에는

기본 주소(홈페이지 혹은 main page의 경우)가 “https://abc.com/shop”이 되기 때문에

이후 Controller 코드에서 “@GetMapping”의 매개변수 값(경로)을 “/sub”라고 지정한 경우에는 “https://abc.com/shop/sub”이 아닌 “https://abc.com/sub”로 경로가 결정되기 때문에

페이지 접속이나 이동에 문제가 발생한다!

>> 이유 : Java는 위와 같은 상황에서 “https://abc.com/shop/sub”로 경로를 잘 인식하지만

HTML의 경우에는 위와 같은 상황에서 “https://abc.com/sub”로 경로를 인지해버리기 때문에 문제가 발생한다.

(즉, HTML 관련 코드에서는 “경로” 앞에 “/”를 붙이지 않고 “sub” 등으로 주소를 지정해야 한다.

물론 Java에서는 경로를 잘 인식하기 때문에 위와 같은 경로 이슈를 발생시키지 않는다.)