domain패키지에 RoleType도 추가, 권한을 주기위해서 enum 생성
config패키지에 SecurityConfig.java 생성
스프링부트는 resources/static 정적파일을 넣는곳이 기본값을 설정되어있기 때문에 static 안에 js,css,images 폴더를 만들어주면된다.그럼 이제 로그인 페이지를 생성
사용툴 : STS4빌드 : Maven자바 : 11 버전뷰 : JSPDB: MySQLSpring Boot DevToolsLombokSpring Data JPAMySQL DriverSpring SecuritySpring Web 필요한 라이브러리 추가해주고 메이븐업데이트해주
web.xml은 WAS(Web Application Server)가 최초 구동될 때, WEB-INF 디렉토리에 존재하는 web.xml을 인식하도록 각 파일을 알려준다.여기서 root-context.xml(service, dao, db 등 로직설정)와 servlet-co
pom.xml 1.java, spring framework 버전확인 dependency 라이브러리 추가하는 곳 pom.xml수정하고 메이븐 업데이트 해줘야한다.
웹 MVC의 구조를 살펴보고 서블릿과 JSP를 이용하는 방식JSP를 이용한 개발 방시의 경우 유지보수나 URL변경 등은 유연하지 못하다는 단점이 부각되면서 2000년대 중반 이후의 개발은 거의 MVC형식으로 서블릿과 JSP를 같이 이용하는 형태로 개발서블릿 코드의 경우
JSP기술이 HTML 화면을 구성하기에 편리하므로 이를 이용해서 Get/Post 방식으로 데이터를 처리하는 코드를 작성이 예제를 다루는 이유는 JSP위주로 개발할 때의 문제점을 살펴보기 위해서 !계산 프로그램을 만드는 예제1.브라우저에서 계산할 숫자를 입력하기 위해 호
웹 애플리케이션을 작성하려면 우선 브라우저와 서버의 관계를 이해해야만 한다.서블릿과 jsp가 어떤과정을 통해서 브라우저에 데이터를 전달하고, 브라우저에서 이를 어떤식으로 사용하는지 알아보기원하는 웹의 주소를 호출할 때 필요한 데이터를 '?'와 '&=,"를 이용해서 같이
FieldLogTrace 에서 발생했던 동시성 문제를 ThreadLocal로 해결해보자!TraceId traceIdHolder 필드를 쓰레드 로컬을 사용하도록 ThreadLocal traceIdHolder로 변경하면된다. 필드 대신에 쓰레드 로컬을 사용해서 데이터를 동
쓰레드 로컬은 해당 쓰레드만 접근할 수 있는 특별한 저장소.쉽게 말해서 물건보관창고를 떠올리자.!여러 사람이 같은 물건 보관창구를 사용하더라도 창구직원은 사용자를 인식해서 사용자별로 확실하게 물건을 구분한다.사용자A, 사용자B 모두 창구 직원을 통해서 물건을 보관하고,
잘 만든 로그추적기를 실제 서비스에 배포했다 가정.테스트할 때는 문제가 없는 것 처럼 보인다. 사실 직전에 만든 Field
앞서 로그추적기를 만들면서 로그를 출력할 때 트랜잭션ID 와 level을 동기화 하는 문제가 있었다.이 문제를 해결하기 위해 TraceId를 파라미터로 넘기도록 구현.이렇게 해서 동기화는 성공했지만, 로그를 출력하는 모든 메서드에 TraceId 파라미터를 추가해야하는
HelloTraceV1 trace : HelloTraceV1을 주입 받는다. 참고로 HelloTraceV1어노테이션을 가지고 있기 때문에 컴포넌트 스캔의 대상이 된다. 따라서 자동으로 스프링 빈으로 등록된다.trace.begin("OrderController.reque
모든 PUBLIC 메서드의 호출과 응답 정보를 로그로 출력애플리케이션의 흐름을 변경하면 안됨 (로그를 남긴다고해서 비즈니스 로직의 동작에 영향을 주면 안됌)메서드 호출에서 걸린 시간정상흐름과 예외 흐름 구분 (예외발생시 예외정보가 남아야함)메서드 호출의 깊이 표현HTT