- 로그인 부분 controller
@Override
@RequestMapping(value="/login.do" ,method = RequestMethod.POST)
public ModelAndView login(@RequestParam Map<String, String> loginMap,
HttpServletRequest request, HttpServletResponse response)throws Exception{
ModelAndView mav = new ModelAndView();
memberVO = memberService.login(loginMap);
if(memberVO !=null && memberVO.getMember_id() != null) {
HttpSession session = request.getSession();
session = request.getSession();
session.setAttribute("isLogOn", true);
session.setAttribute("memberInfo", memberVO);
String action=(String)session.getAttribute("action");
if(action!=null && action.equals("/")) {
mav.setViewName("forword:" + action);
}else {
mav.setViewName("redirect:/main/main.do");
}
}else {
String message = "아이디나 비밀번호가 틀립니다. 다시 로그인 해주세요";
mav.addObject("message",message);
mav.setViewName("/member/loginForm");
}
return mav;
}
- @RequestParam 어노테이션은 HttpServletRequest 객체와 같은 역할을 한다.
- @RequestParam("가져올 데이터 이름")[데이터 타입][가져온 데이터를 담을 변수]
- Map으로 하여 id,pw를 저장하게 하였다.
- if문을 통해 값이 null이 아니라면 조회한 회원 정보를 가져와 isLogOn 속성을 true로 설정하며,
memberInfo 속성으로 회원정보를 저장하게 하였다 - 아이디나 비밀번호가 틀렸을시, 메시지를 띄우며 다시 로그인페이지로 가게하였다.
- 로그인 부분DAO
@Override
public MemberVO login(Map loginMap)throws DataAccessException{
MemberVO member=(MemberVO)sqlSession.selectOne("mapper.member.login",loginMap);
return member;
}
- 로그인 부분Service
@Override
public MemberVO login(Map loginMap)throws Exception{
return memberDAO.login(loginMap);
}
로그아웃 controller
@Override
@RequestMapping(value = "/logout.do", method = RequestMethod.GET)
public String logout(HttpSession session) throws Exception {
session.invalidate();
logger.info("bye logout success");
return "redirect:/main/main.do";
}
- session.invalidate(); 함수를 사용하여 세션을 없애고 세션에 속해있는 값들을 모두 없앤다.
-
<a href="${contextPath}/member/logout.do" onClick="window.location.reload()">로그아웃 |</a>
- jsp에서 새로고침 함수를 활용하여 로그아웃 버튼클릭 시 새로고침되면서 메인화면으로 돌아오게 하였다.
화면부js
<c:if test='${not empty message }'>
<script>
window.onload=function()
{
result();
}
function result(){
alert("아이디나 비밀번호가 틀립니다. 다시 로그인해주세요");
}
</script>
</c:if>
- Controller에서 선언한 message메서드를 실행시키기위해 스크립트를 사용하여 id,pw가 틀렸을시 메시지를 호출하게 만들었다.
- 회원가입 완료는 submit으로 input태그를 만들어서 하였습니다,
'Spring > Study' 카테고리의 다른 글
[Spring]게시판 만들기 - 등록 (0) | 2022.01.23 |
---|---|
[Spring]게시판 만들기 - 목록 & 상세보기(조회수부분까지) (0) | 2022.01.23 |
[Spring]이미지 다운로드&썸네일&업로드 메서드 (0) | 2021.12.30 |
[JavaScript]다음 주소(우편번호) 검색API (0) | 2021.12.26 |
[Spring]회원 가입 & id중복체크 구현 (0) | 2021.12.26 |