티스토리 뷰
1. 프로토콜
- 프로토콜이란 컴퓨터간 원활한 통신을 위해서 필요한 통신규약을 의미한다.
- 즉 통신을 원하는 두 개체간 무엇을, 어떻게, 언제 통신할지를 서로 약속한 규약이다.
- 프로토콜의 종류 :
- 1 ) Telnet 프로토콜
- : 원격으로 호스트의 명령어 모드를 그대로 흉내낼 수 있다.
- 2 ) FTP 프로토콜
- : 파일 전송만을 위한 프로토콜
- 3 ) SMTP 프로토콜
- : 단순한 메일 전송 프로토콜
- 4 ) POP 프로토콜
- : 메일의 수신을 위한 프로토콜
- 5 ) DHCP 프로토콜
- : 서버가 동적으로 클라이언트나 터미널에게 IP를 부여하는 프로토콜
- : 일반적으로 각 가정에서 인터넷 서비스를 사용할 때 주로 사용
- 6 ) HTTP 프로토콜
- : 서버로부터 클라이언트로 데이터를 전송 하기 위한 프로토콜
- : 비지속성(Connectionless) 연결방식으로 동작한다는 점
- : 클라이언트가 서버로 요청을 하고 응답을 받으면 연결을 유지하지 않고 즉시 연결을 끊는 방식으로, 특정 시간에 동시 접속자가 증가하더라도 서비스가 가능하다.
2. HTTP ( Hyper Text Transfer Protocol )
- 웹 상에서 정보를 주고받을 수 있는 프로토콜로서, 주로 HTML 문서를 주고받는데 사용되며 보통 80포트 번호를 사용한다.
[ 1. Servlet 생성 - doGet / doPost ]
package org.zerock.myapp;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import lombok.NoArgsConstructor;
import lombok.extern.log4j.Log4j2;
@NoArgsConstructor // 기본 생성자 Constructor
@Log4j2
// @WebServlet는 Servlet을 자동으로 web.xml파일에 등록시켜 준다. ( 작성되지는 않는다. )
//@WebServlet("/Hello") // http://localhost:8080/Hello일때 실행
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
//========================================================
// 1. GET 방식
// request는 요청 받는 것, response는 응답을 보내는 것
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
log.trace("doGet({}, {}) invoked.", req, res);
PrintWriter out = res.getWriter();
out.println("<h1>World!!!</h1>");
// WAS는 이처럼 동적으로 태그를 넣어서 문서를 만들 수 있다.
out.flush();
out.close();
} // doGet : Get방식으로 가지고 올때 ( POST방식이면 응답을 보내지 않는다. )
// + URL로 넣는 모든 요청은 GET방식으로 이루어진다.
//========================================================
// 2. POST 방식
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
log.trace("doPost(req, res) invoked.");
this.doGet(req, res);
} // doPost : Post방식으로 가지고 올때 ( Get방식이면 응답을 보내지 않는다. )
//========================================================
} // end class
[ 2. Servlet 생성 - Service ] (***)
package org.zerock.myapp;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import lombok.NoArgsConstructor;
import lombok.extern.log4j.Log4j2;
@NoArgsConstructor
@Log4j2
@WebServlet(name = "Hello2", urlPatterns = { "/hello2" })
public class Hello2Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
log.trace("service(req, res) invoked.");
PrintWriter out = res.getWriter();
out.println("<h1>World!!!</h1>");
// WAS는 이처럼 동적으로 태그를 넣어서 문서를 만들 수 있다.
out.flush();
out.close();
} // service
// + service는 GET과 POST방식 모두 요청을 받을 수 있다.(***)
} // end class
'KH 정보교육원 [ Java ]' 카테고리의 다른 글
KH 86일차 - Servlet 3 ( 파라미터 값 가지고 오기,초기화 파라미터 ) (***) (0) | 2022.06.30 |
---|---|
KH 85일차 - Servlet 2 (****) (0) | 2022.06.29 |
KH 83일차 - Driver SPY / junit (0) | 2022.06.27 |
KH 82일차 - WAS (0) | 2022.06.24 |
KH 81일차 - JDBC 2 (*****) (0) | 2022.06.23 |