개인정보수정 - wjdkdtn7233/SemiProject_UP GitHub Wiki

  • 경로
  • /src/up/mypage/controller/MyPageController.java

* java code

// 개인정보 수정 전 본인이 맞는지 비밀번호로 일치여부 확인
public ModelAndView pwPwdCheck(HttpServletRequest request) {
		ModelAndView mav = new ModelAndView();
		// Member m = (Member) request.getSession().getAttribute("loginInfo");
		mav.setView("mypage/pwPwdCheck");
		String uploadPath = request.getServletContext().getRealPath("resources\\upload");
		System.out.println(uploadPath);
		return mav;
	}
//개인정보 수정 ( 프로필 사진, 닉네임, 이름, 등등 .. )
public ModelAndView infoUpdate(HttpServletRequest request) throws IOException {
		ModelAndView mav = new ModelAndView();
		Member m = (Member) request.getSession().getAttribute("loginInfo");
	int res = 0;
	String uploadPath = request.getServletContext().getRealPath("/") + "resources/upload";
	int size = 1024 * 1024 * 10;
	String fileName = "";
	String orgfileName = "";
	String title = "";
	String nick = "";
	String basicPicture = "";

	// 파일의 경로 + 파일명
	String filePath = uploadPath + "/" + m.getOriginFile();
	String filePath2 = uploadPath+ "/" + m.getRenameFile();
	System.out.println(filePath);
	System.out.println(filePath2);
	File deleteFile = new File(filePath);
	File deleteFile2 = new File(filePath2);

	// 파일이 존재하는지 체크 존재할경우 true, 존재하지않을경우 false
	

	MultipartRequest multi = new MultipartRequest( // MultipartRequest 인스턴스 생성(cos.jar의 라이브러리)
			request, uploadPath, // 파일을 저장할 디렉토리 지정
			size, // 첨부파일 최대 용량 설정(bite) / 10KB / 용량 초과 시 예외 발생
			"utf-8", // 인코딩 방식 지정
			new DefaultFileRenamePolicy()); // 중복 파일 처리(동일한 파일명이 업로드되면 뒤에 숫자 등을 붙여 중복 회피)

	basicPicture = multi.getParameter("basicPicture");
	fileName = multi.getFilesystemName("profile"); // name=file1의 업로드된 시스템 파일명을 구함(중복된 파일이 있으면, 중복 처리 후 파일 이름)
	orgfileName = multi.getOriginalFileName("profile"); // name=file1의 업로드된 원본파일 이름을 구함(중복 처리 전 이름)
	title = multi.getParameter("title");
	nick = multi.getParameter("nick");
	System.out.println(fileName + "잘 나오냐" + orgfileName);

	// 기본이미지라면
	if (basicPicture.equals("unnamed.jpg")) {
		ms.updateFileName(basicPicture, basicPicture, m.getUserId());
		// 로그인 세션에 유저의 현재 프로필 사진네임을 다시 셋팅해준다.
		if (!m.getOriginFile().equals("unnamed.jpg")) {
			if (deleteFile2.exists()) {

				// 파일을 삭제합니다.
				deleteFile2.delete();
				System.out.println("파일을 삭제하였습니다.");

			}else {
				System.out.println("파일이 존재하지 않습니다.");
			}
		}
		m.setOriginFile(basicPicture);
		m.setRenameFile(basicPicture);
		// 기본이미지가 아니고 받아온 파일의 이름이 null이 아니라면
	} else if (orgfileName != null) {
		ms.updateFileName(orgfileName, fileName, m.getUserId());
		// 로그인 세션에 유저의 현재 프로필 사진경로를 다시 셋팅해준다.
		if (!m.getOriginFile().equals("unnamed.jpg")) {
			if (deleteFile2.exists()) {

				// 파일을 삭제합니다.
				deleteFile2.delete();
				System.out.println("파일을 삭제하였습니다.");

			}else {
				System.out.println("파일이 존재하지 않습니다.");
			}
		}
		m.setOriginFile(orgfileName);
		m.setRenameFile(fileName);
	}

	res = ms.updateInfomation(title, nick, m);

	if (res >= 1) {
		// 유저가 바꾼 닉네임, 파일, 이름이 담긴 로그인 세션을 다시 갱신한다.
		m.setUserNickName(nick);
		
		// 대표타이틀도 바꿨으니 다시 초기화
		
		// 대표 타이틀 url 도 초기화
		TitleUrlController uc = new TitleUrlController();
		uc.getTitleURL(request);
		
		m.setUserTitleCode(getTitle(request,m).getTCode());
		
		request.getSession().setAttribute("loginInfo", m);
		mav.setView("common/result");
		mav.addObject("url", "/up/mypage/mypage.do");
		mav.addObject("alertMsg", "개인정보 수정에 성공하였습니다.");
	} else {
		mav.addObject("alertMsg", "개인정보 수정에 실패하였습니다.");
		mav.addObject("back", "back");
		mav.setView("common/result");
	}

	return mav;
}

// 비밀번호 변경 public ModelAndView pwdCheck(HttpServletRequest request) { ModelAndView mav = new ModelAndView(); Member m = (Member) request.getSession().getAttribute("loginInfo");

	String newPwd = request.getParameter("newPwd");
	String id = m.getUserId();

	int res = ms.updatePassword(newPwd, id);

	if (res >= 1) {
		m.setUserPwd(newPwd);
		request.getSession().setAttribute("loginInfo", m);
		mav.setView("common/result");
		mav.addObject("url", "/up/mypage/mypage.do");
		mav.addObject("alertMsg", "비밀번호 수정에 성공하였습니다.");
	} else {
		mav.addObject("alertMsg", "비밀번호 수정에 실패하였습니다.");
		mav.addObject("back", "back");
		mav.setView("common/result");
	}
	return mav;
}
⚠️ **GitHub.com Fallback** ⚠️