JSP 파일 생성하기
생성할 프로젝트에 src에 main이라는 폴더가 있는데 그 밑에 찾아보니까
src -> main -> webapp -> WEB-INF -> views로 경로를 만들어주자
그리고 views에 test.jsp를 만들어주자
이제 test.jsp가 어디에 있는지 경로를 지정해줘야 하는데
src/main/resources 폴더 밑에 properties 파일이 있는데
그 쪽에
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
이 2개를 넣어주자
이러면 controller를 추가해서 test.jsp 파일을 호출하면 실제 웹페이지처럼 개발할 수 있다.
그러면 이제 controller 파일을 만들어보자
src/main/java package가 있는데
원래 만들어져 있는 com.springBootWeb.demo가 있을것이다.
비슷한 이름으로 com. springBootWeb.demo.main(뒤에 main만 넣어보자)
그리고 .main을 ctrl + n을 하고 class를 검색 후 만들어준다.
MainController 라는 이름을 만들고 finish를 하면
자연스럽게 MainController.java로 만들어진다.
만들어진 class위에 @Controller를 넣어주자.
그러면 빨간색이 뜨는데
ctrl + space bar를 누르면
'org.springframework.stereotype'
이게 뜨는데 엔터를 누르자
그러면 이렇게 import 되어있을 거다.
그리고 만든 MainController에
@GetMapping(value = "/main")
public String test() {
return "test";
}
위처럼 적어보자.
물론 이것도 import를 해야한다.
그러고 Spring boot를 실행하고(나는 보통 디버깅을 한다.)
켜졌으면 저번에 url에서 뒤에 /main을 붙여보자
localhost:8080/main
참고로 test/test 되어있으면 위에서 만든 src/main/webapp/WEB-INF/test/test.jsp 이렇게 되니
return에는 test만 기입하자(jsp 명이 test.jsp이기 때문이다.)
그런데..
whiteLabel Error Page 404가 뜬다..
"Path with "WEB-INF" or "META-INF": [WEB-INF/views/test.jsp]"
console을 보면 이렇게 뜨게 되는데
에러 해결 방법을 찾다 보니
문제 : .jsp 파일을 찾을 수 없다는 것이였고
원인 : 내장된 tomcat에 jsp를 처리하는 서블릿이 없다는것이었다.
해결방법 : build.gradle이나 pom.xml 등에 jsp를 처리하는 서블릿을 추가하고 refresh를 해주는 것이었다.
내가 에러 해결을 위해 참고한 방법은 아래에 기재에 해놨다.
참고 : https://copycoding.tistory.com/279
[Spring Boot] Path with "WEB-INF" or "META-INF"
Spring Boot에서 jsp로 화면을 만들고 Controller에서 View로 리턴을 하였는데 jsp 파일을 찾지 못하는 경우 ResourceHttpRequestHandler :Path with "WEB-INF" or "META-INF" 이런 식으로 발생하는 오류입니다. 브라우저에
copycoding.tistory.com
나는 maven이니 pom.xml에 해야한다.
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
이걸 넣어주자.
종속성을 넣고 refresh를 해줘야 한다.
근데 나는 refresh를 해줘도 계속 똑같이 에러가 떠서.. 아예 서버를 껐다가 켰다.
(참고로 refresh하는 방법은 pom.xml을 클릭 후 우클릭하고 refresh하거나 F5 누르면 된다.)
저걸 누르면 디버깅인데 재시작 하는거랑 똑같다고 보면 된다.
그러고 'localhost:8080/main' 을 쳐보면
에러 해결 완료로 변경하고
웹페이지에서 refresh하면
이렇게 뜬다. 에러 해결 완료!
'코테 및 다른 코딩 공부' 카테고리의 다른 글
2025-03-25 백준 2525번 - 오븐 시계 (0) | 2025.03.25 |
---|---|
2025-03-24 백준 2884번 - 알람시계 (0) | 2025.03.24 |
[Spring Boot] 스프링 부트 웹페이지를 만들어보자 - 1 (2) | 2025.03.21 |
2025-03-21 백준 14681번 - 4분면 고르기 (0) | 2025.03.21 |
2025-03-20 백준 2753 - 윤년 (0) | 2025.03.20 |