Security를 함에 앞서 기본적으로 controller에서 tempaltes의 웹 브라우저를 return해주는 설정을 알아볼 예정이다.
먼저 application.yml 설정이다. 초기에 application.properties로 돼있는 파일을 application.yml로 바꿔주면된다.
이후 아래와 같이 port를 지정해준다. 필자는 8000 port를 쓰지만, 보통 8080을 많이쓴다고 한다.
server:
port: 8000
servlet:
context-path: /
encoding:
charset: UTF-8
enabled: true
force: true
mustahce는 기본적으로 dependency가 있어야 하기 때문에 아래 dependency를 pom.xml에 추가해준다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mustache</artifactId>
</dependency>
Controller 패키지 내의 indexController Class
@Controller
public class IndexController {
@GetMapping({"", "/"})
public String index() {
return "index";
}
}
일단 @Controller를 달아 해당 Class를 Controller라고 지정해준다.
Mapping 에서 {}를 이용하면 다중 mapping을 할 수 있다.
index를 호출하는데 index.html을 호출하는데 왜 index만 return 하느냐
머스테치 기본폴더는 src/main/resorurces/ 인데 여기서 뷰 리졸버 설정은 templates(prefix)이고, .mustache(suffix)이다.
이를 application.yml에서도 설정을 할 수 있지만, WebMvcConfg Class를 따로 만들어 해결해줄 예정이다.
Config 패키지 내의 WebMvcConfig Class
@Configuration
public class WebMvcConfig implements WebMvcConfigurer{
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
MustacheViewResolver resolver = new MustacheViewResolver();
resolver.setCharset("UTF-8"); // 내가 만드는 view에 인코딩은 UTF-8
resolver.setContentType("text/html; charset=UTF-8"); // 내가 던지는 데이터는 html 파일이고 이의 charset은 UTF-8이다.
resolver.setPrefix("classpath:/templates/"); //preFix는 /templates/ 이고 앞의 classpath는 해당 패키지이다.
resolver.setSuffix(".html"); //suffix는 .html이다
registry.viewResolver(resolver);
}
}
그리고 templates 폴더 내에 index.html이라는 파일을 생성해주고 테스트해보면된다.
그리고 웹 페이지를 켜서 localhost:8000 이라고 치면
이렇게 나온다 이는 Spring Security에서 기존에 설정되어있는 로그인 페이지이며 비밀번호는 콘솔창에 뜬다. 저장할 때 마다 비밀번호가 바뀌기 때문에 주의하도록 하자
위와같이하면 기본yml설정과, html을 잘 불러오는지 테스팅이 완료가 된다.
'Spring Boot' 카테고리의 다른 글
Spring Boot Security 회원가입 Form (0) | 2023.06.02 |
---|---|
Spring Security SecurityFilterChain 설정 (2) | 2023.06.01 |
REST API 와 API 의 뜻 (0) | 2023.02.21 |
웹의 동작, HTTP 프로토콜이란 (0) | 2023.02.16 |
@RequestMapping과 객체 전달 (0) | 2023.02.14 |