2023/09 9

Security를 이용한 로그인 처리

p.606~ 새로운 요청이 들어올때 마다 서버측에서 쿠키에 세션ID가 있는지 검사를 한다 요청에 세션ID가 포함되어 있으면, 세션 공간과 맵핑하여 인지 후 프로그램이 진행된다 세션ID가 없거나, 틀리면 서버는 무조건 새로 생성해서 돌려주게 된다. 있더라도 서버공간을 찾아 일이시키지 못 하면 새로 돌려주게 된다. 스프링 시큐리티의 기본 동작 방식: 서블릿의 여러 종류의 필터와 인터셉터를 이용해서 처리 됨 필터 : 스프링과 무관하게 서블릿 자원 인터셉터 : 스프링의 빈으로 관리되면서 스프링의 컨텍스트 내에 속한다 공통사항 : 특정한 서블릿이나 컨트롤러의 접근에 관여한다 Http는 보안에 취약함. fileter를 이용한 처리 -> web.xml 5.0을 지워준다 filter-name이 같아야함 param-na..

AOP / Transaction

AOP: 관점 지향 프로그래밍 Aspect: 추상 명사로 횡단 관심사를 의미 Advice : 횡단 관심사를 구현한 객체 Target : 핵심 로직을 가지고 있는 객체 Proxy: Target 객체 + Advice JointPoint: 메서드 추가 runtime삭제해주고 version 변경해줌 @Component : bean을 만들어줌. component-scan에서 스캔하여 사용함. context에 정보등록 필요 aspect를 구현한 클래스가 advice이고 여러가지 메서드에 포인트컷을 지정하는 advice가 붙을수있고 메서드에 붙는 execution의 형태가 많다. 먼저 실행할 것인지, 나중에 실행할 것인지에 따라 beforeAdvice / AfterAdive로 나눠짐. 기본 비즈니스 로직은 건드리지 ..

댓글의 페이징처리/ 댓글

p.429 rno (인덱스) bno (인덱스X) 댓글 전체 갯수 확인하기 service와 serviceImpl 모두 ReplyPageDTO로 변경해줌 화면처리 showList()안에 showList()가 있음=>재귀 함수 재귀 함수를 사용하는 경우 정상적으로 종료하는 것을 보장해야 한다. 댓글과 댓글 수에 대한 처리 p.480~ alter table tbl_board add(replycnt number default 0); update tbl_board set replycnt = (select count(rno) from tbl_reply where tbl_reply.bno = tbl_board.bno) View에 EL과 JS에 변화 필요. VO가 넘어가는 뷰는 다 영향을 받을 수 있음.

Rest / Ajax 댓글처리

RestController는 data를 돌려줄 수 있다. text데이터인데, 일반형식. (마인타입?) http프로토콜은 객체로 전달 불가. 객체가 문자로 바껴서 전달됨. Json으로 받고싶은경우 XML과 JSON 둘다 지원하는 경우, sample.json으로 요청하면 json방식으로 나옴 getSample로 요청하면 xml방식으로 나옴 아래와같이 procuduer가 생략된 경우 두 가지 다 가능! Key값과 Value값이 붙어 있다 Header에 있는 정보를 다루기 위해서 responseEntity를 이용할 수 있다. 객체를 돌려줄때는 xml이나 json타입으로 문자열화 되어 전달된다 배열, 컬렉션 형태로 돌아갈때는 그에 해당하는 구조로 변환되어 돌아간다 인자가 클라이언트에서 넘어오는 것을 받아 줄 수 ..

검색

get메서드와 modify메서드가 똑같이 get방식이니 modify메서드를 삭제하고 묶어줌 검색 p.325~ 멤버 변수를 추가해준다 trim : 조건식을 접합시켜주는 역할을 함 자바에서 getter함수는 property와 연동됨. item= "searchCondition"과 test="searchCondition"이 일치해야 함 prefix : 앞(접두) / suffix:뒤(접미) OR로 접합하겠다는 의미 '%' : 모든 데이터를 찾겠다는 의미 foreach구문 - 조건식 OR 조건식 OR 조건식 으로 반복 후 (조건식 OR 조건식 OR 조건식 ) AND T와 C의 조건이라는 가정 하에, 결과적으로 아래와 같은 쿼리문이 만들어진다. AND 와 OR 우선순위는 AND이므로 ( )로 묶어주어야 함. pref..