Web/Spring

[Spring] @RequestMapping , 요청 파라미터

돈기법 2022. 3. 25. 15:52

1. @RequestMapping을 이용한 URL 맵핑

@RequestMapping(value="/memJoin", method=RequestMethod.GET)
-> 메소드는 디폴트로 GET 방식을 따름. 생략 가능

 

메소드 부분을 생략해 속성이 value 하나일 때는
@RequestMapping("/memJoin")
이런식으로 간단하게 표현 가능

 

메소드 부분을 명시해두지 않아도 value 값에 맞는 함수를 호출해주긴 하지만,
코드 가독성을 위해 써두는 편이 좋다.

 

2. 요청 파라미터

2-1. HttpServletRequest 객체를 이용한 HTTP 전송 정보 얻기

	@RequestMapping(value = "/memJoin", method = RequestMethod.POST)
	public String memJoin(Model model, HttpServletRequest request) {
		String memId = request.getParameter("memId");
		String memPw = request.getParameter("memPw");
		String memMail = request.getParameter("memMail");
		String memPhone1 = request.getParameter("memPhone1");
		String memPhone2 = request.getParameter("memPhone2");
		String memPhone3 = request.getParameter("memPhone3");

		service.memberRegister(memId, memPw, memMail, memPhone1, memPhone2, memPhone3);

		model.addAttribute("memId", memId);
		model.addAttribute("memPw", memPw);
		model.addAttribute("memMail", memMail);
		model.addAttribute("memPhone", memPhone1 + " - " + memPhone2 + " - " + memPhone3);

		return "memJoinOk";
	}

request.getParameter()를 통해 값을 받아오고 model 객체에 담아서 전달한다.

 

2-2. @RequestParam 어노테이션을 이용한 HTTP 전송 정보 얻기

	@RequestMapping(value="/memLogin", method=RequestMethod.POST)
	public String memLogin(Model model, @RequestParam("memId") String memId, @RequestParam("memPw") String memPw) {
		
		// String memId = request.getParameter("memId");
		// String memPw = request.getParameter("memPw");
		
		Member member = service.memberSearch(memId, memPw);
		
		try {
			model.addAttribute("memId", member.getMemId());
			model.addAttribute("memPw", member.getMemPw());
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		
		return "memLoginOk";
	}

@RequestParam으로 값을 받아오면 request.getParameter()로 값을 받아올 필요 없이 바로 사용 가능하다.

 

2-3. 커맨드 객체를 이용한 HTTP 전송 정보 얻기

	@RequestMapping(value="/memJoin", method=RequestMethod.POST)
	public String memJoin(Member member) {
		service.memberRegister(member.getMemId(), member.getMemPw(), member.getMemMail(), member.getMemPhone1(),
				member.getMemPhone2(), member.getMemPhone3());
				
		return "memJoinOk";
	}

getter/setter가 생성되어 있는 Member 객체를 사용해서 편리하게 값을 가져올 수 있다.