웹개발/spring

[Spring] JSP View 연동

동동구링 2022. 8. 11. 16:02

webapp > WEB-INF 안에 jsp 파일을 저장하면 WEB-INF 폴더 내부 파일들은 외부에서 바로 접근이 불가하다

따라서 Controller 메서드에서 해당 jsp 를 잡아주게 해서 이를 기반으로 jsp 내용을 response body 에 담아 전송하게 만든다

웹페이지에서 바로 jsp 를 여는 것이 아니라 Controller 를 통해서 한단계 더 거쳐 전송을 함으로서 보안이 더 뛰어나다는 장점을 가진다

@Controller
public class HelloController {
	
    @RequestMapping("/lesson01/ex02/1")
    public String hello() {
    	return "lesson01/ex02";
    }
}

@RequestMapping 으로 url mapping 한 상태에서 return 값이 주소값 형태인 String 일 경우에는 해당 경로에 있는 jsp 를 찾아 전송한다

  • 만약 @RequestMapping 과 함께 @ResponseBody annotation 이 있는 경우에는 return 값을 그대로 response body 에 담아 전송하게 되므로 주소값이 될 수 없다

이를 위해 다음 두가지로 jsp 연동을 해야 한다

1. build.gradle 에 jsp 연동 라이브러리를 추가

dependencies {
	
    ...
    
	// jsp 연동 라이브러리
    implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
    implementation 'javax.servlet:jstl:1.2'
}

2. application.properties 에 Spring mvc view 설정 추가

src/main/resources 아래 application.properties 가 존재한다

// jsp view 연동
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

/WEB-INF/jsp/ 경로로 시작하고, .jsp 로 끝나는 jsp 파일을 찾아 전송한다

'웹개발 > spring' 카테고리의 다른 글

[Spring] MyBatis 연동  (0) 2022.08.04
[Spring] 객체 지향 설계와 Spring  (0) 2022.08.04
[Spring] Annotation 종류  (0) 2022.08.03