스프링 부트는 jsp파일을 못쓰게 한다....여러이유가 있어서 그렇겠지만 mvc 패턴으로 수업받던 내가
혼자 부트프로젝트를 하려니 여간 어려운게 아니다. 그중 jsp파일 관련해서 기록 남긴다....
일단 main > webapp 폴더생성> WEB-INF 폴더 생성> views 생성(이름은 맘대로)> index.jsp파일 만든다.
참고로 프로젝트생성을 할때 부트는 jar가 아니라 war로 생성해야 jsp파일 쓰는데 수월...안되는건 아니겠지만...검색에 또다시 몇시간 소요되니깐 참고하시길...
build.gradle에 환경설정해준다.
//jsp 쓸때 설정
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper:9.0.60'
implementation 'javax.servlet:jstl:1.2'
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' //jps사용시 필수
application.propertie
spring.mvc.view.prefix: /WEB-INF/views/
spring.mvc.view.suffix: .jsp
server.servlet.jsp.init-parameters.development=true
#jsp 가능하능하도록 패키지 설정 및 jsp수정시 서버 재시작없이 바로 적용될 수 있게 설정
프로젝트생성시 메인이 들어간 JeongApplication.java에는
@SpringBootApplication
public class JeongApplication {
public static void main(String[] args) {
SpringApplication.run(JeongApplication.class, args);
System.out.println("부트 출력");
}
}
사실 jsp파일 넣기전까지 여기까지는 부트 작동이 잘되었는데 jsp한다고 설정넣기 시작하면서 에러와의 싸움이다.
여기서 잘안되니깐 jar를 war로 바꾼다...
@SpringBootApplication
public class JeongApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(JeongApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(JeongApplication.class, args);
System.out.println("부트 출력");
}
}
build.gradle에 plugins에 id 'war'를 넣어준다....
그랬더만. 위에 보였던....jsp파일에 에러가 잡힌다. ㅠㅠ
The superclass "javax.servlet.http.HttpServlet", determined from the Dynamic Web Module facet version (2.4), was not found on the Java Build Path
에러 내용...
검색시 httpServlet경로 오류하며
프로젝트 우클릭>Properties > Project Facets > Dynamic Web Module > Runtime 웹서버 체크하란다.
runtimes에 있는대로 설정해봄........재빌드했는데 에러 고대로...짜증...
프로젝트에 우클릭 serverRuntime이 없을 수 있다고 해서 들어갔더니 정말......추가해줌...
그런데 안되는거다..빌드도 다시하고 종료후 다시 해도 안되더니....어이없는 발견...
되는 jsp파일 있었던것이다.
비교해보시라.
아시겠는게....순서가 다르다.....이런 젠장...ㅠㅠ 욕나온다....
런실행하니...
java.lang.UnsupportedClassVersionError: org/springframework/boot/web/servlet/support/SpringBootServletInitializer has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55
에러 난다.
이유는 자바버전이 SpringBootServletInitializer(war로 변경하기 위해서 했던것)이라 안맞는다고 해서 17로 재설치 했떠니 톰캣하고 안맞는것이다.......너무 높댄다...
어제 하루동안 한일이 결국은 소용업는 일이 되고 말았다...
그래서 결국은 도합 12시간 밥머고, 쉬고, 잠자는 시간 빼고 했던 결국 2일치 일을 삭제하고...
프로젝트 다시만든다....
버전 낮게..ㅋㅋㅋㅋ
'에러들' 카테고리의 다른 글
이클립스 스프링부트 혼자하기5-swagger (0) | 2023.03.06 |
---|---|
이클립스 스프링부트 혼자하기4-lombok에러난다.... (1) | 2023.03.04 |
이클립스 스프링부트 혼자하기3-Whitelabel Error Page 와의 싸움 (0) | 2023.03.03 |
이클립스 스프링부트 혼자하기 2- 재설치...mysql과의 씨름 (0) | 2023.03.03 |
javax.net.ssl.SSLProtocolException (0) | 2023.02.14 |