TIL(20180806)
by choising
20180806
Today I Learned
CSS
☺
// 웹 화면에는 웃음 표시가 표현되는 코드.- 실행결과 : ☺
-
display : block, lnline …
- pisition : static, absolute, relative, float, fixed …
- absolute 는 default 값인 static을 기준점으로 인식하지 않음.
- float : left, right ..
- 다른 포지션들과 달리 3차원으로 봤을 때, 화면에서 붕 떠있다고 생각하면 편함.
- box size
- default는
box-sizing : content-box
- content-box를
border-box
로 변경 가능. - padding 값을 증가시켰을 때 border-box의 경우 엘리멘트의 크기를 최대한 유지하고자 함.
- content-box의 경우 엘리멘트안의 콘텐츠 크기를 유지하고자 하는 것 같았음.
- default는
-
display : block, inline …
- clear : left, both..
- footer 엘리멘트가 떠있는 float를 인지하지 못하고 상단으로 올라왔을 때, 해당 속성값 추가 시 float를 인식.
- overflow : auto, hidden, float ..
- 비슷하게, html구조에서 하위 항목이 float인 경우 자식으로 인지하지 않는다.
- overflow 속성으로 자식 인식 가능
- 상속관련하여 box모델 (margin, padding .. )은 상속되지 않고, style(color, font .. ) 은 상속된다.
Servlet
- 자바 웹 어플리케이션.
- WAS에서 deploy 되어 동작하는 어플리케이션.
- HTML, CSS, class, Servlet, JSP 등이 포함.
- WAS에 의해서 동작한다.
- WEB-INF 폴더 하위.
- lib : jar 파일들.
- classes : class, java패키지.
- web.xml
- 웹 어플리케이션의 정보를 다 가지고 있다.
- servlet 3.0 이상에서는 어노테이션을 사용해 그 역할을 대신 가능.
- 하지만, spring에서는 web.xml을 사용.
- 하지만, spring에서는 web.xml을 사용.
- Sevlet 이란?
- 자바 웹 어플리케이션의 구성 요소 중 동적인 처리를 하는 프로그램의 역할.
- WAS에서 동작하는 java class.
HttpServlet
Class 를상속
받는다.-
JSP / Servlet을 조화롭게 사용하면 최상의 결과를 얻을 수 있다.
- 작성 방법.
- 3.0 이상 : java annotation 사용.
- 3.0 미만 : web.xml 사용.
- Servlet의 Lifecycle
Servlet 객체를 여러개 생성하지 않는다.- servlet 객체는 기본적으로 하나이고 멀티쓰레드 방식으로 동작한다고 알고 있긴 한데, 옵셔널하게 여러개를 생성하는 경우도 있을것만 같다.
출처
- servlet의 메소드는 init , service , (destory) 순으로 호출
- WAS는 서블릿 요청을 받으면(해당 url로 접근 시) 해당 서블릿이 메모리에 있는지 확인.
- if(메모리에 없음) {
해당 서블릿 클래스를 메모리에 올림(생성자 실행)
init()
메소드를 실행 }service()
메소드를 실행 // 요청의 응답은 이부분에 구현
-
WAS가 종료되거나, 웹 어플리케이션이 새롭게 갱신될 때
destory()
호출 - service()를 오버라이드 하지 않았으면, 부모(HttpServlet) 의 service()메소드를 수행.
- HttpServlet 의 service()메소드의 구성
템플릿 메소드
로 구현- 템플릿 메소드란, 알고리즘의 단계, 틀(구조, 템플릿)을 정의.
- 일부 단계는 추상메소드로 서브클래스에서 구현하도록 설계.
- 코드 재사용에 큰 도움.
- 클라이언트의 요청에 따라 doGet, doPost.. 메소드를 호출
- HttpServlet 의 service()메소드의 구성
-
<from>
submit 버튼을 눌렀을 때, method와 action의 경로를 요청. - WAS는 웹 브라우저로부터 Servlet 요청을 받으면, 요청 정보를
HttpServletRequest 객체 생성
하여 저장 - 웹 브라우저에게 응답을 보낼 때 사용하기 위해
HttpServletResponse 객체
생성 -
생성된 HttpServletRequest, HttpServletResponse 객체를 서블릿에게 전달
- HttpServletRequest
- HTTP프로토콜의
request 정보를 서블릿에게 전달
하기 위한 목적. - 헤더정보, 파라미터, 쿠키, URI, URL 등의 정보를 읽어 들이는 메소드를 가지고 있다.
- Body의 Stream을 읽어 들이는 메소드를 가지고 있다.
- HTTP프로토콜의
- HttpServletResponse
WAS가 해당 클라이언트에게 응답을 보내기 위한 목적
으로 객체 생성.- 서블릿을 해당 객체를 이용하여 content type, 응답코드, 응답메시지 등을 전송.
- HttpServletRequest 객체 헤더정보, 파라미터
- 파라미터 정보 입력 시작은 URL에
?
로 시작한다. &
활용하여 복수개의 파라미터 전달이 가능하다.- ex) http://localhost:8080/firstweb/param?name=choi&age=5
- 파라미터 정보 입력 시작은 URL에
TO-DO
- 코딩야학 4기 수료 (~ 08/14)
- JSTL & EL 개념 학습, MySQL 환경 구축, SQL 기초 학습 (~ 08/07)
-
Local에 Layout을 가진 매우 간단한 자바 웹 어플리케이션 구현.
-
부스트코스 Full-Stack Web Developer 이수 (~ 09/30)
- 온라인 (git, html/css, js, java) 강의 듣기.
Subscribe via RSS