서버
- Server
- 서비스를 제공하는 컴퓨터
- 웹 호스팅을 이용하게되면 도메인을 받게되어 다른 컴퓨터에서도 접근이 가능 (응답하는 쪽)
- 사용자의 요청을 받아서 서비스를 제공하는 쪽
클라이언트
- Client
- 서비스를 이용하는 컴퓨터
- 사용자
- 브라우저
- 요청을 시도하는 쪽
HTTP 명령 : GET, POST
요청에 의해 서버에서 전송된 HTML 태그는 웹 브라우저에 의해 해석되어
화면 구성 및 배치 작업 등을 거쳐 제공됨
GET 방식이란?
- URL에 정보가 노출됨 (보안에 불리)
- 전달할 수 있는 데이터 크기에 제한이 있음
- URL ? 매개변수 = 값&매개변수=값
- CRUD중에 R (데이터를 로드) 작업에 많이 활용 : SELECT -> 서버에서 정보를 가져오려고 사용하는 방법
POST 방식이란?
- URL에 값이 표시되지 않음
- 요청헤더에 데이터를 넣어 전송하기때문에 데이터 크기에 제한이 없음
- CRUD중 CUD(데이터를 전달) 작업에 많이 활용 -> 서버에 정보를 전달하려고 사용하는 방법
클라이언트와 서버간의 동작 과정 ( 웹 서비스 진행 과정 )
1) URL 입력
2) IP 주소로 변환
3) HTML 페이지 요청
4) 3의 요청 내용을 분석
5) HTML 파일 전송
6) HTML 태그를 분석하여 화면 구성
[ 아파치 톰캣 ]
웹 서버의 역할
JSP가 운영될 환경 제공
서블릿 컨테이너 ★
=> 서블릿과 JSP를 실행하기 위한 환경을 제공함
JSP는 HTML 태그와 굉장히 비슷함
[ <%@ %> 지시어 ]
page 지시어
-> language 속성 ...
JSP(JavaServer Pages) 란?
- HTML 코드내부에 JAVA 언어를 사용할 수 있게 해주는 서버 프로그래밍 언어
- 컴파일 결과로 .JAVA로 끝나는 파일을 생성함 => 서블릿 Servlet
- JSP 파일 생성 시 첫줄에 빨간 밑줄이 나온다면 서버가 연결이 안된것!
해당 project에 Properties -> Java Build Path -> Add Library -> Server Runtime에서
연결하고자 하는 서버(Tomcat)가 잘 들어가있는지 확인해본다
- JSP 파일에서 Java 코드를 인코딩해주는 방법 ( 2가지 방법 중 하나만 선택! )
1) <%%> 태그 안에 java.util.를 넣어준다
2) 맨 윗줄에 imort를 사용한다.
Servelt 서블릿
- .java로 끝남
- 패키지가 항상 존재해야함
- JAVA언어에서 HTML을 작성할 수 있게 해줌
- JSP가 개발되기 전까지는 서블릿을 사용하였음
- 기본 생성자 필수
- doGet(), doPost() 메서드로 GET, POST 요청에 대해 수행할 것을 작성
- public class Student와는 다른 클래스 파일 -> Student(일반객체)을 POJO라고 함 -> 서블릿은 POJO가 아닌 클래스
- @webServelt("/xxx") 어노테이션 (애너테이션) : "/xxx 요청에 대해 이 서블릿 파일을 실행 시켜라."
- 서블릿을 다루기가 매우 어려워서 JSP가 등장
★Test 서블릿이 객체화(인스턴스화,new)되지않았는데, 어떻게 doGet()이 호출되었을까?
=> 누군가가 new Test()하고, doGet()도 호출했다!!!!!
누군가 == 서블릿 컨테이너 ( Tomcat - 자신이 사용하는 서버)
컨테이너 : 객체화를 담당
JSP 전체 동작 과정
1) URL 입력
2) IP 주소로 변환
3) JSP 페이지 요청
4) JSP 서블릿 처리
( 웹 서버가 요청 내용을 분석, 서블릿 컨테이너에게 요청을 넘겨서 처리)
-> new 서블릿() 객체화
-> .doGet() 호출
5) HTML 페이지 응답
( 화면에 출력될 내용을 HTML 문서형태로 웹 브라우저에게 전송 )
6) HTML 태그를 분석하여 화면 구성
'JSP' 카테고리의 다른 글
[JSP] application을 이용한 SNS 예제 (0) | 2022.08.02 |
---|---|
[JSP] session을 이용한 장바구니 예제 (0) | 2022.08.02 |
[JSP] 내장 객체 request, response, out, session, application, exception (0) | 2022.08.02 |
[JSP] 에러페이지 처리, include 지시어, 액션, forward 액션, 스크립트릿 (0) | 2022.08.02 |
[JSP] 다양한 방식으로 계산기 구현하기 (JSP, Servlet, JAVA, HTML) (0) | 2022.08.01 |