전체 글 954

4. 웹개발 기초

종류 웹개발은 크게 3가지 방식 정적 컨텐츠 : 파일 그대로 전달 MVC, 템플릿 엔진 (가장 많이 함) : 서버에서 html을 좀 변형해서 보내주는 형식 API : 특정 데이터 포맷으로 전달 정적 기본적으로 스프링에서 제공 G:\spring\hello-spring\src\main\resources\static 똑같이 localhost:8080/index.html 근데 이게 순서가 있는데, 먼저 2장인가에서 했던 컨트롤러에서 찾아보고, 없으면 static 찾아보는거임 index.html 이라도 Controller에서 먼저 찾고 그제야 없으면 이거 찾는거임.

3. 빌드

그냥 spring 프로젝트 경로 cmd 들어가서 mac : gradlew windows : gradlew.bat gradlew build gradlew clean gradlew clean build 빌드 후 실행시키는 방법 정상적으로 빌드가 되었다면, spring 폴더의 build/libs/hello-spring-0.0.1-SNAPSHOT.jar 라는 파일이 생긴다. java -jar hello-spring-0.0.1-SNAPSHOT.jar 하면 실행된다. 서버 배포 시 hello-spring-0.0.1-SNAPSHOT.jar 복사해서 서버에 넣어주고, java -jar hello-spring-0.0.1-SNAPSHOT.jar 해서 서버에서 실행하면 서버에서도 spring이 동작 하게된다.

2장 thymeleaf

@Controller public class HelloController { @GetMapping("hello") public String hello(Model model){ model.addAttribute("data", "hello!!"); return "hello"; } } @GetMapping("hello") 가 hello라는 명령이 들어올 경우, localhost:8080/hello 저 아래 함수를 실행. Model이란 것으로 다루고, return "hello"인데, hello.html을 찾는거임. 거기에 model까지 같이 넘겨주는거임. ( resources:templates/ +{ViewName 안녕하세요. 손님 th가 thymeleaf라는 뜻이고, data (키)에 넘긴 hello!! 안녕..

1장. 환경설정

java, 인텔리제이 설치 start.spring.io gradle, java, spring boot 버전 맞추기 spring web, thymeleaf 라이브러리 추가. 인텔리제이로 폴더 염. java sdk 버전 등등은 알아서.. setting에서 gradle 들어간다음, build and run using run tests using 인텔리제이로 바꿈 이러면 gradle을 통하지 않고 빠르게 빌드되고 실행 됨. 아마 나중에 직접 서비스 할땐 바꾸지 않을까.. 무슨 println? 이런거 안하고 log한다는데, 아마 아무래도 웹서버다 보니 그런 걸 log로 기록으로 남겨서 추적하는 용도로 쓰려는 것 일듯.

&

div { width: 600px; height: 200px; border: 1px solid #808080; h3 { font-size: 32px; color: #ffa500; &+p{ color: #333; font-size: 20px; } } } &란 자기 자신을 뜻함. h3 내에서 &를 썼으니 h3이 & div { width: 600px; height: 200px; border: 1px solid #808080; } div h3 { font-size: 32px; color: #ffa500; } div h3 + p { color: #333; font-size: 20px; } css로 빌드 된 파일임. &가 자기 자신보다 부모. 라는게 더 정확함. .container &{ h1{ color:$colo..