희원96
코딩 공부 일기
희원96
전체 방문자
오늘
어제
  • 다이어리 (94)
    • 일상 (2)
      • #.일기 (2)
      • 정보처리기사 (0)
    • 코딩 공부 (90)
      • Python (11)
      • Java (12)
      • DB (18)
      • Arduino (5)
      • HTML,CSS (7)
      • JSP, Servlet (14)
      • Javascript (8)
      • jQuery (2)
      • Spring (1)
      • Android (8)
      • ML (4)
      • React (0)
    • 프로젝트 (1)
      • 미니프로젝트 (1)
      • 1차프로젝트 (0)
      • 2차프로젝트 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 개발 공부 일기

인기 글

태그

  • Servlet
  • 파이썬
  • Python
  • JavaScript
  • CSS
  • 아두이노
  • 스프링
  • 안드로이드
  • 머신러닝
  • 데이터베이스
  • jQuery
  • 자바스크립트
  • Spring
  • JavaFestival
  • arduino
  • Database
  • JS
  • DB
  • 자바
  • 스마트인재개발원
  • Android
  • Ajax
  • JSP
  • HTML
  • ml
  • 제이쿼리
  • java
  • 화이팅

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
희원96

코딩 공부 일기

[Servlet] Request,Respones
코딩 공부/JSP, Servlet

[Servlet] Request,Respones

2022. 4. 28. 12:51

package com.smhrd.servlet;

import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//URL Mapping 
//:실제로 Servlet클래스를 문자열 형태로 경로와 결합해주는 기술

@WebServlet("/exCS")
public class ex00CreatServlet extends HttpServlet {
	
	//데이터를 전송할 때 컴퓨터가 알아볼 수 있게끔 bytecode 변환하는 작업 필요함
	//객체 : bytecode바꾸기가 어려움 - 직렬화(byte배열로 만들어주는 개념)
	//byte배열을 다시 객체로 변환 - 역직렬화
	//어떤 객체를 직렬화할건지 ID로 알려주는 것
	private static final long serialVersionUID = 1L;

	
	//1) 생성자 : 객체 생성
	public ex00CreatServlet() {
		System.out.println("생성자 호출");
	}

	//2) init : servlet임을 알려주는 메소드(servletness)
	//초기값을 성정, 서블릿 객체 생성 후 딱!!! 한 번만 호출!!!!!
	//서블릿 객체를 생성하고 초기화하는 작업 ---> 비용이 많이 필요함!!!!
	//init 한번만 진행함으로써 자원을 절약!!!
	//(다음 요청이 들어올때를 대비해서 객체를 생성하고 메모리에 남겨둠)
	public void init(ServletConfig config) throws ServletException {
		System.out.println("init 호출");
	}

	//3) destroy : 서블릿 종료 식 딱 한번 호출되는 메소드
	public void destroy() {
	     System.out.println("destroy 호출");
	}
	
	//4) service : client(웹 브라우저)의 요청이 들어왔을 때 요청을 처리해주는 메소드
	// 			   java의 main method와 유사하다고 생각해라!!!
	// 요청방식(get,post,put, delete)을 전부 처리해줄 수 있는 메소드
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("service 호출");
		doGet(request, response);
		doPost(request, response);
	}
	
	//5) 요청방식에 따라서 다른 로직으로 제어하고 싶다면 하단의 메소드를 사용하면 된다
	// doGet ---> get방식  / doPost ----> post방식
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("get방식 호출");
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("post방식 호출");
	}

}

 

Request란?

클라이언트의 요청 정보를 서블릿으로 넘겨주기 위한 객체

-요청에 대한 정보를 가진 객체

 

Response란?

서블릿이 클라이언트에 응답을 보내는데 필요한 객체

-응답에 대한 정보를 가진 객체

 

ip 주소 확인 해보기

 

package com.smhrd.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/ex01")
public class ex01ServletTest extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		
		//1.request --> 요청이 들어오면 client의 요청에대한 정보가 담긴 객체
		
		//2.response --> 요청이 들어왔을 때 server에서 응답에 대한 정보를 담을 수 있는 객체
		
		String ip = request.getRemoteAddr();
		// --> 요청한 사용자의 ip주소를 가져오는 방법
		System.out.println("사용자 ip : " +ip);
		
		
	}

}

    '코딩 공부/JSP, Servlet' 카테고리의 다른 글
    • [JSP] 기초
    • [Servlet] 데이터 전송 방식
    • [Servlet] 데이터 전송
    • [JSP/Servlet] 이론
    희원96
    희원96
    개발 공부

    티스토리툴바