public void insertMember(HttpServletRequest request,
			HttpServletResponse response, String folderPath) {
		
		// 이미지 파일 제한 용량 (mbytes, bytes)
		int maxMbSize = 1;
		int maxByteSize = maxMbSize * 1024 * 1024;
				
		// File
		File file = null;
		File rename = null;
		
		// 파라미터로 전송된 값 저장
		String id;
		String pwd;
		String filename;
		int filesize;
		
		// 이 순간 파일 업로드됨.
		try {
			
			MultipartRequest mRequest = new MultipartRequest(request, folderPath, maxByteSize,"UTF-8");
			
			id = mRequest.getParameter("id");
			pwd = mRequest.getParameter("pwd");
			file = mRequest.getFile("upimage");
			
			// System.out.println(request.getParameter("id"));
			// System.out.println(request.getParameter("pwd"));
			
			// System.out.println(id);
			// System.out.println(pwd);
					
			if (file == null) {
			
				filename = null;
				filesize = 0;
			
			} else {
				
				String orgfilename = file.getName();
				
				// 확장자 떼어내기.
				String ext = orgfilename.substring(orgfilename.lastIndexOf('.')+1, orgfilename.length());
				
				// 변경될 파일명을 위해 값 가져옴.
				long ctm = System.currentTimeMillis();
				
				// 드라이브명 부터 경로를 적어야 함. 
				// renameTo 호출시 파일이 사라져 버렸음.
				rename = new File(folderPath + ctm + "." + ext);	
				
				// 파일 이름 중복 체크, 한 번 더 시스템 값을 얻어옴.
				if (rename.exists()) {
					ctm = System.currentTimeMillis();
					rename = new File(folderPath + ctm + "." + ext);	
				} 
				
				// 변경할 파일명 확인.
				System.out.println("rename : " + rename);
				
				// 파일명 변경.
				file.renameTo(rename);	
				
				// request 객체에 결과 담기.
				request.setAttribute("filepath", rename);
				
				// 결과값을 가지고 jsp로 이동.
				// 경로 '/'로 시작할 것.
				// HttpServletRequest, HttpServletResponse, RequestDispatcher 등 연구대상.
				
				filename = rename.getName();
				filesize = (int)rename.length();
			}
			
			// 전송, 가공된 파라미터 값들을 VO 객체에 담기.
			MemberVO mvo = new MemberVO(id, pwd, filename, filesize);
			
			// VO 객체들을 DB에 저장하기
			MemberDAO mdao = new MemberDAO();
			boolean result = mdao.insertMember(mvo);
			
			if (result) {
							
				RequestDispatcher rd = request.getRequestDispatcher("./member.do?cmd=select&idx=" + id);
				rd.forward(request, response);	
								
			} else {
				String errMsg = "회원 가입에 실패하였습니다.";
				
				// DB에 insert 실패 시 업로드된 파일 삭제
				if (mvo.getFilename() != null) {
					rename.delete();
				}
					
				request.setAttribute("errMsg", errMsg);
				
				RequestDispatcher rd = request.getRequestDispatcher("./err.jsp");
				try {
					rd.forward(request, response);
				} catch (ServletException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		} catch (ServletException se1) {
			se1.printStackTrace();
		
		} catch (IOException ie1) {
			// 지정된 용량을 초과하면 IOException 발생.
			try {
				String errMsg = "업로드 파일의 최대 제한 용량은 " + maxMbSize  + " Mbytes 입니다.";
				
				request.setAttribute("errMsg", errMsg);
							
				RequestDispatcher rd = request.getRequestDispatcher("./err.jsp");
				rd.forward(request, response);
				
			} catch (IOException ie2) {
				ie2.printStackTrace();
			} catch (ServletException se2) {
				se2.printStackTrace();
			}
		} 
	}