@RequestMappring을 이용해 한개의 매서드로 여러 URL을 처리할 수 있는 방법을 다중 매핑이라고 하는데, 만약 다중 매핑을 하지않으면 이런식으로 동일한 소스가 여러개를 만들어야하는 불상사가 일어납니다.
@RequestMapping("/index")
public String projectInfo() {
return "메인";
}
@RequestMapping("/main")
public String projectInfo() {
return "메인";
}
다중매핑을 사용하면 한개의 매서드를 여러 이름으로 접근하여 처리할수있습니다.
1. URL 을 판별하여 분기처리
@RequestMapping(value = {"/","/index","/main"})
public String projectInfo() {
return "메인";
}
2. @PathVariable 사용
@Controller
public class HomeController {
@RequestMapping("/{urlPath}")
public String handleDynamicUrl(@PathVariable("urlPath") String urlPath) {
if (urlPath.equals("url1")) {
// URL '/url1'에 대한 처리 로직
return "view1"; // 해당 URL에 대한 View 이름 반환
} else if (urlPath.equals("url2")) {
// URL '/url2'에 대한 처리 로직
return "view2"; // 해당 URL에 대한 View 이름 반환
} else {
// 그 외의 URL에 대한 처리 로직
return "error"; // 에러 View 이름 반환
}
}
}
● {urlPath}
: 변수로 사용되는 부분(동적으로 변하는 부분). 실제 요청 URL에서 해당 위치에 있는 값이 urlPath 변수로 전달됩니다.
● handleDynamicUrl() 메서드
: urlPath 변수의 값을 확인하여 각 URL에 대한 분기 처리를 수행합니다.
위 두 가지 방법은 URL에 대한 분기 처리를 수행하는 방법 중 일부입니다. 각각의 방법은 상황에 맞게 선택하여 사용할 수 있으며, 프로젝트의 요구사항과 개발 환경에 따라 적합한 방법을 선택하여 구현하면 됩니다.
'Framework > Spring' 카테고리의 다른 글
[Spring] HomeController.java 작동 원리 (0) | 2023.05.27 |
---|---|
[Spring] 스프링 프로젝트 만들기 #1 (0) | 2023.05.22 |
[Spring] 파라미터 접근법, 화면 연결 형태 (0) | 2023.05.16 |
[Spring] 홈페이지만들기 2 - MySQL 연결하기 (0) | 2023.05.16 |
[Spring Boot] 패키지 구조 및 정리 (0) | 2023.05.15 |