728x90
1편 바로가기 : 자바 스프링부트 2.7.7->3.3.9 업그레이드 (1)
2편 바로가기 : 자바 스프링부트 2.7.7->3.3.9 업그레이드 (2)
2편에서 스프링시큐리티까지 수정 완료!
근데 프로젝트 실행하면 아직 안됨...
버전 넘어오면서 javax라이브러리들이 jakarta를 사용해야된다고해서 수정
인텔리제이 기준 ctrl +shirt + r 눌러서 전체수정
자바 파일 열어보면서 javax 빨간색으로 되어있는 부분들 jakarta로 전체 수정!
(임포트 된거만 수정해야됩니다!!)
예외로
import javax.sql.DataSource;
얘는 수정 안해도됨.
그리고 application.yml에 들어가
#spring
spring:
profiles:
active: local #아래에 설명되어있습니다
include: MAIL-INFO
servlet:
multipart:
enabled: true
file-size-threshold: 2KB
maxFileSize: 10MB
maxRequestSize: 20MB
devtools:
livereload:
enabled: true
freemarker:
cache: false
thymeleaf:
cache: false
에서
#spring
spring:
profiles:
active: local #아래에 설명되어있습니다
include: MAIL-INFO
servlet:
multipart:
enabled: true
file-size-threshold: 2KB
maxFileSize: 10MB
maxRequestSize: 20MB
devtools:
livereload:
enabled: true
freemarker:
cache: false
thymeleaf:
cache: false
allow-request-attributes: true #3.3.9버전 쓰면서 추가
로 수정! allow-request-attributes: true 를 추가해준다
또 스프링부트3으로 넘어오면서 httpServletRequest가 없어졌다고 함...
httpServletRequest.requestURI써서 url로 체크하는 로직이 헤더에 있었는데
이걸 공통으로 추가
최상위 디렉토리에서 config 폴더 추가해서 AdminHttpServletRequest함수 추가
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ModelAttribute;
/**
* 스프링부트 3.0으로 넘어오면서 httpServletRequest를 직접 사용 할 수 없어서 추가
* heaer에서 #httpServletRequest.requestURI로 사용하던 부분도 같이 수정
*/
@ControllerAdvice
public class AdminHttpServletRequest {
@ModelAttribute
public void addRequestUri(Model model, HttpServletRequest request) {
model.addAttribute("requestURI", request.getRequestURI());
}
}
url받아와서 변수 추가
기존헤더
<li class="dep1 home"
th:classappend="${#httpServletRequest.requestURI.contains('dashboard')} ? 'menu_on'">
<div class="main_menu_btn menu_home"><a href="/admin/dashboard" class="main_menu_txt">홈</a></div>
</li>
변경된 헤더
<li class="dep1 home"
th:classappend="${requestURI.contains('dashboard')} ? 'menu_on'">
<div class="main_menu_btn menu_home"><a href="/admin/dashboard" class="main_menu_txt">홈</a></div>
</li>
모든 컨트롤러에 url에서 변수 불러와서 넣고싶으면
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ModelAttribute;
/**
* 스프링부트 3.0으로 넘어오면서 httpServletRequest를 직접 사용 할 수 없어서 추가
* heaer에서 #httpServletRequest.requestURI로 사용하던 부분도 같이 수정
*/
@ControllerAdvice
public class AdminHttpServletRequest {
@ModelAttribute
public void addRequestUri(Model model, HttpServletRequest request) {
model.addAttribute("requestURI", request.getRequestURI());
model.addAttribute("var1", request.getParameter("var1"));
model.addAttribute("var2", request.getParameter("var2"));
}
}
이렇게 넣어주면 끝! 여기까지 하면 이제 실행은 가능하다!
또 안되는거 있으면 올리겟습니다!
728x90
'JAVA' 카테고리의 다른 글
자바 스프링부트 2.7.7->3.3.9 업그레이드 (2) (0) | 2025.03.05 |
---|---|
자바 스프링부트 2.7.7->3.3.9 업그레이드 (1) (0) | 2025.02.27 |
자바 정규식 (0) | 2025.02.06 |
OpenAI Assistants API 연동하기 (1) | 2025.01.21 |
자바 URL 가져오기 (0) | 2024.08.19 |