본문 바로가기
카테고리 없음

Controller 부분 정리

by 인디코더 2018. 12. 5.

@RequestMapping("user/userEntry")
    public ModelAndView entry(@Valid User user, BindingResult br, HttpSession session) {    
        ModelAndView mav = new ModelAndView("user/userForm");
        if(br.hasErrors()) {
            mav.getModel().putAll(br.getModel());
            return mav;
        }
        try {
            service.userCreate(user);
            mav.setViewName("user/login");
            mav.addObject("user",new User());
        } catch (DataIntegrityViolationException e) {
            br.reject("error.duplicate.user");
        }
        return mav;
    }

스프링에서 어노테이션을 많이 사용하게 된다. 

@RequestMapping("user/userEntry")    //Url에서 요청한 값에서 값을 읽어들이는 키와 같은 역할을 한다. 만약 url중에 ""안에 들어있는 값이 보이게 된다면 entry 메서드가 실행 되게 된다.

    public ModelAndView entry(@Valid User user, BindingResult br, HttpSession session) { //ModelAndView의 구체적인 내용은 잘 모르겠지만 추측 하건데, MVC에서 MV를 나타내는 것 같다.

entry메서드는 user객체, BindinrResult객체, HttpSession 객체를 읽어온다.

User객체는 jsp를 부를 때 객체를 생성한 상태에서 사용자가 입력을하면 User객체에 고이 담아진다.

그것을 불러오고 @Valid를 통해서 유효성 검사를 한다.

그래서 mav.getModel().putAll(br.getModel()); 명령문을 실행시키면 유효성 검증이 되게 된다.


일단,...하나하나 설명하기는 힘들거 같으나 ,, 최대한 설명을 자세히 기록 하겠다.

반응형