목록Spring (37)
YJ의 새벽
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/IcBNe/btsdhx53Wa6/DSXbUJfTedW5I6HnbM0mM0/img.png)
---- sql 로그를 띄워보자 . Log4jdbc 라이브러리를 pom.xml 에 추가 . org.lazyluke log4jdbc-remix 0.2.7 --- root-context.xml 에 dataSource 이름을 --> realDataSource 로 바꿔주기. --- root-context.xml 에 dataSource 빈 추가 . --- log4j.xml 파일에 ref 추가 --- log4j.xml 파일에 위에 추가 ----- 서버 실행하면 , 미리 만들어둔 ajax로 인해 콘솔창에 설정한대로 나온다 .
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/TlX0Y/btsdelKeCAc/9Em5kIQgAy9CK4KKk3SfBk/img.png)
---pom.xml 에 파일업로드를 위한 메이븐 추가 commons-fileupload commons-fileupload 1.4 --- root-context.xml 에 파일업로드를 위한 빈 등록, 추가 --- form 을 참고하자. -- 파일명 변경해주는 Util 클래스 추가 . package edu.kh.comm.common; import java.text.SimpleDateFormat; public class Util { // 파일명 변경 메소드 public static String fileRename(String originFileName) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String date = sdf.forma..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lUwgm/btsdcsX9wJ2/X9Ty2hQj5PQWZHjAPgyEQ0/img.png)
---회원 탈퇴시, 세션, 쿠키도 같이 없애보자 . -- MyPageController 컨트롤러 클래스 . ---MyPageService 클래스 . -- 비밀번호 비교위해 --selectEncPw 비밀번호 조회 메서드 -- secession 탈퇴 메서드 --- MyPageDAO 클래스 . DB접근 클래스 . --- myPage-mapper.xml sql 문
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/r6qWZ/btsdcKRRxqJ/bpELjdkheBYNEXJZvKMmi1/img.png)
--- jsp 를 참고하여 , 암호화된 비밀번호를 바꿔보자 . ----- MyPageController 컨트롤러 클래스 . ---MyPageService , 서비스 클래스 --selectEncPw 메서드와, ( 현재 DB저장된 암호화된 비밀번호를 조회 ) changePw 메서드 ( DB저장된 비밀번호와 비교 후 비밀번호 바꾸기 ) ---MyPageDAO . DB 접근 클래스 --- myPage-mapper.xml sql 문 작성.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cMjsO4/btsdbPxDDiU/3aZDl9x6T1pku16ZYKNkz0/img.png)
--- myPage 들어가기 전 맵핑하는 xml 하나 만들어주자. --- mybatis-config.xml 에서 맵핑. -- 정보수정에 필요한 값 -닉네임 -전화번호 -주소 -회원번호 ( Session --> 로그인한 회원정보 통해서 얻어오기 ) --> @SessionAttributes , @ModelAttribute 필요 @SessionAttributes - -Model에 세팅된 데이터의 Key와 @SessionAttributes 에 작성된 Key가 같으면 Model 세팅된 데이터를 request --> session scope 로 이동. -- 기존에 session scope 에 이동시킨 값을 얻어오는 역할 :: ex ) @ModelAttribute("loginMember") Member loginMe..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b6NdPF/btsc0ZHJL1J/qi25W1b6kZjqe844L7U5lk/img.png)
---- js 를 참고하여 . 회원검색시 리스트 뽑아보도록 하자 . ---- MemberController . 컨트롤러에서 맵핑. --- MemberServiceImpl , 서비스 클래스 ---- MemberDAO , DAO 에서 DB접근 --- member-mapper.xml 에 쿼리문 추가 ! 들어온값 확인 !! 전체목록 뽑기 !! ----------------------------------------------------------------------------------------------------------------------------------------------------- js 를 참고하여 전체목록을 뽑아보자. --- MemberController 컨트롤러 클래스에서 맵핑 !!..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Gq4BU/btscZqkPDHm/u6y8il8hjmSSE67jdc7IZK/img.png)
스프링 예외처리 방법 ( 3가지 , 중복사용 가능 ) 1 순위 : 메서드 별로 예외처리 ( try ~ catch / throws ) 2 순위 : 하나의 컨트롤러에서 발생하는 예외를 모아서 처리 ( @ExceptionHandler ) 메서드에 작성. 3 순위 : 전역 (웹 애플리케이션) 에서 발생하는 예외를 모아서 처리 ( @ControllerAdvice ) 클래스에 작성. -- Service 클래스에 작성했을때 . --- ExceptionController 클래스에 전역으로 작성했을때 . -- 에러발생시 . common/error .jsp 로 넘김 . -- error.jsp . --- 에러 발생했을때 !!! error.jsp 파일로 넘어가는것을 확인.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pE0K9/btscPTPI7Cl/U1dQuuTg0GOgxGCdURPMaK/img.png)
-- 회원가입 form 을 참고하여 , DB저장 해보자 . -- MemberController 에서 -- @ModelAttribute 로 객체를 받아오자 , VO 변수명과 , id 의 값이 일치해야함 !! -- 같은 name을 가진 주소는 하나의 문자열로 셋팅되어있다 . String[] 배열로 받아오자. -- 도로명주소에 ' , ' 포함하는 경우가 있어 이를 구분자로 사용할 수 없음. -- String.join ( "구분자" , 배열 ) 사용. -배열을 하나의 문자열로 합치는 메서드. -ex ) [ a, b, c ] --> join(" , , " , 배열 ) --> [ a,, b,, c ] --MemberService 에서 --입력받은 비밀번호를 암호화하여 , setMemberPw. 셋팅. --Membe..