Mvc 회원정보 수정 - mvc hoewonjeongbo sujeong

< main.jsp 실행화면 >

# 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: //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

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

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

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

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

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

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

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

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

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

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

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

userinfo.jsp

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

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

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

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

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

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

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

updateuser.jsp

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

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

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

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

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

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

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

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

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

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

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

Toplist

최신 우편물

태그