Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

< main.jsp 실행화면 >

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

# main.jsp "회원정보수정" , "/update.do?userid=${loginUser.userid}" 클릭

=> MemberUpdateServlet.java doGet()

< MemberUpdateServlet > doGet

# memberUpdate.jsp 페이지에 유저의 데이터를 뿌려주기 위해 getMember 메서드를 사용하여

# 객체를 얻어와서 "vo" 로 저장하고 memberUpdate.jsp 로 forward 한다

< memberUpdate.jsp >  

# vo객체와 EL을 이용해 수정할 데이터 화면에 뿌려준다

< memberUpdate.jsp 실행화면 >

# 데이터를 모두 수정한 다음 "submit" 클릭

# MemberUpdateServlet.java doPost() 수정한 데이터 전송

< memberUpdateServlet > doPost

# memberUpdate.jsp 페이지로부터 넘어온 데이터들은 "vo" 객체로 저장

# updateMember 메서드를 이용하여 DB에 수정된 데이터들을 적용시킨다

# 수정이 완료되면 login.do ( loginServlet.java / doGet ) 으로 이동한다

=> 세션에 로그인정보( loginUser )가 남아있기 때문에 main.jsp 로 넘어간다

< MemberDAO / updateMember 메서드 >

sql = "upate membership set pwd=? email=? phone=? admin=? where userid=?"

// membership테이블의 userid가 vo객체의 userid인 데이터정보를 수정한다

// vo객체는 MemberUpdate.jsp 에서 사용자가 수정하려고 작성한 데이터값을 담은 객체이다

pstmt.setString( 1 , vo.getPwd() );    // 바인딩 변수를 채워준다

...

result = pstmt.executeUpdate()        // 실제로 데이터가 변경된다

* 마지막으로 로그아웃을 알아보자

2020/JSP SERVLET

MVC 회원 정보 수정 및 삭제 기능 구현

꽃꽂이하는개발자 2019. 12. 30. 20:44

이번에는 전 글에서 작성한 리스트 출력과 회원가입기능에서  회원 정보 수정 및 삭제 기능을 추가해 보겠습니다

  • 회원 정보 수정창에서 회원 정보를 수정하고 수정하기를 클릭해 /member/modMember.do로 컨트롤러에 요청합니다.
  • 컨트롤러는 전송된 회원 수정 정보를 가져온 후 테이블에서 회원 정보를 수정합니다.
  • 수정을 마친 후 컨트롤러는 다시 회원 목록창을 보여줍니다.

삭제하는 과정도 크게 다르지 않습니다.

  • 회원 목록창에서 삭제를 클릭해 요청명 /member/delMember.do와 회원 ID를 컨트롤러로 전달합니다.
  • 컨트롤러는 request의 getPathInfo() 메서드를 이용해 요청명을 가져옵니다.
  • 회원 ID를 SQL문으로 전달해 테이블에서 회원 정보를 삭제합니다.

  이전 글에서 사용했던 예제들을 모두 재사용 하겠습니다.

깃허브에서 sec02.ex02패키지와 test03폴더입니다.

github: https://github.com/soulwine-it/mvc_test

soulwine-it/mvc_test

Contribute to soulwine-it/mvc_test development by creating an account on GitHub.

github.com

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

자료출처 : 자바웹을 다루는 기술

2021.02.21 - [IT 독학/WEB] - [JSP_MVC ④] 회원관리 프로그램 만들기 ( 로그인 기능/ 웹개발 기초 / 웹개발 독학 / 백엔드 / 웹 프로그래밍)

2021.02.27 - [IT 독학/WEB] - [JSP_MVC ⑤] 회원 로그아웃, 회원가입 기능 ( 웹개발 기초 / 웹개발 독학 / 백엔드 / 웹 프로그래밍)

로그인을 해서 관리자는 관리자 페이지로, 유저는 유저 개인페이지로 넘어가게 했다.

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

이제 유저페이지에서 자기 정보를 확인하고 수정하는 기능을 추가해보겠다.

일단 userpage.jsp 에서 내 정보를 누를때 이동해줄 처리를 해준다.

이때 유저의 no를 가져가야 특정 정보를 볼 수 있다.

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

logincontroller.jsp로 가 userinfo 요청에 대한 처리를 적어준다.

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

같이 전달된 bm_no를 잘 받아주고 dao에서 selectUser( )메소드를 마저 작성해준다.

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

db를 연결하고 받아온 bm_no로 특정 유저의 정보를 출력하는 쿼리도 실행해 그 데이터를 리턴해준다.

다시 logincontroller.jsp 에서 마저 작성해준다. 담아온 데이터를 dto에 담아 userinfo.jsp로 페이지 이동을 해준다.

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

userinfo.jsp

인코딩과 임포트를 해주고 쿼리 실행후 dao에서 받아온 dto를 가져와 테이블을 화면에 구성해 뿌려준다.

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong
Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

이렇게 전에 db설계시 insert해줬던 user1의 정보를 볼 수 있다.

이제 수정버튼을 누르면 정보를 수정할 수 있게 해준다.

userinfo.jsp로 가서 수정 버튼을 누르면 logincontroller.jsp에서 updatepage 요청이 가게 해준다.

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

logincontroller.jsp 에서는 updatepage 요청을 처리해준다.

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

요청과 함께 넘어온 bm_no를 담아와 dao의 selectUser( ) 메소드를 사용한다.

단순 정보 조회처럼 dto를 가져와 updateuser.jsp로 넘겨준다.

updateuser.jsp

userinfo.jsp와 똑같은 table을 만들어 dto를 가져와준다.

여기서 유저가 수정 가능한 주소, 이메일, 핸드폰 번호만 input 태그를 넣어준다.

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong
Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

그리고 submit 버튼을 누르면 logincontroller.jsp에 updateuser 요청을 넘겨준다.

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

받아온 addr, email, phone, bm_no를 dto에 담아 dao의 updateUser( ) 메소드를 실행해준다.

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

dao의 updateuser( )메소드를 완성해준다. 이 메소드는 불리언타입으로 res가 잘 담겨오면 true로 커밋까지 끝내주고 아니면 false를 리턴해준다.

다시 logincontroller.jsp로 돌아가 res가 true면 수정성공 알림을, false면 수정실패 알림을 준다.

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

여기서 다시 updateuser.jsp로 돌아가

만약 수정할 때 아무것도 입력하지 않으면 입력하라는 알림이 가는 기능까지 넣어준다.

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

jquery를 통해 submit 되면 updateform이 실행되어 class="updatedata"인 addr, email, phone이 각각 빈칸이면 ~을 입력하세요가 알림으로 가게 해줬다.

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

당연히 잘 입력하면 수정 성공이 된다.

Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong
Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

이렇게 수정기능까지 잘 구현이 되었다.