프로젝트(Interyard) - 개발

Levi·2024년 10월 22일
0

Interyard

목록 보기
6/6

오늘은 저번에 말씀 드린 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 를 보여 드렸습니다. 다음에는 추가적으로 작성한 코드를 보여드리겠습니다! 감사합니다!!🐻

profile
주어진 것에 최선을 다하는 개발자
post-custom-banner

0개의 댓글