티스토리 뷰
controller
우린 txt,mustache,jsp를 리턴하기때문에 controller을 사용할것이다.
@Controller // 파일을 리턴하기위해 controller로
public class HttpRespController {
}
txt응답
@GetMapping("/txt")
public String txt() {
return "a.txt";// 프레임워크 사용(틀이 이미 정해져있음) - 일반 정적파일들은 resources/static 폴더 내부가 디폴트 경로이다.
}
정적인 txt는 src/main/resources/static에 들어가게된다. ( 정적파일을 다루는곳 static)
mustache응답
spring에서 jsp를 버리고 mustache를 사용하라고 권유하고있다 하지만 우리는 jsp를 주로 사용하기 때문에 이런게 있다고만 알고있자 우선 Maven Repository를 구글에 검색해서 해당 사이트로 들어간다.
1. 검색창에 mustache를 입력하고 spring Boot용 mustache를 받아온다.
2. 받은뒤 pom.xml에 dependencies의존성 추가
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-mustache -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mustache</artifactId>
</dependency>
3. 요청하기
src/main/resources/templates에 html파일을 b라고만들고 뒤에 확장자만 mustache로 변환해주면 사용가능하다.
@GetMapping("/mus")
public String mus() {
return"b"; // mustache 템플릿 엔진 라이블러리 등록 완료 - temlplates 폴더안에
// .mustache을 나두면 확장자 없이 파일명만 적으면 자동으로 찾아감
}
jsp응답
자 이제 제일 많이사용하고 중요한 jsp에 대하여 알아보자 spring에선 jsp를 지원하지 않아 우리가 준비해줘야 할것이 있다 그것에 대하여 알아보자
1. 의존성 받아오기
maven repository에서 jasper검색
주의
자신이 사용중인 tomcat와 버전이 같아야합니다
2. ViewResolver설정
사진에 보이는 application뒤에 확장자명이 yml이 아니라면 yml로 변경해주기
yml의 내용은 이러하다
spring.mvc.vi까지만 적고 자동완성 prefix로 해주면 밑의 코드에서 prefix: 까지 완성이 될것이고 뒤에 입력해주고suffix도 자동완성을 해준뒤 .jsp를 적어주자
자동완성을 해주셔야 오류가 안납니다.
yml을 설정하는 이유는 밑의 요청에서 default값과 prefix suffix를 보시면 이해가 될겁니다.
spring:
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
3.jsp파일 요청하기
위의 경로를 참고하여 폴더를 만든뒤 c라는 jsp파일을 만들고 요청하기
main우클릭후 폴더 선택한뒤 webapp/WEB-INF/views하고 생성시 3개의 폴더 동시생성됩니다.
그후 views에 new-other후 jsp검색한뒤 jsp파일생성 이름은 c로만들었습니다.
요청
@GetMapping("/jsp")
public String jsp() {
return"c"; // jsp엔진 사용 : src/main/webapp 폴더가 디폴트 경로!
// /WEB-INF/views/c.jsp(ViewResolver)
}
'Spring Boot' 카테고리의 다른 글
SpringBoot Security의 CSFR토큰해제하기 (1) | 2023.06.07 |
---|---|
Spring Boot Security Config 로그인확인후 페이지이동시키기 (0) | 2023.06.07 |
http header, context-type(application/x-www-form-urlencoded, text/plain, application/json) [@RequestBody 추가설명] (0) | 2023.06.07 |
쿼리스트링(Query String )과 주소변수매핑(Path variable) (0) | 2023.06.07 |
Spring Boot 의존성 종류(dependency) (0) | 2023.06.07 |