다른 컨트롤러에 있는 do 경로로 이동
2021. 7. 5. 06:16ㆍspring
BoardController |
@RequestMapping("/getBoardList.do") public String getBoardList(BoardVO vo, Model model) { vo.setRegDate(new Date(System.currentTimeMillis())); if(vo.getSearchCondition() == null) vo.setSearchCondition("TITLE"); if(vo.getSearchKeyword() == null) vo.setSearchKeyword(""); if(vo.getSearchCondition().equals("TITLE")) { model.addAttribute("boardList", boardService.getBoardListT(vo)); } else if(vo.getSearchCondition().equals("CONTENT")) { model.addAttribute("boardList", boardService.getBoardListC(vo)); } model.addAttribute("page", vo.getPage()); return "/board/"+"getBoardList.jsp"; // View �̸� ���� } |
LoginContoller |
@RequestMapping(value = "/login.do", method = RequestMethod.POST) public String login(UserVO vo, UserDAO userDAO, HttpSession session, Model model) { if(vo.getId().equals("")) { vo.setId("없는아이디"); } UserVO user = userDAO.getUser(vo); if (user != null) { session.setAttribute("userName", user.getName()); return "redirect:getBoardList.do"; } else model.addAttribute("incolect","아이디 혹은 비밀번호가 틀렸습니다."); return "/board/"+"login.jsp"; } |
아마도 그냥 ***.do로 이동시 현재 컨트롤러내에서 매핑 주소를 찾게되는 것으로 생각된다..
따라서 스트링 반환값에 redirect:를 해주면 해당 경로로 리다이렉트 처리를 해줘서 해당 주소를 직접 입력해서 가는 것과 같은 효과를 얻게되어 다른 컨트롤러라도 찾게되는 것으로 이해하는 중..
또 리다이렉트 처리시 장점이 매핑 주소가 직접 입력한 주소로 가는 것이 아니라 해당 주소로 바로 표기되기 때문에 주소를 가리는 데도 도움이 되는 듯 해서 같은 컨트롤러 내라도 do로 제어를 이동할 경우엔 전부 리다이렉트 처리를 해주었다.
jsp배울땐 jsp 태그로 sendRedirect 처리시 제어를 두번하게 되서 서버에 과부하를 줄 수도 있다고 하는데 이것도 같은 것인지는 모르겠다... 브라우저에서 뒤로가기 목록을 봤을 때 기존 주소가 없는걸 봐선 아닌 것 같기도 하고 애초에 do로 가는 매핑 같은 경우는 jsp파일을 거치는게 아니라 서버단에서 처리 후 최종적으로 jsp파일을 띄우는 것이라 요청이 2번 들어올 것 같지는 않다고 이해 하는 중..