adminlte 설치
새 다이나믹 프로젝트 (bootstrap) 만들기
@ 커맨드 패턴 만들떄 .do 를 쓰는 이유?
커맨드 패턴의 골자, 아키텍쳐의 시작이 원서블릿.. 프론트서블릿임 거기서 문제가 생기는데
사용자 요청이 오면 원서블릿(프론트서블릿)으로 받음 이놈이 아주 중요한 녀석임 디스패쳐(총괄)의 기능이 들어가있음
어플리케이션의 시작이 여기서부터임. 일단 ㅜ멀 할라믄 여기로 와야함 (필터로 거르는거 뺴고)
이 프론트서블릿은 모든 유알엘을 받기위해서 유알엘을 /로 바뀜
(여기서 /는 localhost/oooexam/ << 이 /임
원래 was 가 행하고있던 기본 / 보다 내가 만든 서블릿의 우선순위가 더 높다
특수할수록 영역이 작을수록 가까울수록 우선순위가 높다
톰캣은 디폴트 서블릿에도 / 서블릿이 있지만 해당 유알엘에 내가 만든걸 먼저 적용해준다.
프론트서블릿이 요청을 받으면 해당 매퍼에게 건내서 해당 유알엘에 어떤 액션을 취해야 하는지 듣고 액션에대한 팩토리에 보내고 (매퍼역할을 팩토리가 대신할수도있음) 팩토리가 액션 인터페이스에 액션을 만들어내는데 여기서 멤버리스트 쏴주면 됨 (예시임)
또 프론트서블릿이 뷰 리솔버에게 보내서 화면전환시킴
모든 요청을 프론트 서블릿이 받는다는데에서 문제가생김
/ ㅇㅇㅇㅇ . js
/ o o o . css
/ o o o o. jpg ..... << 화면표시위한 유틸리티들이지 사용자가 요청하는 기능이 아님
이런것들 다 프론트 서블릿이 받으니까
그래서 사용자가 요청한 유알엘만 받아챙기도록 프론트서블릿의 기능을 제한시킴
리소스 자원에 대한것들은 뺴고 사용자의 요청에 관한것만 프론트 서블릿이 하고, 기능의 url에 대해선,ㄴ
.do 로 하기로 하자고 정한거임
즉 프론트 서블릿은 기능 에 대한 요청인 .do 만 하도록
.do 아니어도됨. .html이어도 ok 골자는 사용자의 요청에 대한것만 프론트서블릿이 하고나머진ㄴ was의 기본서블릿이 하는걸로
그럼 커맨드패턴은 왜씀??
서블릿은 두겟두포스트 하지만 커맨드는 구분하지않고 1개임 대신 액션이 2개가 들어감(겟포스트따로)
유알엘도 메소드로 구분할수없어진다
즉 경제적으로는 더 좋지않음
내가만든 서블릿 같은 유알엘로 extends 가능?
extends하는 순간 유알엘이 같아지기떄문에 서블릿은 확장이 불가... 한번만들면 땡
더이상 그 클래스에 대해 수정변경이 불가
유알엘은 기능단위로 짜진거라 맘대로 바꾸면 안됨
그래서 서블릿 두고 액셔너?로 할거임
그니까 커맨드패턴은 서블릿에서 리퀘, 리스펀스 그대로 쓰되 그 구현부를 재정의하기가 쉽기않기때문에
그러기가 쉬운 액션을 상속받아 재정의 하려고 한다.
부모꺼 상속받아도 자식의 메서드 우선적으로 실시하므로 같으 유알엘에 대해서 다른일 더 할수있으니까
>> 유지보수가 좋다
서블랫에서 메서드 구현부를 따로 떼어내서 만들겠따는 말임.. 메서드 구현부가 자주 바뀔수있는데.... extends 하고싶은데 그게 안되니까
유알엘에 서블릿을 매핑시키면 이걸 변경하기가 굉장히 힘들어짐 그래서 유알엘ㅇ에 서블릿이 아닌, 메서드를 매핑하기위한 노력인 거임
하나의 유알엘을 서블릿에 매핑시키는게 아니라
유알엘을 메소드에 매핑
리소스를 요청하는 유알엘과 사용자으 ㅣ요청이 담긴 유알엘을 구분하자 > 그래서 .do
url > servlet
url > method (커맨드패턴)
하나의 유알엘은 기능으로 만들어져잇기때문에 하나의 메소드로 봐야하는거 아닌가? 의 답이 커맨드패턴인거임
부트스트랩은 js 라이브러리 이용해서? 만든거임
마크업 구조를 맞춰줘야함
모니터마다 크기가 다른데 어덯게??
1100 정도 기준으로 body 안에 div에 wrap을 1100을 씌워서 고정
div class="wrapper" <<전체너비잡아주는넘
여기에 맞춰서 만들어야함
너비를 1px 로 해서자름 그담에 좌우로 repeat을 시킴
우리가 css 시 가장먼저 생각해야하는 거
1. 크기 size
2. 위치 position
모양새 shape
컬러 color
질감 texture
pages에 페이지들을따로 html을 모아둔거임
Q. 왜 css - js 순서??
style 은 선언적 이므로 js앞에 둔다
js는 있는거가지고 노는거기때문에
마크업은 스크립트임. 다시말해 브라우저가 위에서부터 실행함. 근데 용량큰 js를 위에다가 두면 그거읽을동안 다른거못하니까 페이지 응답속도가 떨어짐
이제 화면을 만들어보자
페이지 이동시에 헤더푸터 고정인건 어케?
include로 하면 화면 계속 깜박거림
아이프레임은 브라우저 안의 브라우저
자바스크립트로 할거니까 누를떄마다 깜박일 일이없음
저 세개 파일 복붙하고 index.html 만들자
톰캣이 주는 url 은 / = contextpath
즉 localhost/oooexam/다음부터임
근데 브라우저는 도메인 뒤부터 시작함
이클립스 상에서 배포시 프로젝트 이름으로 배폰한다
이렇게 하면 was(톰캣)의url에 대한절대경로와 브라우저가 해석하는 절대경로가
ㅈ렇게 /로 바꿔주면 같아진다.
Q . 콘솔의 정지버튼과 서버의 정지버튼의 차이 : 서버끄라면 서버의 정지버튼 ㄴ눌러야함 콘솔의 정지버튼은 냅다 종료버튼눌러버리는거
그럼 main.html 만듦면 되겠음
메인 복붙해서 ,form 만들어서 content wrapper 뺴고 다 지우는거임
메인은 반대로 content wrapper 지움
Main.html
Home.html
*속성이 없는것같은데 막 적어도되나? json형태를 생각해보자.. 그냥 키:밸류 형태로 기록하는거임
태그를 element형태의 json형태로 보겠따는거임
해당 태그는 json으로 바뀌고 그 안의 속성들은 키:밸류로
즉 json형태로 바뀐다는건 그 안에서는 어떠한 속성이든 가능한다는 얘기임
이벤트와 핸들러
이벤트를 다는 방법에는 몇가지?
1. ㅇㅇㅇ.이벤트
=>선택자로 element잡고 . 이벤트
2. 임베디드형태
3.
진짜로하고싶은건
menu 를 매개변수로 주고 받자
main 복붙