클라이언트 (client) 서버 (server)
------------------ -------------------------------
웹브라우저 웹컴포넌트 (html, jsp, servlet)
html : 정적 컴포넌트, *.html 파일
jsp : 동적 컴포넌트 (실행됨), *.jsp 파일
servlet : 동적 컴포넌트 (실행됨), *.java 파일
1) 요청 서버 (웹서버 : Apache, IIs, ngnix)
웹브라우저 ------------------> test.html 2) 요청한 html 검색 (없으면 404 에러 발생)
<------------------
3) test.html 다운
4) test.html 렌더링함
1) 요청 서버 (웹서버 기능을 포함한 컨테이너 : Tomcat)
웹브라우저 ------------------> test.html 2) 요청한 jsp 검색 (없으면 404 에러 발생)
<------------------ 3) 있으면 test_jsp.java 생성
6) html 응답 4) 컴파일 후 test_jsp.class 생성
7) html 렌더링함 5) 실행 (JVM)
==> 실행 결과는 html로 만들어짐
1) 요청 서버 (웹서버 기능을 포함한 컨테이너 : Tomcat)
웹브라우저 ------------------> TestServlet.java 2) 요청한 java 검색 (없으면 404 에러 발생)
<------------------ 3) 컴파일 class 생성
5) html 응답 4) 실행
6) html 렌더링함 ==> 실행 결과는 html로 만들어짐
요청 URL : http://서버IP:port번호/타겟
http://210.100.100.3:8080/test.html
클라이언트 -------------------> 서버쪽 PC 210.100.100.3
--------------------------
Apache 웹서버 (80)
tomcat 컨테이너 (8080)
- html, jsp, servlet
MySQL (3306)
Oracle (1521)
1) node 설정
http://nodejs.org 다운 받고 설치
cmd 창에서 node -v 입력하고 버전 확인
2) VSC 설정
https://code.visualstudio.com/ 다운 받고 설치
vsc 확장팩 설치 (live server)
http://caniuse.com
https://coding-levup.tistory.com/5#google_vignette
hyper text markup language의 약자로서 웹페이지 작성을 위한 언어
hyper text : 링크를 의미
markup language : 정보표시용 태그(<>)를 의미
cf) xml (eXtensible Markup Language)
태그명을 임의로 지정 가능
추가로 특정 태그로 사용함을 규칙으로 정할수도 있음
규칙은 2가지 방식 이용 가능 ( .dtd , .xsd )
용도 : 데이터 저장
특징 : 플랫폼 (OS, 프로그램 언어)에 독립적
<p>hello</p>
<p class="x" id="y">hello</p>
(<!DOCTYPE html>)
<!DOCTYPE html>
<html>
<head>
</head>
<body>
</body>
</html>
계층 구조가 생김 : DOM (Document Object Model) 트리
html (루트태그 root tag)
|
head body
| |
title link script p h1 span
-> html이 파일을 다운 받아서 웹브라우저가 브라우저 메모리에 DOM 트리를 생성한 후 렌더링 한다
이후 css 또는 js를 이용해서 DOM에 접근하여 스타일 및 DOM 처리 (삭제, 수정, 추가)를 할 수 있다 ★
<!-- 주석이지롱 -->
: title, style, link, script 태그
가. 인라인 css 스타일
<p style="color:blueviolet">Hello1-인라인스타일</p>
나. 내부 css 스타일
<style>
#xxx {
color: blue;
}
</style>
다. 외부 css 스타일
*.css 외부 파일을 생성하고 html에서 불러다 사용한다
<link rel="stylesheet" href="external.css">
가. 내부
<script>
js코드 구현
</script>
나. 외부
외부파일인 *.js 만들고 html에서 불러다가 사용
<script src="*.js"></script> 사용
: header, p, br, hr, a, table, 리스트 등
<h1> : 32px, 16* 2rem(2em)
<h2> : 24px, 16 * 1.5rem(2m)
<h6> : 10.72px, 16*0.67rem(em)
cf) 블럭 레벨 vs 인라인 레벨
(권장x. CSS로 처리하는 것을 권장)
- <b>hello</b> : 굵은 글자
- <i>hello</i> : 이탤릭체 글자
- <small>hello</small> : 작은글자
- <del>hello</del> : 취소선글자
- <ins>hello</ins> : 밑줄글자
- <sub>hello</sub> : 아래글자
- <sup>hello</sup> : 위글자
페이지간 링크 (연결) 시 사용됨
인라인 레벨
기본적으로 방문 전 (blue), 방문 후 (purple), 활성화 (red, 누르고 있을 때) 링크 색상이 달라진다. css로 변경 가능
종류 2가지
가. 내부링크
<a href="#java">java로 바로가기</a>
<a id="java">여기서부터 JAVA</a>
<a href="타겟">링크</a>
<a href="http://www.google.com">구글</a>
<a href="login.html">로그인페이지</a>
<a href="http://www.google.com" target="_blank">구글</a>
<table> : 시작
<tr> : 행태그
<td> : 열태그의 값
<th> : 열태그의 헤더값
<table>
<tr>
<th>이름</th>
<th>나이</th>
</tr>
<tr>
<td>홍길동</td>
<td>20</td>
</tr>
<tr>
<td>이순신</td>
<td>30</td>
</tr>
</table>
<thead>
<tbody>
<tfoot>
<table border="1">
<tr>
<th>이름</th>
<th colspan="2">전화번호</th>
</tr>
<tr>
<td>홍길동</td>
<td>010</td>
<td>011</td>
</tr>
</table>
ctrl + shift + f : 자동 정렬
가. 순서 없는 리스트 (unordered list)
<ul>
<li>A</li>
<li>B</li>
</ul>
나. 순서 있는 리스트 (ordered list)
<ol>
<li>A</li>
<li>B</li>
</ol>