12.09

0

jsp

목록 보기
7/39

tiles를 사용안하면 view를 어떤 view로 보낼지 controler(서블릿)에서 처리해야됨.
-> view에 따라 controler가 바뀜
하지만 tiles를 쓰면 controler에서는 view에 대한것 고려안해도 됨
=> 결합력 낮아짐
응집력은 높이고 결합력은 낮춰라
결합력 높으면 코드 바뀌었을때 의존하고 있는 것까지 다 바꿔줘야됨

MVC layer

servlet-> service한테 데이터 필요하다고 말함 -> service는 dao한테 데이터 가져오라고 함.
이때 데이터 왔다갔다할때 -> VO

요청->응답 나가는 동안 객체가 여러개가 있음. 이 객체 하나하나를 layer라고 부른다.
layer 순서로 돌아서 나가는 것을 layered 아키텍쳐
요청-응답 동작하기 위해서 최소 3tier 이상, 5 layer가 필요하다.

layer 이름

  • servlet : controler layer
  • jsp : view layer, present layer
  • service : business logic layer
  • DAO : persistence layer - 변하지 않는 영구적인 데이터(DB의 데이터)에 접근한다.
  • VO : domain layer

역할

  • servlet : 요청을 받고 분석, contents를 service에게 요청하고 받은 information을 JSP에 보낸다.
  • JSP : 보여지는 ui 담당
  • service : row 데이터 가공. 가공된 데이터는 information. 데이터를 가공하려면 로직이 필요하다. 원래는 여기서 로직처리했어야 됬는데 중프때는 서블릿에 다 때려넣음 - 단일책임의 원칙 지키지 못한것
  • DAO : DB에서 row데이터를 가져온다.
  • VO : 하나의 데이터나 유저에 대한 정보, 속성을 가지고 있다. 각각의 layer로 이동할때 데이터 흘리면 안됨 - VO에 담아서 전달.

프레임웤은 객체 하나하나에 대해 지원한다.
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이용하기 위한것

멀티 클래스

0개의 댓글