서블릿에서는 주소매핑시 @WebServlet을 사용하고 스프링에서는 @RequestMapping을 사용한다.
@RequestMapping(value"/주소", method=ReuqestMethod.POST) 등으로 사용가능하며
스프링4.3부터는 @GetMapping, @PostMapping등으로 좀 더 간단하게 사용할 수 있다.
클래스에 붙이는 @RequestMapping을 이용하면 URL의 공통부분을 생략할 수있다.
@Controller // ctrl+shift+o 자동 임포트
@RequestMapping("/register")
public class RegisterController {
// @RequestMapping(value="/register/add", method=RequestMethod.GET) // 신규회원 가입
@GetMapping("/add") // 4.3부터 추가
public String register() {
return "registerForm"; // WEB-INF/views/registerForm.jsp
}
// @RequestMapping(value="/register/save", method=RequestMethod.POST) // 신규회원 가입
// @PostMapping("/register/save")
@PostMapping("/add")
public String save(@ModelAttribute("user") User user, Model m) {
if(!isValid(user)) {
String msg = URLEncoder.encode("id를 잘못입력하셨습니다.", "utf-8");
m.addAttribute("msg", msg);
return "redirect:/register/add"; // 신규회원 가입화면으로 이동(redirect)
}
return "registerInfo";
}
private boolean isValid(User user) {
return false;
}
}
URL패턴
'I leaned > 스프링,스프링부트' 카테고리의 다른 글
쿠키(Cookie) (0) | 2023.05.24 |
---|---|
redirect와 forward (0) | 2023.05.23 |
URL Encoding (0) | 2023.05.22 |
@RequestParam과 @ModelAttribute (0) | 2023.05.19 |
EL과 JSTL (1) | 2023.05.19 |