AI교육과정 - JSP.1

단비·2022년 11월 17일
0

AI교육과정

목록 보기
33/69
  • 클라이언트 ——————요청(request)———————> 서버 (브라우저) <——————————————————— (웹서버)
  • 요청(request)
    • 클라이언트에서 서버쪽으로 HTML 문서를 요청하는 것
    • 접근하고자 하는 페이지(URL)을 브라우저를 통해 알려줌
    • GET, POST 등 방식으로 요청
  • 응답(response)
    • 서버에서 결과를 HTML 문서를 통해 클라이언트 쪽으로 보여주는 것

    • 상태코드(성공여부)와 컨텐츠타입(텍스트, 이미지, HTML, XML, JSON..등), 컨텐츠(HTML코드, 이미지, 문자열..등)을 전달

      https://tv.naver.com/v/30458309

      ——— —————--- —————-

      프로토콜 / 도메인 / 자원위치

      ☺ https(HyperText Transfer Protocol)

    • TCP/IP 기반의 웹용 프로토콜

    • Header와 Body로 구성

    • 웹서버에서 서버-클라이언트 사이에 요청/응답이 가능하도록 만들어진 규약

    • 서버가 먼저 클라이언트에게 데이터를 전달할 수 없음

    • TCP 포트

      • 서버 하드웨어 상에서 돌아가는 소프트웨어를 구분하기 위한 숫자값
      • 사용범위: 0 ~ 65535 (0 ~ 1023까지는 운영체제 또는 별도의 서비스를 사용하기 위해 예약)
    • 웹서버(Web Server)

      • 클라이언트로부터 요청을 받아 요청한 내용을 응답해주는 프로그램
      • 정적인 페이지(html, css, 이미지, javascript)만 전달
      • 대표적인 웹서버 프로그램은 Apache, zeus, NGINX, IIS, Mongoos..등
      • 동적인 컨텐츠 생성이 불가능
    • 웹 어플리케이션 서버(Web Application Server)

      • 동적인 부분을 담당
      • 프로그램 실행 환경과 데이터베이스 접속 기능을 제공
      • 대표적인 WAS는 Tomcat(WebServer + WAS)
  • JSP(Java Server Pages)
    • HTML 코드에 Java 코드를 넣어 동적 웹페이지를 생성하는 웹 어플리케이션 도구(서버 스크립트)

    • JSP가 실행되면 자바 서블릿(Servlet)으로 변환되며 웹 어플리케이션 서버에서 동작하여 필요한 기능을 수행하고 생성된 데이터를 웹페이지와 함께 클라이언트로 전달

    • 클라이언트 ——————————————> 서블릿 컨테이너

                        xxx. jsp               jsp → servlet(Java) 파일로 변환
                                                server → class 파일로 컴파일
                                                class → html 형태로 변환
  • JSP 장/단점
    • JSP 장점
      • Java 코드에 HTML 코드가 삽입되는 형태로 개발
        out.println(<h1>안녕하세요</h1>);(X)
        <%
        		자바코드
        		System.out.println("안녕");
        %>
        html코드
        <h1> 안녕하세요 </h1> (O)
      • 퍼블리셔와 협업이 가능
      • 간단한 페이지를 구현할 때는 JSP문서로 제작하는 것이 시간을 절약
    • JSP 단점
      • 복잡한 로직을 구현할 때 HTML 중심의 코드가 이해하기 어렵게 만들 수 있음
      • 프로그래밍 언어를 모르는 사람이 실수로 코드를 망칠 수 있음
      • core 적인 부분의 로직의 유출을 막기 위해 Java 파일로 따로 작성하는 것이 보안상 유리
  • JSP 문법
    • 디렉티브 태그
      • 현재 JSP 페이지에 대한 정보를 설정하는 태그

      • 페이지 최상단에 선언

      • importL 자바 클래스를 사용

      • language: 사용할 프로그래밍 언어를 설정

      • contentType: 생성할 문서의 컨텐츠 유형

      • pageEncoding: 페이지 문자 인코딩을 설정

        <%@ page ~~~ %>
    • 스크립트릿
      • 자바 변수 선언 및 자바 로직코드를 작성하는데 사용하는 코드

        <% ~~~ %>
    • 표현문
      • 변수, 계산식, 메소드 호출 등 결과를 나타내는 태그

      • 타입은 항상 문자열

        <%= 변수 또는 계산식 등..작성 %>
    • 선언문
      • 자바 변수나 메소드를 정의하는데 사용하는 태그

        <%! ~~~ %>
  • 데이터 요청
    • get 방식
      • 간단한 요청을 보낼 때 사용
      • 내용의 크기가 제한적
      • 데이터가 노출(URL)
      • URL 뒤에 전송할 데이터를 붙여서 보냄
      • 단순히 서버에게 자원을 요청할 때 사용
      • 전송과 응답의 속도가 빠름
    • post 방식
      • 복잡한 요청을 보낼 때 사용
      • 전송할 데이터를 body에 넣어서 요청
      • 데이터를 body에 넣어서 요청하기 때문에 노출되지 않음
      • 내용의 크기 제한이 없음
      • get 방식에 비해 속도가 느림
  • getParameter
    • name값을 입력해 value를 불러옴

      // java
      String userid = request.getParameter("userid");
      // html
      <p>아이디: <input type="text" name="userid"></p>


  • Eclips 설정
    • new - dynamic Web Project 클릭 - new runtime 클릭 - tomcat 9.0 폴더 찾아서 설정 - finish
      • WebContent 폴더에서 new - jsp 클릭
      • 오류나면 tomcat Stop
        • 이래도 오류나면 아래 탭 중 Servers 클릭하여 Port Number 채워주기

          Untitled

      • 포트번호를 사용중이다하면 8080부분을 수정
    • Window - Web Browser - 3.Chrome 선택
    • Window - Preferences - General - Apparance - Basic - Text Font Untitled
    • Window - Preferences - General - Content Types
      • CSS, HTML, Java Source File, JavaScript, JSON, JSP를 Default encoding을 UTF-8로 업데이트

        Untitled

    • Window - Preferences - General - Workspace - UTF-8로 수정 Untitled
    • Window - Preferences - Server - Runtime Environments 에 톰캣 등록돼있는지 Untitled
    • Window - Preferences - Web 에서 CSS, HTML, JSP의 Encoding을 맨 위 UTF-8로 설정 Untitled
profile
tistory로 이전! https://sweet-rain-kim.tistory.com/

0개의 댓글