tiles를 사용안하면 view를 어떤 view로 보낼지 controler(서블릿)에서 처리해야됨.
-> view에 따라 controler가 바뀜
하지만 tiles를 쓰면 controler에서는 view에 대한것 고려안해도 됨
=> 결합력 낮아짐
응집력은 높이고 결합력은 낮춰라
결합력 높으면 코드 바뀌었을때 의존하고 있는 것까지 다 바꿔줘야됨
servlet-> service한테 데이터 필요하다고 말함 -> service는 dao한테 데이터 가져오라고 함.
이때 데이터 왔다갔다할때 -> VO
요청->응답 나가는 동안 객체가 여러개가 있음. 이 객체 하나하나를 layer라고 부른다.
layer 순서로 돌아서 나가는 것을 layered 아키텍쳐
요청-응답 동작하기 위해서 최소 3tier 이상, 5 layer가 필요하다.
layer 이름
역할
프레임웤은 객체 하나하나에 대해 지원한다.
tiles는 presentation framework. presentation layer를 지원한다.
ibatis는 persistence framework.
spring - controler framework.
하지만 B.L을 단독지원하는 프레임웤은 존재하지 않는다.
ibatis
DB의 객체 표현 : entity, entity사이의 relation
JAVA : Object
둘이 표현방식 다름
-> dao에서 쿼리문 써서 db에서 가져오면 결과집합으로 돌아옴. dao에서 결과집합 받아서 domain layer(VO) 자바 객체로 변경
이 과정을 ibaits가 해주고 있어서 dao코드가 간결했던 것.
.tiles앞에 들어가는게 데피니션네임.
* 와일드카드 : 뒤에 /없다.
->** : 중간에 /가 몇단계가 와도 상관없다.
**만 하면 모든 거 다 잡아서 가상의 뎁스구조 model1 붙여준것. .tiles 안쓰는 경우도 있으니까..?
jquery 함수
ajax - 바로 쓸 수 있었음
html - 셀렉팅한 다음에 써야됬음
-> 엘리먼트에 종속되는 함수, 엘리먼트가 전혀 필요없는 함수로 나뉜다.
브라우저 활용하기(콘솔에 쓸 수 있는거 다 나옴)
만든 sessionTimer 라이브러리로 만들고 싶음
문제
1. jsp아니라서 표현식 못씀
2. 하드코딩 했던거 - 특정 jsp에서밖에 못씀
msgBtn은 일반배열 -> jquery 함수 on 쓸 수 없다.
jquery객체로 만들어줌
이벤트 발생 안해서 디센던트 구조로 바꿈
동적으로 만들어지는 엘리먼트는 이벤트 바인딩하지 마라. 대신 디센던트 구조!!
서버상의 내 세션에도 마지막 접근 시간도 바뀌어야됨 - 새로운 요청 발생시켜야됨
=>비동기로 해야
파라미터 순서 바뀐다면? 알 수 있는 방법 없음
파라미터의 식별자 - 객체로 넣어주면됨
promise - then, catch
ajax - done=then과 같음
톰캣에서 지원안되는지 전에
header method
콜백메서드가 먼저 있었어야됨
doget처럼.
부트스트랩 사이트. getbootstrap.com
셀렉팅 하려면 엘리먼트가 먼저 있어야 되서 스크립트를 밑에다 놓은 것. 위에다 놓기 위해서는 $(document).ready펑션 썻던것. body가 다 읽어지고 실행해라
jquery가 먼저 동작하고 부트스트랩이 가져와져야됨 - 페이지 모듈화해서 다른jsp에서 jquery써야되니까
CDN방식. url써줘서 네트워크로 가져오는 것
하지만 jquery먼저 하려면 먼데서 가져오는 것보다 다운받아서 바로 가져오는게 빠름. 그래서 jquery사이트에서 다운받아서 넣음.
다른 플러그인이랑 연동해서 쓰려면 부트스트랩 5점대는 쓰지 말고 가능하면 4점대 쓸것
반응형 css이용하기 위한것
멀티 클래스