Servlet

최현주·2023년 11월 5일
0

Web의 개요

  • IT(Information Technology) 데이터의 관리와 처리에 대한 응용 기술
  • WWW(World Wide Web) 인터넷으로 연결된 사용자들이 정보를 공유하는 공간
  • 네트워크(Network) 컴퓨터와 컴퓨터를 연결해주는 망
  • 프로토콜(Protocol) 컴퓨터간의 데이터 통신을 위한 통신규약
  • IP주소(IP Adress) 컴퓨터가 통신하기 위한 고유한 주소
    내 IP주소 확인하는 방법
    명령 프롬프트(cmd)ㅡ>ipconfigㅡ>IPv4
  • 포트번호(Port) 네트워크 서비스나 특정 프로세스 식별하는 논리단위
    광주 동구 예술길 31-15(IP주소) 3층 스마트인재개발원 B강의장(포트번호)
    223.130.200.104(IP 주소):80(포트번호)
  • 도메인(Domain) 컴퓨터의 주소를 문자로 만든 주소, 네트워크 호스트 이름
    www.naver.com www.google.com
    DNS(Domain Name System) 도메인을 IP주소로 변환해주는 System
    223.130.200.104 ㅡ> www.naver.com
    142.250.76.142 ㅡ> www.google.com
  • 서버-클라이언트 구조
  • Web통신 흐름
  • 정적/동적 페이지

    네이버와같이 접속할때마다 화면이 바뀌는 페이지를 동적페이지라하고 누가 들어가든 항상 같은 페이지가 나오는 것을 정적 페이지라고한다
  • Web통신 흐름
  • 서버프로그램 WAS는 Web Application Server의 약자이다
    클라이언트가 서버에 요청을하면 서버는 WAS에 데이터를 전송하고 WAS는 DB에 데이터를 처리및 가공해서 전달한 후 서버에 정적 페이지를 생성후 클라이언트에 응답하는 구조이다

Servlet

WAS

Request

클라이언트로부터 들어온 요청과 관련된 정보를 담고있는 객체이다

나의 페이지에 접속한 사람 확인하는 방법
1. 내 ip주소 확인하기
2. 2. 나의 페이지 주소 만들기
3. 나의 페이지에 접속한 ip주소 확인하기
request.getRemoteHost()

Request

클라이언트에게 응답할 정보들을 담는 객체

Request, Response실습

  • 나의 페이지에 이미지 띄우기
  • 나의 페이지를 우리팀과 다른 팀원에게 다른 페이지 보여주기
    (추후 업로드 예정)

인코딩

인코딩(encoding) 문자를 코드로 변환
디코딩(decoding) 코드를 문자로 변환
EUC-KR vs UTF-8
컴퓨터에서 텍스트를 나타내는 두 가지 다른 문자 인코딩 방식

  1. EUC-KR (Extended Unix Code-Korea):

    • EUC-KR은 주로 한국어를 나타내는 문자 인코딩 방식입니다. 이는 유닉스 기반 시스템을 위해 개발되었으며, 오래된 한국 컴퓨터 시스템과 문서에서 사용되고 있습니다.
    • EUC-KR은 가변 폭 인코딩 방식으로, 다른 문자를 나타내기 위해 서로 다른 바이트 수를 사용합니다. 일반적으로 ASCII 문자에는 1바이트를 사용하고 한국어 문자에는 2바이트를 사용합니다.
    • 국제화에 대한 지원 측면에서 UTF-8만큼 다양하지 않아 국제화에 적합하지 않을 수 있습니다.
  2. UTF-8 (Unicode Transformation Format 8-bit):

    • UTF-8은 다양한 언어와 스크립트에서 나타낼 수 있는 문자를 대표할 수 있는 널리 사용되는 문자 인코딩 방식입니다. 이것은 모든 알려진 글쓰기 시스템의 문자를 포함하도록 설계된 유니코드 표준의 일부입니다.
    • UTF-8도 가변 폭 인코딩 방식으로, ASCII 문자에는 1바이트를 사용하며 다양한 언어에서 다양한 문자를 나타내기 위해 최대 4바이트까지 확장될 수 있습니다.
    • UTF-8은 매우 다재다능하며 웹 콘텐츠 및 현대 소프트웨어를 위한 권장 문자 인코딩 방식입니다. 다국어 지원을 원활하게 제공하며 인터넷에서 널리 사용되고 있습니다.

요약하면, EUC-KR은 한국어에 특화된 문자 인코딩이며 다양성 면에서 UTF-8보다 제한적입니다. 반면 UTF-8은 다양한 언어에서 다양한 문자를 나타낼 수 있으므로 현대 애플리케이션 및 국제화에 더 적합합니다. 대부분의 목적에서 텍스트 데이터를 처리할 때 UTF-8이 문자 지원이 다양하여 선호되는 선택입니다.

URL Mapping

Web Browser에서 Servlet을 동작시킬때 실제 Java클래스의 이름 대신, 특정 문자열을 만들어서 해당 문자열을 Servlet과 Mapping하여 동작하는 방법

  • URL경로가 길어서 불편
  • URL경로가 노출되어 보안상의 문제
  • 즉 실제 Servlet

@WebServlet("/맵핑할 문자열")직접입력

URL Pattern

http(protocol)://localhost(host(domain):8081(port)/Servlet(contextPath)/Ex01Request?(servletPath)num=123(queryString)

  • URL(Uniform Resource Locator) 통합 자원 지시자 : 네트워크상에서 자원의 정확한 위치
  • URI(Uniform Resource Identifier) 통합 자원 식별자 : 네트워크상에서 자원의 고유한 식별자
  • 500에러 : 문법 에러 -> 요청한 페이지의 문법, 코드 확인
  • 404에러 : Not Found -> 보통 경로 문제, 요청하는 값이나 경로 확인
profile
갓벽한 개발자

0개의 댓글