[이론]
네트워크(network) : 유무선으로 연결된 디바이스들의 집합
네트워킹(networking) : 네트워크에 있는 디바이스들이 데이터 교환
Protocol : Packet의 Header(8byte)에 들어가는 약속, 규약
IP : 인터넷 프로토콜 => 송신자 주소(4byte) + 수신자 주소(4byte) = 8byte
TCP : 전송을 제어하는 프로토콜
internet : 네트워크의 결합 (inter + network)
즉, 전 세계 컴퓨터들을 하나로 연결하는 거대한 컴퓨터 통신망
Internet : 네트워크(망)에는 전화통신망, 이동통신망 등 중 하나
* 투명하다 : 서로 다른 계층이 무엇을 하든지 알지 않아도 됨
* Hyper Text Transfer Protocol (HTTP)
( 서로 연결된 )
* GET / POST / PUT / DELETE 전송 방식
1 . GET : READ (서버에서 자원을 가져와서 읽겠다.)
==> GET 요청에는 BODY가 비워져있다.
2. POST : CREATE (서버에서 자원을 받아서 만들겠다. (ex. 회원가입시 ))
==> POST 요청에는 BODY가 채워져있다.
3. PUT : UPDATE (서버에 자원을 받아서 수정할때 사용)
==> PUT 요청에는 수정할 데이터가 필요함으로 BODY가 채워져있다.
4. DELETE : DELETE (서버에서 자원을 삭제할때 사용)
==> DELETE 요청에는 삭제할 데이터가 필요함으로 BODY가 채워져있다.
위의 4가지를 모두 사용하는 것이 Restful API 이다.
* new BufferedReader(new InputStreamReader(new File("파일명")));
byte | byte | byte ==> char | char | char ==> String
(inputStreamReader) (BufferedReader)
*상대경로와 절대경로
절대경로 : / 로 시작 ==> Pull Path(전체 경로)를 써줘야함
ex. <img src='/helloweb/images/nature.jpg' style="width:500px; height:500px;"/>
상대경로 : 로 시작 ==> 앞에 아무것도 없음
ex. <img src='images/nature.jpg' style="width:500px; height:500px;"/>
tag.jsp 를 기준으로(webapp) 시작해서 이미지의 경로를 지정해준다.
표현식(값)
ex.
10
i
i+10
v.getValue()
<%=표현식 %>
ex.
<%=10 %>
<%=i %>
<%=i+10 %>
<%=v.getValue() %>
*POST 방식으로 넘어오는 데이터의 엔코딩
request.setCharacterEncoding("utf-8");
* form에 쓰이는 input 태그 속성
<form action="/helloweb/join" method="POST">
이메일: <input type="text" name="email" value=""/>
<br><br>
비밀번호: <input type="password" name="password" value=""/>
<br><br>
생년:
<select name="birthYear">
<option value="1994">1994</option>
<option value="1995">1995</option>
<option value="1996">1996</option>
</select>
<br><br>
성별:
<input type="radio" name="gender" value="female">여자
<input type="radio" name="gender" value="male">남자
<br><br>
취미:
<input type="checkbox" name="hobbies" value="coding">코딩
<input type="checkbox" name="hobbies" value="swimming">수영
<input type="checkbox" name="hobbies" value="fishing">낚시
<input type="checkbox" name="hobbies" value="cooking">요리
<br><br>
자기소개:
<textarea name="desc">
</textarea>
<input type="submit" value="회원가입" />
</form>
form 태그로 데이터를 보냈을때 서블릿에서는 requst.getParameter("name값"); 으로 받는다
ex. String email = request.getParameter("email");
예외!!
checkbox의 경우는 넘어오는 데이터가 다수일 수 있기때문에 배열로 받는다.
ex. String[] hobbies = request.getParameterValues("hobbies");