오늘은 저번에 말씀 드린 delete , wirte 개발을 보여 드리도록 하겠습니다!
처음으로는 writeForm 으로 갑니다.
write는 추가이지만 회원에서는 회원가입이 맞는 표현입니다.
회원가입 폼으로 갑니다!
case "/member/writeForm.do":
System.out.println("회원 가입폼");
jsp = "/member/writeForm";
break;
단순한 페이지 이동 코드 이기때문에 넘어갑니다.
다음은 write 처리문입니다.
case "/member/write.do" :
System.out.println("회원가입처리");
MultipartRequest multi =
new MultipartRequest(request, realSavePath,sizeLimit,"utf-8", new DefaultFileRenamePolicy());
id = multi.getParameter("id");
pw = multi.getParameter("pw");
String name = multi.getParameter("name");
String gender = multi.getParameter("gender");
String birth = multi.getParameter("birth");
tel = multi.getParameter("tel");
email = multi.getParameter("email");
String photo = multi.getFilesystemName("photoFile");
System.out.println("adasdasdasdasdawdasdawdasdas"+photo);
vo = new MemberVO();
vo.setId(id);
vo.setPw(pw);
vo.setName(name);
vo.setGender(gender);
vo.setBirth(birth);
vo.setTel(tel);
vo.setEmail(email);
if(!(photo == null || photo.equals("")))
vo.setPhoto(savePath+ "/" +photo);
Execute.execute(MemberInit.get(uri), vo);
session.setAttribute("msg", "회원가입완료");
jsp = "main/main";
break;
jsp 에서 form을 통해 넘겨줄때 Multipart를 넘겨줍니다.
Multipart를사용하는 이유는 type file을 넘겨줄때 Content-type 여러개가 넘어가기 됩니다.
웹 클라이언트가 서버에게 파일을 업로드할 때,
http 프로토콜의 바디 부분에 파일정보를 담아서 전송을 하는데,
파일을 한번에 여러개 전송을 하면 body 부분에 파일이 여러개의 부분으로 연결되어 전송됩니다. 이걸 나눠서 전송 할수있게 해줍니다.😊
정말 좋은 친구입니다!!
파일을 업로드할때 상대적인 위치를 정하고 저장할수있도록 하는 코드입니다.
// 파일의 상대적인 저장 위치
String savePath = "/upload/member";
// 파일 시스템에서는 절대 저장위치가 필요하다. - 파일 업로드시 필요
String realSavePath = request.getServletContext().getRealPath(savePath);
// 업로드 용량 제한
int sizeLimit = 50 * 1024 * 1024;
// realSavePath 폴더가 존재하지 않으면 만들자
File realSavePathFile = new File(realSavePath);
if(realSavePathFile.exists()) realSavePathFile.mkdirs();
다음은 delete 입니다. 회원에서 delete 는 삭제가 아닌 탈퇴로 정보를 변경하기때문에 update와 같습니다.
상태를 수정하는것이기 때문에 Status를 업데이트를 합니다.
case "/member/changeStatus.do":
System.out.println("등급 수정");
id = request.getParameter("id");
String status = request.getParameter("status");
vo = new MemberVO();
vo.setId(id);
vo.setStatus(status);
Execute.execute(MemberInit.get(uri), vo);
if(login.getGradeNo() == 9) {
session.setAttribute("msg", "회원 ["+id+"] 님 상태를 ["+status+"] 로 변경 되었습니다.");
jsp = "redirect:list.do";
}else if(login.getStatus() != "정상") {
session.removeAttribute("login");
jsp = "main/main";
session.setAttribute("msg", "탈퇴가 완료되었습니다");
}
break;
이것으로 기본적인 CRUD 를 보여 드렸습니다. 다음에는 추가적으로 작성한 코드를 보여드리겠습니다! 감사합니다!!🐻