sehyeogi365 / ChoongMoTour

0 stars 0 forks source link

마이페이지 #13

Open sehyeogi365 opened 1 year ago

sehyeogi365 commented 1 year ago

일부 url 설계 파라미터 전화번호, 파일추가

프론트엔드 영역 작업 등

sehyeogi365 commented 1 year ago

관리자 마이페이지 추가

sehyeogi365 commented 1 year ago

사용자 마이페이지 부분 푸쉬및 관리자 마이페이지 레스트컨트롤러, 비오, 다오, 매퍼 클론

sehyeogi365 commented 1 year ago

현재 사용자 영역은 400문제 맞닥뜨리는 중..

객체 불러오는데 힘쓰는중

sehyeogi365 commented 1 year ago

웬지 헤더 버튼 링크에다가 파라미터 안넣어서 그런 400오류 뜨는거 같다. 관리자 메인화면에선

숙소수정, 객실수정할때 다있었는데

sehyeogi365 commented 1 year ago

생객해보니 매 페이지 마다 User객체를 할필요가없더라 ㅎㅎ.. 그래서 500에러가 뜨나보다.

왜냐면 매 페이지마다 헤더의 마이페이지 링크가 들어가서 그렇게 생각했을지도

sehyeogi365 commented 1 year ago

400에러 Failed to convert value of type 'java.lang.String' to required type 'int'; nested exception is java.lang.NumberFormatException: For input string: ""

sehyeogi365 commented 1 year ago

헤더.jsp 원래 admin.id 라고 넣었던것을 이렇게 고쳤다. 세션에서 불러온 id값으로 " href="/admin/mypage/view?id=${adminId }">MyPage

그러자 sql에러 가뜨는데..

sehyeogi365 commented 1 year ago

, password 셀렉트 어드민 매퍼 이거 콤마앞에 찍음 -->

그리고 어드민 매퍼에서 다 컬럼 앞에 콤마안찍음

UPDATE user SET password =#{password} ,name =#{name} ,email =#{email} ,email =#{email} ,phoneNumber = #{phoneNumber} ,nickname =#{nickname} ,imagePath =#{imagePath}

sehyeogi365 commented 1 year ago

이번엔 접속은 된다 근데 링크 파라미터 자꾸 0이라 뜨네 왜그러지?

sehyeogi365 commented 1 year ago

관리자 마이페이지 입력창에 아예값이 안들어오는중..

sehyeogi365 commented 1 year ago

현재 사용자 마이페이지, 사용자 객실리스트,

계속해서 400에러 뜨는중 여기까지 바꾸니 이제 에러가 바뀌어서 나온다. Required request parameter 'id' for method parameter type int is not present 에서 Failed to convert value of type 'java.lang.String' to required type 'int';로 400에러면 요청문제(아작스영역) 스타벅스서 커피를 시켰는데 뜨거운 아이스아메리카노요 하는거를 연상해서 엉뚱한게 나온것. 어떤 거를 수행하고 있었는지, 어떤거를 봐서 어떤 오류가 생겼다고 알게되었는지. 등등을 잘 설명할것.

sehyeogi365 commented 1 year ago

let password = $("#passwordInput").val();//이것도 틀림 let passwordConfirm = $("#passwordConfirmInput").val();

그래서 400에러 떴나봄

sehyeogi365 commented 1 year ago

헤더 변수부분 잘못건드리니 400에러

Failed to convert value of type 'java.lang.String' to required type 'int'; nested exception is java.lang.NumberFormatException: For input string: ""]

href="/user/mypage/view?id=${userId}"

이렇게 해줘야 맞는거같다.

sehyeogi365 commented 1 year ago

아까전에 헤더로 loginId했을땐 분명값이 들어왔다???

차라리 로그인아이디로 잡아서 들어오게 된다면 파라미터들도 다 로그인아이디로 고치는게 어떤가???

sehyeogi365 commented 1 year ago

Property [nickName] not found on type [com.marondal.choongmotour.admin.model.Admin]

설마 모델에 닉네임없다고??

sehyeogi365 commented 1 year ago
                        <input type="text" id="nicknameInput" value = "${admin.nickname}" placeholder="닉네임" class="form-control mt-4">

모델, 디비에 저장된값은 nickname이였는데 여기선 ${admin.nickName} 라고 써져있었음

그리고 아작스에도 닉네임 파라미터를 빼먹었따..

let nickname = $("#nicknameInput").val();

sehyeogi365 commented 1 year ago

formData.append("nickname", nickname); 이것도 심지어 뺴먹었다...

sehyeogi365 commented 1 year ago

관리자 마이페이지 성공! loginId값으로 받아와버리니 된다.

sehyeogi365 commented 1 year ago

와중에 매퍼에서 회원정보수정 매퍼에서 updatedAt컬럼을 추가안하는둥, 어드민 매퍼인데 user를 넣는둥 심각한 오류 발견

sehyeogi365 commented 1 year ago

alert("수정 실패");' 뒤에 ' 하나땜에 오류뜸

sehyeogi365 commented 1 year ago

ilegal invocation 뜨는중

https://velog.io/@donkas/jQeury-Uncaught-TypeError-Illegal-invocation-%EB%AD%90%EB%83%90 참조해보기

sehyeogi365 commented 1 year ago

이번엔또 500에러가 뜬다.

Parameter 'loginId' not found. Available parameters are [param7, param5, param6, imagePath, String, param3, param4, param1, param2, password, phoneNumber, name, nickname, email] at org.apache.ibatis.binding.MapperMethod$ParamMap.get(MapperMethod.java:212) ~[mybatis-3.5.11.jar:3.5.11] at org.apache.ibatis.reflection.wrapper.MapWrapper.get(MapWrapper.java:45) ~[mybatis-3.5.11.jar:3.5.11]

이 오류 메시지는 다오 매퍼를 보라 그랬다.

sehyeogi365 commented 1 year ago

,email =#{email} 업데이트 어드민 여기에 실수로 이메일 컬럼 두번씀

sehyeogi365 commented 1 year ago

사용자 영역에선 수정실패가 관리자 영역에선 수정에러가 뜸

사용자영역걸로 클론해보기

sehyeogi365 commented 1 year ago

현재 뜨고 있는 500에러

Parameter 'loginId' not found. Available parameters are [param7, param5, param6, imagePath, String, param3, param4, param1, param2, password, phoneNumber, name, nickname, email]

@Param("String") String loginId

여기서 뭐가 잘못되었는지 찾아보시오

sehyeogi365 commented 1 year ago

이젠 스프링콘솔창엔 에러 안뜨고 수정실패만 뜬다. 그럼 아작스 영역가서 데이터 값이 안받아지고 있단뜻

sehyeogi365 commented 1 year ago

-- 피드백

alert(loginId);//보아하니 여기 데이터가 안들어오는 현상 디버깅은 안되서 매퍼 확인, api 확인후 api 값을 받아오는 쪽(아작스)도 확인

그리고 loginId 위주로 받아오는데 이것도 살짝은 찝찝 하다고 하심 이것도 한행을 뜻하는 id 그냥 id라면 모를까 이소리 하심

sehyeogi365 commented 1 year ago

id파라미터, 링크에도 id파라미터 기반으로 마이페이지 들어갔을때 자꾸 id값이라 뜬 이유

레스트컨트롤러 -비오- 다오- 매퍼 순으로 확인 레스트컨트롤러에서도 세션값 제대로 불러오고 모델에서도 id값이 있고 비오에서도 그 불러오는 메소드가 있고 다오에서도 쿼리를 수행하는 인터페이스가 있고 매퍼에서 보니 조회할때 loginId라고 있었다.

id컬럼 추가를 안시켜서 자꾸 id값이 0이라고 들어가는거였다.

sehyeogi365 commented 1 year ago

마이페이지 완성 조회 및 성공까지 모두 성공했다.

sehyeogi365 commented 1 year ago

여기서 굳이 오류가 있다면 프사가 수정해도 안들어온다는 점하고, 수정이후에 이메일칸에 , 하면서 이메일이 더써진다는점이다.

sehyeogi365 commented 1 year ago

업로드를 해보니 이제는 디비상에는 저장잘된다 근데 안뜨는상황

sehyeogi365 commented 1 year ago

아예 대놓고 헤더 쪽에 디버깅을 했더니 값이 제대로 들어오고 있꼬 디비상에서도 저장이잘되고 폴더쪽에도 저장이 잘되는상황 근데 프론트 엔드상에선 안뜬다.

sehyeogi365 commented 1 year ago

마이페이지.jsp

있을때 이거를 user.imagePath로 바꾸면 어떨까? 헤더야 항상 불러와야 하니 세션을 썼지만.. 이렇게 하니 프사가 뜬다.
sehyeogi365 commented 1 year ago

헤더에서도 이렇게 해줘야 뜬다. 근데 이렇게 하면 마이페이지에서만 헤더쪽프사만 뜨는데

현실적으로 모든페이지마다 모델객체를 불러올순없다. 헤더엔 세션값 줘야지

그렇다면 지금 세션값이 제대로 전달안되고있단 뜻이다.

있을때 이것도 그냥 user.imagePath 이렇게 해야 된다 이렇게 했을땐 저장은됐다. 근데 사진이안뜸
sehyeogi365 commented 1 year ago

알고보니 또 selectUser 쿼리문에서

imagePath 컬럼이없어서 세션값이 전달이 안됐던것.

sehyeogi365 commented 1 year ago

위에 매퍼에 컬럼하나 빠진건 잘잡았다. 근데 안뜬다.

sehyeogi365 commented 1 year ago

뭐 그래도 프사 바꾸는거는 해결했으니 완료한걸로

sehyeogi365 commented 1 year ago

근데 헤더 거 까지 프사가 나온다 이제.

그냥 헤더에 세션값 adminImagePath 주니까 되는데

원래 이렇게 하면 나와야 정상임

sehyeogi365 commented 1 year ago

마이페이지 프사 이슈 세션값이 있으면 객체값으로 전달받아 넣은 프사를 띄워라 이렇게 표현한다 생각할것.

sehyeogi365 commented 1 year ago

그외에 닉네임 수정시 즉각즉각 안띄워지고 로그아웃 재로그인해야 띄워진다는 점.

이메일수정시 이메일, 이메일 이렇게 된다는점이 좀 아쉬움

sehyeogi365 commented 1 year ago

formData.append("id", id);//여기도 로그인id 그냥 id 로 수정 formData.append("password", password); formData.append("name", name); formData.append("nickname", nickname); formData.append("email", email); formData.append("phoneNumber", phoneNumber); formData.append("email", email);// 이것때문에 이메일이 두번 저장되는거였다. formData.append("file", file.files[0]);

sehyeogi365 commented 1 year ago

계속해서 실험해본결과 비밀번호만 바꾸면 정상 재로그인이 된다.

근데 프사를 바꾸면 재로그인이안된다??? 참 기이하다.

sehyeogi365 commented 1 year ago

내가볼땐 첨에 마이페이지들어갔을때 비밀번호란에 .......................... 된거부터가 문제같다.

sehyeogi365 commented 1 year ago

--피드백

애초에 마이페이지에 들어가면

비밀번호가 안적혀있고

비밀번호가 썼냐 안썼냐 여부에 따라

업데이트 여부를 적용 함

아마 암호화된 비밀번호를 또 한번 암호화해서 아예 다른 비밀번호로 바뀌는 현상이라고 한다.