이클립스 환경설정 방법
window ->preferences(환경설정) ->java ->intalledJREs ->server 검색 Rumtime 누르면 서버 설정가능
encoding 검색 후 설정 전부 UTF8 (현재 사용해야하는 설정으로 변경)
웹 기반 프로그램의 구조는
- 사용자 컴퓨터의 웹 브라우저를 통해 화면에 해당되는 HTML 문서를 서버요청
- 1.서버화면 전송받아 처리 -> 2.계산 결과를 웹 브라우저로 전송 -> 3.화면이 바뀌면 서버에서 모두 처리
- 서버와 클라이언트의 관계는 (클라이언트)요청과 (서버)응답이다.
동적 웹 프로그래밍
- 클라이언트의 요청이 있을 떄마다 데이터베이스에 접근하여 실시간 정보를 클라이언트에게 제공 <비효율>
프로세스: 운영체제로부터 자원을 할당받은 작업의 단위
스레드: 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위
JSP 프로그램 특징
- 스레드 방식으로 실행하기 떄문에 효율적으로 수행 가능
- 입출력만 가능
웹 어플리케이션
- 웹(인터넷)을 기반으로 실행되는 애플리케이션을 말합니다. 즉, 브라우저를 접근하여 사용되는 애플리케이션입니다.
- 사용자에게 동적인 서비스를 제공
컨텍스트
- server.xml에 등록하는 역활
- 웹 애플리케이션당 하나의 컨텍스트가 등록됨 / 웹 애플리케이션 이름은 같을 수도 있고 다를 수도있다.
- 대소문자 구분 / 이름 중복X / 웹 애플리케이션 의미 전달 명사형으로 지정
서블릿 (get,post 방식을 사용)
클라이언트 -> 서블릿 -> DAO,VO -> 데이터 베이스 ->
데이터 베이스 ->DAO,VO ->서블릿->클라이언트 = 화면 송출
- 서블릿은 클라이언트의 요청의 따라 동적으로 서비스를 제공
- 자바의 특징을 모두다 가짐
- 독자적으로 실행 불가능 톰캣과 같은 JSP/Servlet 컨테이너에서 실행됨
서블릿 API 계층 구조와 기능
- Servlet 인터페이스 : 추상 메소드 <인터페이스는 추상메소드>
- HttpServlet은 매개변수를 가지고 있다.
- doGet(), doPost() 작업수행 init() 초기화 destroy() 종료
서블릿 실행과정
1.http://localhost:8090/pro05/first로 요청
2.FirstServlet이 메모리에 존재하는지 확인
3.FirstServlet을 메모리의 로드
4.init()을 호출
5.doGet() 또는 doPost()호출
6.결과 응답
애너테이션
- 소스 코드에 직접 기능을 설정하는 방법을 애너테이션(annotation)이라고 한다.
웹
웹에서 값을 줄때 주소창으로 준다.
웹 브라우저 서블릿 전송
- GET방식
주소창에 전부 다 노출되므로 보안상 좋지 않다.
- POST방식
주소창에 아무것도 표시되지 않으므로 보안성은 GET보다 좋다.
웹브라우저 동자 -> 서버 제공 -> 클라이언트(회원) ->요청 -> 서버
->작업이 끝날때 까지 대기 -> 서버 사용(스레드 방식으로 처리)
서버는 스레드 방식으로 움직이며 정보를 제공 -> 클라이언트(회원)이 사용
서버 위주로 제작 -> 서블릿(자바기반)
서블릿 비즈닉스 로직 처리 방법
- 서블릿이 클라이언트로부터 요청을 받으면 그 요청에 대해 작업을 수행하는 것
- 서블릿의 가장 핵심기능
예시)
웹사이트 회원 등록 요청 처리 작업
웹 사이트 로그인 요청 처리작업
쇼핑몰 상품 주문처리 작업
DataSource
커넥션풀
데이터 베이스와 연결시킨 상태를 유지하는 기술 커넥션풀(Connection Pool)이라고 한다.
JNDI
JNDI란 필요한 자원을 키/값(key/vlaue) 쌍으로 저장한 후 필요할 때 키를 이용해 값을 얻는 방법이다.