[개인정보 수정]
패스워드, 이름, 이메일, 전화번호 수정
아이디, 생년월일, 성별는 수정 노노, view에서 입력창인 input을 넣으면 안된다.
위의 형태로 화면 구성
수정 버튼누를 시 패스워드 등 누락된 것이 없는지 자바 스크립트를 이용해 유효성 검사
과정
select -> update
회원가입 join과 아주 유사
아이디 가져오기 httpsession 안에 로그인했던 정보가 들어가 있기때문에 primary key이 id를 가져와야함
1.첫번째 방법
2. 두번째 방법
위의 경우, getAttribute로 가져올 경우에는 타입이 오브젝트이기 때문에 String으로 변환해주어야 한다.
3. 세번째 방법
수업시간에 한 방법
modify에 sessionScope.loginId를 이용해 loginId를 가져와 userId에 넣는다.
userId를 가지고 modify로 gogo!
힌트
1)수정을 하기 위해 첫 화면에서 클릭했을 때
select ---- from members
where userid = #{userid};
여기
2) 화면에서 데이터를 고치고 수정버튼을 클릭했을 때
update ----
set
userpwq = {userpwd}
.
.
where
userid = #{userid}
userid는 수정하지 않지만 primaruy key이기때문에 필요하다.
<<정리>>
main인 index에서 시작
유일한 식별자인 userid를 가지고 컨트롤러 modify창으로 가지고 간다.
디비와 연결해 userid를 가져오기 위해 repository를 이용하고 수정하기 위해 modify함수를 생성, 전달인자로는 userid 를 사용한다.
repository로 가서
쿼리문을 작성해주면 디비와 접속해 데이터를 가져온다.
그럼 다시 역순으로
m을 가져와 Member member로 돌아와
화면에 가져온 내용을 뿌려주기 위해 model. addAttribute("키", 값)을 이용해 화면에 띄운다.
이후 "member/modifyForm" 창으로 가고
콘트롤러에 있는 값을 가져오기 위해 value="${member.userid}와 같이 가져올 수 있다.
[Session scope의 특징]
- 웹 브라우저별로 변수를 관리하고자 할 경우 사용한다.
- 웹 브라우저간의 탭 간에는 세션정보가 공유되기 때문에, 각각의 탭에서는 같은 세션정보를 사용할 수 있다.
- HttpSession 인터페이스를 구현한 객체를 사용한다.
- JSP에서는 session 내장 변수를 사용한다.
- 서블릿에서는 HttpServletRequest의 getSession()메소드를 이용하여 session 객체를 얻는다.
- 값을 저장할 때는 session 객체의 setAttribute()메소드를 사용한다.
- 값을 읽어 들일 때는 session 객체의 getAttribute()메소드를 사용한다.
- 장바구니처럼 사용자별로 유지가 되어야 할 정보가 있을 때 사용한다.
'개발자로 가는 길(국비지원과정) > 4.Spring+ Ajax' 카테고리의 다른 글
[210716금] 페이징 (0) | 2021.07.16 |
---|---|
[210715목] 게시판 글조회 해시맵과 동적쿼리, 페이징 (0) | 2021.07.15 |
[210713화] (0) | 2021.07.13 |
[210712월] (0) | 2021.07.12 |
[210709금] (0) | 2021.07.09 |