MemberController.java
페이지 정보

본문
package com.pkt.controller;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.pkt.mapper.MemberMapper;
import com.pkt.model.LoginDTO;
import com.pkt.model.MemberVO;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j;
@Controller
@Log4j
@RequestMapping("/member/")
@AllArgsConstructor
public class MemberController {
private MemberMapper mapper;
@GetMapping("/join")
public void joinGET(MemberVO member) {
log.info("join get ...........");
}
@GetMapping("/id_ok") // 메일주소 가입여부
public @ResponseBody int idOk(String useremail) {
log.info("id_ok get ...........");
return mapper.idOk(useremail); //메일 존재:1 , 미존재:0
}
@PostMapping("/join")
public String joinPOST(MemberVO member, RedirectAttributes rttr) {
log.info("join post ...........");
member.setConnecttype("로컬");
mapper.create(member);
return "redirect:/";
}
@GetMapping("/login")
public void loginGET() {
log.info("login get ...........");
}
@PostMapping("/login")
public String loginPOST(LoginDTO dto, HttpSession session, RedirectAttributes rttr) {
log.info("login post ...........");
log.info(dto.toString());
MemberVO vo = mapper.login(dto);
log.info(vo);
if(vo != null) { //회원 존재시 세션 생성
session.setAttribute("email", vo.getUseremail());
session.setAttribute("connecttype", vo.getConnecttype()); //로그인 접속 유형
session.setAttribute("name", vo.getUsername());
session.setAttribute("level", vo.getLevel());
return "redirect:/";
}else {
rttr.addFlashAttribute("msg", "잘못된 로그인 정보 입니다.");
return "redirect:login";
}
}
@GetMapping("/logout")
public String logout(HttpSession session) {
log.info("logout.....................");
session.invalidate();
return "redirect:/";
}
@GetMapping("/joinup")
public void joinupGET(HttpSession session, Model model) {
log.info("joinup get ...........");
String session_id = (String)session.getAttribute("email");
MemberVO member = mapper.read(session_id);
model.addAttribute("modify", member);
}
@PostMapping("/joinup")
public String joinupPOST(MemberVO member, String userpw2, RedirectAttributes rttr) {
log.info("joinup post ...........");
if(!userpw2.equals("") && userpw2.equals(member.getUserpw())) { //비밀번호 변경 포함
mapper.updatePass(member);
}else { //비밀번호 변경 제외
mapper.update(member);
}
rttr.addFlashAttribute("msg","modify");
return "redirect:joinup";
}
@GetMapping("/kakao")
public @ResponseBody int kakaoLogin(MemberVO vo, HttpSession session) {
log.info("kakao login...............");
int result = mapper.idOk(vo.getUseremail()); //로컬 회원가입된 이메일 존재여부 : 1 , 미존재 : 0
if(result == 0) {
vo.setConnecttype("카카오");
vo.setUsername("카카오");
vo.setUserpw("1234567890"); //임의의 비번 지정
mapper.createKakao(vo); //디비 저장 처리
}
vo = mapper.read(vo.getUseremail());
session.setAttribute("email", vo.getUseremail());
session.setAttribute("connecttype", vo.getConnecttype()); //로그인 접속 유형
session.setAttribute("name", vo.getUsername()); //이름을 메일주소로 처리
session.setAttribute("level", "1");
return result;
}
@GetMapping("/kakaoLogout")
public @ResponseBody String kakaoLogout(HttpSession session) {
log.info("kakao logout.....................");
session.invalidate();
return "kakaoLogout";
}
@GetMapping("/naverLogin")
public void naverLogin() {
log.info("naver 콜백 .....................");
}
@GetMapping("/naver")
public String naverLogin(MemberVO vo, String phone, HttpSession session) {
log.info("naver 세션 생성후 첫 페이지 이동 ...............");
String tp[] = phone.split("-");
vo.setPhone1(tp[0]);
vo.setPhone2(tp[1]);
vo.setPhone3(tp[2]);
int result = mapper.idOk(vo.getUseremail()); //로컬 회원가입된 이메일 존재여부 : 1 , 미존재 : 0
if(result == 0) {
vo.setConnecttype("네이버");
vo.setUserpw("1234567890"); //임의의 비번 지정
log.info(vo);
mapper.createNaver(vo); //디비 저장 처리
}
vo = mapper.read(vo.getUseremail());
session.setAttribute("email", vo.getUseremail());
session.setAttribute("connecttype", vo.getConnecttype()); //로그인 접속 유형
session.setAttribute("name", vo.getUsername()); //이름을 메일주소로 처리
session.setAttribute("level", "1");
return "redirect:/";
}
}
- 이전글MemberMapper.xml 24.08.06
- 다음글member/login.jsp 24.08.06
댓글목록
등록된 댓글이 없습니다.