토스페이 api사용, 모의 결제 테스트 기능
결제 정보 > 데이터베이스에 입력 확인
쿠키에 id를 저장하는 방법
문제점
누구든 열어서 확인할 수 있다는 게 단점
개발자 도구를 열어서 값을 변경할 수 있다는 문제점이 있다.
JSESSIONID에 세션에서 저장한 값이 들어있다.
//쿠키에 id값을 저장하는 과정
Cookie cookie = new Cookie("userId", id);
//Key, Value
response.addCookie(cookie); //userId가 담긴 쿠키를 response에 추가
response.sendRedirect("login_status.jsp"); response에 이동할 페이지 정보
response.sendRedirect("login_status.jsp?userId="+id);
//쿠키에서 id값을 가져오는 과정
Cookie[] cookies = request.getCookies();
String userId = null;
for(int i=0; i<cookies.length; i++) {
if(cookies[i].getName().equals("userId")) {
userId = cookies[i].getValue();
break;
}
}
다른 사람이 보거나 변경할 수 없다는 장점이 있다.
세션에 값을 저장해 두면 페이지간 이동을 해도 세션이 유지가 되어 로그인한 아이디를 언제든 불러 올 수 있다.
//세션에 값을 저장하는 과정
session.setAttribute("userId", id); //서버에 저장이 된다.
response.sendRedirect("login_status.jsp");
//세션에서 값을 가져오는 과정
String userId = (String)session.getAttribute("userId"); //return type "Object" 형변환 필요
//세션을 종료하는 과정
session.invalidate(); //현재 존재하는 세션을 비활성화.
response.sendRedirect("login_status.jsp");
결제 기능 DB 테이블 수정
현재의 구매번호를 기본키를 설정할 경우 기본키가 적은 확률로 중복되는 문제가 발생할 가능성이 있기 때문에 기본키를(결제번호, 구매번호)로 구성
예약 페이지 수정