티스토리 뷰

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
728x90
댓글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
최근에 올라온 글
Total
Today
Yesterday
공지사항