본문 바로가기

게시판4

[리펙토링] 게시판 프로젝트 아키텍처 개인프로젝트의 진행..저는 이번 프로젝트를 통해서, 지금까지 배운것들에 대해 총체적으로 사용해보고 필요한 곳에 가능한 기술들을 사용해보며 많은 것을 느껴보려 합니다..프로젝트는 1차적으로 끝내었고, 다시 리펙토링을 진행해보며 블로그 글들도 수정작업에 진행하고 있습니다(현재 25.1.3) 벌써 작년...프로젝트라니... 실감이 나지는 않지만 시간이 가능할 때 차근히 전에 했던 실수는 무엇이었는지...아니면 굳이 사용안해도되는 기술들을 억지로 넣었는지, 너무 학습에 치중해서 개발을 진행하지 않았는지에 대해 다시 생각해보며 뺄건 빼고 넣을건 넣으면서 진행해볼까합니다..! 사용 도구들..- spring boot 3.3.5- java 17- H2 Database- Thymeleaf Application FlowC.. 2024. 11. 20.
[기능구현#4] 예외처리 예외처리 흐름도기본적인 Exception 흐름도Controller에서 Exception 발생Tomcat으로 전달에러 코드 별로, 지정된 Mapping으로 다시 Controller로 전달전달된 페이지를 View 예외처리 방법1. Exception을 직접 구현하여, mapping Controller로 진행2. Spring이 자동으로, 에러코드별 html이 있다면 해당 html로 view 진행3. API형식일 경우, json 형태로 (혹은 다른 방식으로) 에러 코드 및 메시지 전달현재 프로젝트에 적용되어 있는 Exception 방식1번 방법으로, Exception을 직접 구현하여 원하는 Html로 맵핑 작업  예외처리 구현WebServerFactoryCustomizer를 통한 구현 (@Override cust.. 2024. 11. 20.
[트러블 슈팅] 로그인 인증 관련 문제 문제로그인을 했을경우, 이미 인증을 받았기에 필터와 인터셉트가 걸러주지 못하는 문제 발견/members/test -> /members/admin (이동 가능) 문제의 코드session의 null 체크만 하고, 로그인 계정에 대한 인증 로직이 추가되지 않음위의 문제가 발생한 원인 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String requestURI = request.getRequestURI(); Pattern pattern = Pattern.compile("/members/([^/]+)".. 2024. 10. 29.
[기능구현#1] 패스워드 검증 추가하기 1. 직접 검증2. BindingResult3. 애노테이션 사용 직접검증HashMap을 이용하여, error를 담고 ModelAttribute로 반환thymeleaf의 조건문과 삼항문을 이용하여, error 인 경우와 정상인경우 렌더링//[Controller] Map errors = new HashMap(); if ( member.getPasswd() != null && member.getPasswd().length() >= 8 ){ if (member.getPasswd().matches("[a-zA-Z]+")){ errors.put("passwd", "비밀번호는 숫자와 특수문자를 포함해야합니다."); }.. 2024. 10. 23.