JSP 24. log4j & slf4j & mybatis prodList

zhyun·2020년 12월 22일
0

JspSpring

목록 보기
29/39

웹이란느 공간에서 클라이언트 서버시스템
1. 3tier
2. 모델2구조
3. MVC
4. 아키텍쳐레이어
5. 각 레이어에 필요한 프레임워크

데이터를 담고 영역 제한 - 도메인레이어
도메인레이어를 이용해서 자바객체로 만듦

테이블조인
vo와 vo를 하나로 안치고
has a, has many 관계
collection, association 사용해서 자동 바인딩


2020.12.22 화요일

mybatis를 적용하니 쿼리문이 자바단에 없어서
디버깅을 할 수가 없다
1.로깅프레임워크 적용
Facade패턴
리모컨 역할을 하는 로깅프레임워크

member insert, update 컨트롤러 봐보면
맨 마지막 부분에 검증을 한다 (validate 체크)

모든레이어에서 검증하는게 맞는데
중복코드가 발생할 수 밖에 없다
검증하는 데이터는 vo(도메인 레이어)를 통해서 받는다
각레이어에서 공통적으로 사용하고 있는 vo에 검증하는 소스를 넣으면 중복코드를 없앨 수 있다

2. 벨리데이션 프레임워크 적용
이건 내일 12월 23일에 적용


log4j1

  • 설정파일 : properties

Apache Log4j2

Apache Log4j2 사이트

  • 설정파일 : xml

그룹아이디랑 아키텍쳐아이디
다 자르파일을 찾아가는 경로다

Facade로 로깅 사용시

  • 로깅을 찍는 프레임워크 (빔프로젝트)
    • log4j-api, log4j-core
  • 로깅 명령을 내리는 프레임워크 (리모콘)

groupid : org/slf4j
artifact id : jcl-over-slf4j
version : 1.7.9

log4j -- slf4j 바인딩

log4j -- slf4j 바인딩 사이트


commons-logging 이리모콘을 뺄껀데 캡처를 같이 못했지만 사진은 오른쪽 부분이고 왼쪽 부분에 이미 쓰고 있는 애들이 있었다. BeanUtils.. 일단 exclude하고 jcl-over-slf4j로 덮어줘야 BeanUtils랑 dbcp에서 ClassNotFoundException 안뜬다

Configuration

Log4j 사이트 configuration

xml 만들고
이거 복사하고 서버 스타트 콘솔에 로그가 찍힌다 근데 이렇게 많이 찍히면 안되니까.. 이걸 해결하기 위한 작업 시작

로그메세지를 어딘가에 기록을 하려면
1. 어떤걸 로그로 찍을건지가 필요
2. 그 로그메시지를 어떻게 찍을건지 형식이 필요

appender : where

appender 해당 사이트
로그 메세지를 어디에 찍을건지 필요

message : what

어떤 로그메시지를 찍을 건지

layout : how

layout 해당 사이트
로그 메세지를 어떻게 찍을건지 형식이 필요

logger : who

전달자 : 로거가 로깅메시지를 로깅프레임워크에 전달한다
클래스의 퀄리파이드네임을 사용한다
memberlist.java
인터페이스 - 퍼사드

level

level : logging event 등급 => 제일 낮은 등급부터 DEBUG -> info -> warn -> error -> fatal
level을 error부터 낮은단계로 바꿔가면서 서버리스타트하면
콘솔에 찍힌게 다르다 debug가 제일 낮은 단계 먼가가 제일 많이 찍힌다

콘솔에 두번찍히는거 방지

주석처리하고 다시 찍으면 한번만 찍히는데 루트가 갖고 있는 어펜더를 상속받고 로거 어펜더까지 한번 더 있어서 두번 찍힌거다
주석 풀고 저부분을 붙이니까 콘솔에 중복없이 찍힌다

http://logging.apache.org/log4j/2.x/manual/layouts.html


log4j jdbc 사이트
프록시 서버
클라이언트 <-> 서버 중간에 프록시 서버가 있다
서버로 다이렉트 요청을 넘기는게 아니라 프록시 서버에 전달한다
서버에서 응답데이터도 클라이언트에게 다이렉을 전달 안하고 프록시를 통해 전달한다
마치 진짜 서버처럼 대리한다

사이트 들어가서 인스톨레이션 부분 가서 디펜던시 복사??하다가 멈춤 복사한다
xx를 4로 바꿔줬다


로거 추가


퀄러파이드 네임 복사해서
수정
(로거중에 kr.or.ddit아래에 있는것들 level을 info로 바꾸면 mybatis부분은 콘솔에 안찍힌다)노란색 부분 추가하고 서버 돌리고 회원관리 페이지 열고 콘솔보면
이러캐 찍힌다

회원가입 끝났으니까
상품관리
마이바티스 페이징처리방식 검색방식


어싱크폼 대신에
http://malsup.com/jquery/form/
이사이트에 있음 ajaxForm

  1. 회원 리스트 조회 동기 -> 비동기방식으로 변경
    이걸 라이브러리화 시키는 것
  2. funtion으로 만들어서 select 태그로 만드는것
  3. 다이어그램 2장 앞뒤로 한번씩 해석해보기
    1) 시퀀스 다이어그램
    2) 클래스 다이어그램
    이 다이어그램을 해석할 줄 알아야한다

http://malsup.com/jquery/form/#options-object
http://logging.apache.org/log4j/2.x/manual/layouts.html
https://log4jdbc.brunorozendo.com/

profile
HI :)

0개의 댓글