일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 최대공약수
- 래퍼타입
- toLowerCase()
- ineer join
- while과 two-pointer
- islowercase()
- Git사용법
- 자바 최소공배수
- 최대공약수와 최소공배수
- StringBuilder
- 동일성과 동등성
- 자바 유클리드
- 스프링뼈대
- git 컨벤션
- replaceAll()
- addDoc
- 최소공배수
- 자바 최대공약수
- 유클리드호제법
- stringbuilder의 reverse()
- sql 데이터형 변환
- 스프링
- 자바 스트링
- 모던자바
- 프로그래머스 레벨1
- 스프링환경설정
- string과 stringbuilder
- string
- 베주계수
- isuppercase()
- Today
- Total
주노 님의 블로그
[Spring] 2. thymeleaf 템플릿을 사용해 동적으로 웹 생성하고, 빌드하기 java.lang.UnsupportedClassVersionError 해결법 본문
[Spring] 2. thymeleaf 템플릿을 사용해 동적으로 웹 생성하고, 빌드하기 java.lang.UnsupportedClassVersionError 해결법
juno0432 2024. 7. 27. 18:12시작하기에 앞서
아래 내용은 김영한님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB접근기술에서 발췌한 내용입니다.
강의자료 일부를 발췌하는건 괜찮다고 하셨다.
무료강의로 지식을 공유해주신 김영한님께 다시한번 감사의 인사를 올리겠습니다
(_ _) (유료도 샀어요!)
자바의 src/resources/main/static에 index.html을 추가해주면 된다.
스프링 부트는 시작시 index.html을 찾는다고 한다..
static 디렉토리는 필수적이지는 않다고 한다.
지금 위 페이지는 정적페이지 이다
말그대로 그냥 내가 짠 코드 그대로 보여주는것일뿐
템플릿 엔진을 사용하면 동적엔진을 구할 수 있다
thymeleaf 템플릿 엔진을 사용하여 웹 페이지를 구성해보자
hello_spring에 controller 패키지를 만든 후
Controller 클래스를 만들어주자
package springProject.hello_spring.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class helloController {
//웹 에서 hello경로로 get요청이 들어오면 아래 메서드를 반환해준다.
@GetMapping("hello")
public String hello(Model model) {
model.addAttribute("data", "hello!!");
return "hello";
}
}
resources > templates에 hello.html파일을 생성하고 아래와 같이 작성하자.
http://localhost:8080/hello
로 접속해 본다
저기서 ${data}는 > helloController의 data이다
어떻게 위와 같은 방식으로 작동한걸까?
사용자가 localhost:8080/hello주소로 접속을 한다
위 방식을 get방식이라고 한다
http get 요청이 내장된 톰캣서버로 전송이 된다
스프링 컨테이너는 내장 톰캣 서버에서 받은 http 요청을 분석한다
Cotroller파일의
@GetMapping("hello") 어노테이션이 붙어 있는 메서드를 찾아 해당 경로의 요청을 처리한다
helloController의 hello 메서드가 실행되는데
이 메서드는 Model 객체에 data라는 키와 hello!!라는 값을 추가한다
메서드의 리턴값을 (return : hello) 스프링은 resources/templates 디렉터리 안에서 hello.html 파일을 찾아서 렌더링을 수행한다.
뷰 템플릿(thymeleaf)는 ${data}와 같은 표현식을 사용하여, Model에 저장된 키값과 매칭후 밸류값을 출력한다
빌드하고 실행하기
터미널 클릭
플러스옆 아래키에서 git bash(git을 설치해야합니다)
만약 본인의 환경변수가 제대로 설정되어있는데
구구절절한 오류가 뜬다면?
실행
set Java_HOME=c:/Program Files/Java/jdk-20
본인 오류에서 나온 자바버전 입력 (jdk-20)
또는 본인이 이클립스, jdk, 인텔리제이등 학교에서 이것저것 깔아서 모르겠다!
하시는분은
검색 > 환경변수에서
java_home
CLASSPATH
PATH의 자바관련경로
셋 중에 하나가 CMD에서 java -version에 있는지 확인하세요
저는 11버전이 PATH에 설정되어있더라구요..
./gradlew build입력
cd build
cd lib
java -jar build/libs/hello-spring-0.0.1-SNAPSHOT.jar
오늘 수업은 MVC패턴의 기본인
Model과(model.addAttribute())
VIEW와(hello.html)
Controller에 (helloController.java) 대해 간략히 배웠다.
참고자료
https://docs.spring.io/spring-boot/reference/web/reactive.html#web.reactive.webflux.welcome-page
https://abcdefgh123123.tistory.com/325
'공부 > Spring' 카테고리의 다른 글
[Spring] 4. 회원관리 예제 (비즈니스 요구사항 정리) (0) | 2024.07.28 |
---|---|
[Spring] 3. 서버가 클라이언트에게 페이지를 전달하는 방식 (API) (0) | 2024.07.27 |
[Spring] 3. 서버가 클라이언트에게 페이지를 전달하는 방식 (MVC와 템플릿 엔진) (0) | 2024.07.27 |
[Spring] 3. 서버가 클라이언트에게 페이지를 전달하는 방식 (정적 콘텐츠) (0) | 2024.07.27 |
[Spring] 1. 스프링 설치하기 및 환경설정 (0) | 2024.07.27 |