목록Spring (26)
개(발)린이

지난번에 이어서 홈페이지에서 클릭하면 보드 리스트가 나오게 만들어보자 우선 서버에 연결해서 페이지를 열어보면 리스트들이 있는데 이건 jsp에 헤더부분에 있다. 헤더부분을 보자 ${boardType.boardName} FAQ 1:1문의 주석처리한 부분은 기존에 있는 코드이고 forEach 사용한 부분이 새로 설정한 코드이다. (콘솔창, 페이지 주소 캡쳐하기) 게시판 별로 들어갈수 있게 기능 구현해보자 먼저 BoardController 클래스이다 import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.sp..

오늘은 스프링 및 dbeaver를 사용해서 게시판 기능을 만들어본다 우선 추가해줄 것이 좀 있는데. SQL문을 로그로 뽑아주기 위해 MVN에서 logJDBC Remix를 추가해줬다 org.lazyluke log4jdbc-remix 0.2.7 pom.xml에 추가해 주었고 root-context에 bean 객체를 만들어 준다. 그 후에 log4j.xml 파일에 들어가서 logger 태그를 추가해준다. s mybatis.config.xml에 들어가서 별칭 작성과 mapper 위치 등록을 해주자 DBeaver 테이블은 2023.05.01 - [Spring] - Spring 게시판 테이블 다음은 BoaedTypeinterceptor 클래스를 만들어준다 인터셉터를 통한 처리 과정을 간략히 보면 다음은 servle..

이번 시간은 로그인 후 프로필 클릭하면 내정보로 들어가는 기능을 구현해본다 먼저 MyPageController 클래스 생성 마이페이지 인터페이스와 마이페이지Impl 마이페이지 맵퍼를 만들고 my-batis-config에 매퍼를 추가하여 시작전 세팅을 하였다 매퍼 콘픽 import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("/member/myPage") public class MyPageController { } 컨트롤러 맵핑이다. 이후에 마이페이지에서 또 다른 메뉴로 이동 가능하게 세팅먼저 해주겠다 impor..

오늘 해볼 것은 예외처리이다. 별다른건 아니고 에러가 났을 경우 에러 페이지로 이동하는 기능을 구현 해볼거다 - 스프링 예외 처리 방법(3가지, 중복 사용가능) 스프링 예외 처리 방법 (3가지, 중복 사용 가능) 1 순위 : 메소드 별로 외처리 (try-catch / throws) 2 순위 : 하나의 컨트롤러에서 발생하는 예외를 모아서 처리 -> @ExceptionHandler (메소드에 작성) 3 순위 : 전역(웹 애플리케이션)에서 발생하는 예외를 모아서 처리 -> @ControllerAdvice(클래스에 작성) 2순위 3순위를 구현해 보자 먼저 2순위이다. 우선 error페이지 jsp이다. ${requestScope.errorMessage} 발생한 예외 : ${e} 자세한 문제 원인은 이클립스 콘솔을..

이번시간엔 본격적으로 DB에 회원정보를 저장하는 기능을 구현해 보겠다. 먼저 컨트롤러를 먼저 만들어준다. @PostMapping("/signUp") public String signUp(@ModelAttribute Member signUpMember, RedirectAttributes ra) { int result = service.signUp(signUpMember); if(result > 0) { ra.addFlashAttribute("message", "회원가입이 완료되었습니다."); return "redirect:/"; } else { ra.addFlashAttribute("message", "입력한 정보가 옳바르지 않습니다."); return "member/signUp"; } } form태그에 ..
이번 시간엔 회원가입 페이지에 있는 input에 정보를 입력하고 js에 구현되어있는 유효성 검사를 통과하면 가입하기 버튼을 통해 DB에 회원 정보를 저장하는 기능을 구현해 보겠다. 먼저 JavaScript 코드이다. const checkObj = { "memberEmail" : false, "memberPw" : false, "memberPwConfirm" : false, "memberNickname" : false, "memberTel" : false, }; 먼저 유효성 검사 여부를 기록할 객체를 생성한다. 유효성 검사를 거쳐서 조건에 충족하면 true를 반환하게끔 로직을 구성할것이다. 먼저 전화번호 유효성 검사이다. const memberTel = document.getElementById("memb..

회원가입 창이다. 회원가입 기능을 구현해보자 우선 미리 만들어놓은 js에 ajax를 만들어놨다. ajax를 이용하여 유효성 검사를 하는 컨트롤러들을 만들것이고 유효성 검사를 통과하게 되면 js에서 만들어놓은 checkObj 객체에서 모두 true를 반환받으면 회원가입이 되게끔 만들어보겠다. 먼저 이메일 중복 검사부터 시작한다 참고로 이메일 인증은 구현하지 않을 예정이다. MemberController 클래스로 가자 //public String emailDupCheck(@RequestParam("memberEmail") String memberEmail) 생략 가능 ajax의 data와 변수명 같을경우만 public String emailDupCheck(String memberEmail) { int res..

오늘 할것은 암호화이다. DB에 패스워드를 저장할 때 그냥 저장하면 보안에 취약하기 때문에 암호화를 해서 저장하는데 이전 수업땐 sha-512를 이용해 암호화하는걸 배웠다. 근데 sha-512는 똑같은 비밀번호를 작성하면 똑같은 문자로 암호화 되기 때문에 보안에 문제가된다. 이번에 사용할 암호화는 Bcrypt 암호화이다. 우선 평문상태의 pw는 DB상 이렇게 나와있다 이전 sha512 사용시 순서는 비밀번호 담긴 요청 -> 필터 -> Wrapper(암호화) -> Servlet 순서로 암호화 상태로 DB에 저장시켰다. 이번엔 좀 다른 순서로 접근한다. 우선 Bcrypt암호화를 사용하면 ex) 1234 -> abcd 1234 -> sdfe 이런식으로 누를때마다 다르게 암호화가 된다. 그렇다면 이상태로 DB에..