인터넷과 웹
인터넷 : 컴퓨터가 서로 연결되어 TCP/IP라는 통신 프로토콜을 이용하여 정보를 주고 받는 전세계의 컴퓨터 네트워크
웹 (World Wide Web) : 인터넷의 서비스 중 하나로 인터넷에 연결된 컴퓨터들을 통해 정보 공유하는 공간
웹 동작 원리
클라이언트/서버 방식으로 동작
- 클라이언트 : 사용자(요청자), 웹브라우저
- 웹서버 : 서비스 제공자
아파치, 톰캣, IIS, 제우스(공공기관) ...
동작방식
클라이언트 --- 웹페이지 요청(request) ▸ 웹서버
(브라우저) ◂ 결과물로 응답(response) --- ex. 아파치톰캣
정적 웹페이지 / 동적 웹페이지
- 정적 웹페이지 : static
∙ 저장된 텍스트 파일 그대로 보는 것
∙ html 같은 웹 언어로 작성
∙ 사용자가 web브라우저에 url 입력 요청 ▸ 이미 준비된 문서 그대로 보내줌
∙ 초기 웹페이지, db 필요없음 - 동적 웹페이지 : dynamic
∙ 저장된 내용을 가공처리해서 보는것
∙ php, asp, jsp 같은 웹 언어로 작성
∙ 사용자가 web브라우저에 url 입력 요청 ▸ 분석, 처리 ▸ html파일 생성 보내줌
웹주소
url : http:// IP : port / File 경로
cmd : ipconfig 검색하면 ip주소 나옴
http//192.168.0.250:8080/jsp/main.jsp ▸ main.jsp 이 페이지 좀 보여줘
http//localhost:8080/(jsp/main.jsp) ▸localhost 자기자신을 가리키는 것
이것이 (jsp/main.jsp) url
웹프로그래밍과 JSP
웹 프로그래밍 : 웹 서버가 웹 브라우저에 응답으로 전송할 데이터를 생성해주는 프로그램을 작성하는 것
웹 프로그래밍 언어 : 클라이언트 측 실행 언어와 서버측 실행 언어로 구분
JSP(Java Server pages) : 자바를 기반으로 하는 서버측 웹 프로그래밍 언어 (서버사이트 스크립트 언어)
서블릿 servlet : 자바 코드안에 HTML 코드 추가
JSP : HTML 코드안에 자바 코드 추가
- JSP는 서블릿 기술의 확장
- JSP는 유지 관리 용이
- 빠른 개발 가능
- 코드 길이가 줄어듬
처리 과정 : JSP 페이지는 서블릿 프로그램으로 변환되어 실행됨
- 웹 브라우저기 hello.jsp 요청. 웹 서버는 jsp 확장자를 발견 확인하여 웹 서버에 있는 jsp 컨테이너(jsp 엔진)에 전달함
- jsp컨테이너는 jsp 페이지를 서블릿 프로그램인 hello_jsp.java로 변환
- jsp컨테이너가 서블릿 프로그램을 컴파일하여 hello_jsp.class로 만들고 웹서버에 전달
- 웹서버는 .class 실행 결과를 웹 브라우저에 응답으로 전달, 웹 브라우저는 새로 가공된 html 페이지를 동적 처리한 결과 보여줌
웹 서버, 웹 컨테이너, 웹 어플리케이션 서버
웹 서버 (출입구, 클럽가드)
- http 프로토콜을 이용하여 클라이언트 요청을 받아 html이나 오브젝트를 전송
- 웹 서버 자체적으로는 처리 못하는 것은 컨테이너처럼 처리할 수 있는 곳으로 넘겨 처리
- 웹 서버만 구축된 서버는 웹페이지, 이미지 등 "정적 페이지" 생성
- 아파치, IIS 등
웹 컨테이너
- jsp와 서블릿을 실행할 수 있는 프로그램으로 서블릿 컨테이너라고도 함
- 웹 서버에서 jsp를 요청하면 톰캣에서는 jsp 파일을 서블릿으로 변환하여 컴파일을 수행
- 서블릿 수행결과를 웹서버에 전달
웹 어플리케이션 서버(web application server : WAS)
- 웹서버와 웹컨테이너를 결합한 서버
- jsp 컨테이너가 탑재된 was는 jsp 페이지를 컴파일하여 "동적페이지" 생성함
- 톰캣, BEA의 웹로직 등
jsp 생명주기
jsp 페이지를 컴파일한 .class 에는 jspInit(), _jspService(), jspDestroy() 메소드 존재함
개발 [Hello.jsp] —①번역—> [Hello_jsp.java] 서블릿 — ②컴파일—> [Hello_jsp.class] — ③로딩 및 초기화 jspInit() —>
④실행 _jspService() —>⑤ 소멸 jspDestroy()
요청 -> 응답
한번 실행이 되었으면 요청이오면 실행만 된다.
db연결 해제 스트림 끊기 다썼ㄷㅏ.
인코딩 관련
UTF-8 : 유니코드, UTF-16, UTF-8
한국어 지원
# ISO--8859-1
# KSC5607 : 국내
# MS949 / CP949 : MS사
# EUC-KR : ANSI를 확장한 버전
# ANSI : =ASCII
웹프로젝트 구조
웹 서버가 준비된 상태에서 아래와 같은 폴더 구조를 갖춰야 한다.
- [폴더명] : 프로젝트명 : context root, Context Path (web)
- [WEB-INF]
- [lib] : 추가할 자바 라이브러리 배치
- [classes] : 자바의 컴파일된 클래스 파일 ( 이클립스상에서는 안보임. 숨겨져 있음)
- web.xml : 필요한 설정 작성하는 파일
- jsp/html/css/이미지....
- [META-INF] : 자바 패키지 기술인 jar의 일부, 자바에서 설정관련 파일을 저장하는 폴더


페이지 에러
404 : jsp파일 못찾는다 ▸파일이 존재하는지 확인, url 경로가 맞는지 확인
500 : 대부분 자바 에러
'basic > jsp' 카테고리의 다른 글
[JSP 실습] - 스크립트 요소(스크립트릿, 선언부, 출력문) (0) | 2021.06.04 |
---|---|
JSP[04] - 자바빈즈 / useBean, setProperty , getProperty 액션태그 / JDBC (0) | 2021.06.04 |
JSP[03] - response, out, application 내장객체 / 에러페이지 세팅 / forward, include, param 액션태그 (0) | 2021.06.03 |
JSP[02] - 디렉티브 태그(page, include, teglib), 스크립트 요소, 내장객체(request) (0) | 2021.06.02 |
JSP[00] - 세팅 (0) | 2021.06.01 |