easycompany 소스 로그인에 대한 질문입니다.
- 작성자 :
- 손*주
- 작성일 :
- 2011-09-07 10:55:17
- 조회수 :
- 1,887
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
로그인 성공시 사원정보리스트 페이지로 포워딩하게 되어 있는데 loginSuccess.do는 아무내용도 없는데 어느부분에서 사원정보리스트로 포워딩하는지 궁금합니다.
/**
* 사용자로 부터 아이디, 패스워드를 입력받아 인증 성공이면 세션 객체에 계정정보를 담고 사원정보리스트 페이지로 포워딩한다. 인증에
* 실패하면 로그인 페이지로 다시 리턴한다.
*/
@RequestMapping("/loginProcess.do")
public String login(HttpServletRequest request, @RequestParam("id") String id,
@RequestParam("password") String password) {
// TODO [Step 4-1-01]
// LoginService의 authenticate메소드를 이용하여 로긴여부 체크 Account 객체를 리턴 받는다.
Account account = (Account) loginService.authenticate(id, password);
/*
* TODO [Step 4-1-03]
* 가져온 account 객체가 null 아닌 경우
* request.getSession() 메소드를 통해 Session을 구해 UserAccount 이름으로 Session 에
* Attribute로 저장한다. 그리고 "redirect:/loginSuccess.do" 값을 반환한다. null 인경우
* "login" 반환한다.
*/
if (account != null) {
request.getSession().setAttribute("UserAccount", account);
return "redirect:/loginSuccess.do";
} else {
return "login";
}
// return null;
}
// TODO [Step 4-1-04]
// loginSuccess.do 로 호출된 처리(@RequestMapping(value="/loginSuccess.do", method=RequestMethod.GET) 를 위한
// 메소드(loginSuccess) 를 void 타입의 public 메소드를 만들어라.
@RequestMapping(value = "/loginSuccess.do", method = RequestMethod.GET)
public void loginSuccess() {
}
/**
* 사용자로 부터 아이디, 패스워드를 입력받아 인증 성공이면 세션 객체에 계정정보를 담고 사원정보리스트 페이지로 포워딩한다. 인증에
* 실패하면 로그인 페이지로 다시 리턴한다.
*/
@RequestMapping("/loginProcess.do")
public String login(HttpServletRequest request, @RequestParam("id") String id,
@RequestParam("password") String password) {
// TODO [Step 4-1-01]
// LoginService의 authenticate메소드를 이용하여 로긴여부 체크 Account 객체를 리턴 받는다.
Account account = (Account) loginService.authenticate(id, password);
/*
* TODO [Step 4-1-03]
* 가져온 account 객체가 null 아닌 경우
* request.getSession() 메소드를 통해 Session을 구해 UserAccount 이름으로 Session 에
* Attribute로 저장한다. 그리고 "redirect:/loginSuccess.do" 값을 반환한다. null 인경우
* "login" 반환한다.
*/
if (account != null) {
request.getSession().setAttribute("UserAccount", account);
return "redirect:/loginSuccess.do";
} else {
return "login";
}
// return null;
}
// TODO [Step 4-1-04]
// loginSuccess.do 로 호출된 처리(@RequestMapping(value="/loginSuccess.do", method=RequestMethod.GET) 를 위한
// 메소드(loginSuccess) 를 void 타입의 public 메소드를 만들어라.
@RequestMapping(value = "/loginSuccess.do", method = RequestMethod.GET)
public void loginSuccess() {
}
A
안녕하세요.. 손봉주님..
Controller의 메소드 return이 void인 경우는 DispatcherServlet에 의해 내부적으로 RequestToViewNameTranslator가 호출된 URL을 직접 view명으로 사용하도록 되어 있습니다. (확장자 제외 부분)
그래서.. /loginSuccess.do가 loginSuccess view명을 return한 효과와 같습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.
Controller의 메소드 return이 void인 경우는 DispatcherServlet에 의해 내부적으로 RequestToViewNameTranslator가 호출된 URL을 직접 view명으로 사용하도록 되어 있습니다. (확장자 제외 부분)
그래서.. /loginSuccess.do가 loginSuccess view명을 return한 효과와 같습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.