서버
- 다수의 클라이언트에게 동시에 정보를 종하는 H/W나 S/W를 말한다.
클라이언트
- 서버에 접속하여 정보를 어디는 H/W나 S/W를 말한다.
웹서버
- 웹브라우저에서 요청 메시지를 받고 웹브라우저로 응답 메시지를 전송하는 서버쪽 SW
MIME
- 인터넷을 통해 문서를 주고받을 때 사용되는 문서 형식의 정의
- 파일, 멀티미디어 형식의 문서등 여러 가지 타입(이미지, 비디오, 오디오등)을 제공
Servlet
- 웹브라우저로 접속하는 클라이언트에 대해 요청 접수, 요청 처리, 응답 HTML생성을 할 수 있는 서버 쪽 자바 클래스
장점
- 자바 클래스이므로 자바의 모든 기능을 사용할 수 있다.
- URL 경로로 Servlet 파일의 위치에 접근할 수 없으므로 보안성이 좋다
단점
- 자바 문버 안에 HTML, CSS, 자바스크립트 등이 문자열로 삽입되므로 개발자와 디자이너의 협업이 어렵고 디자인적 요소의 컨트롤이 어려움
쿠키
- 응답 메시지를 통하여 클라이언트에 전송되며 클라이언트 쪽에 저장된다.(4kb이하)
장점
- 클라이언트가 필요한 데이터를 웹서버 쪽에 두지 않고 클라이언트 쪽에 저장하여 사용함으로 각종 편의를 제공한다.
- 웹프로그램의 자원이 상업용으로 이용 가능한 각종 통게 자료를 얻는데 사용한다.
- 필요한 데이터를 클라이언트쪽에 저장므로 웹서버의 부담이 적다.
단점
- 해킹에 의해 중요한 개인 정보가 저장된 쿠키가 누출될 수 있다.
- 광고 회사나 인터넷 서비스업체의 자료 확보 수단으로 활용 된면서 사생활을 침해할 수 있다.
쿠키값 조건
- $로 시작 못하고, 공백, 괄호, 등호, 콤마, 콜론, 세미콜론을 포함할 수 없다.
- 쿠키값이 한글이면 URLEncoder.encode(~~)를 써야 한다.
JSP특징
- 작성된 jsp는 내부적으로 class로 자동으로 변환되고 호출시 이클래스의 특정 메소드가 호출된다.
- 자바 코딩을 사용자 정의태그로 대체할 수 있다.
DAO클래스
- DB에 직접 DB연동하는 클래스
- 리턴되는 과정에서 데이터는 주로 [자바빈 - DTO - VO]에 저장하여 사용한다.
WAS(Web Server + Container)
-
HttpServletRequest 객체
- 요청 메시지 안의 파라미터값 리턴, 클라이언트가 보낸 쿠키값 소유한 Cookies 객체 메위주 리터, HttpSession 객체 메위주리턴, 타 객체 저장/리턴 등등
- URL주소로 접속 시 매번 새롭게 생성된다.
- JSP 페이지 실행 후 바로 제거 된다.
HttpServletResponse 객체
- 클라이언트에게 보낼 쿠키값 저장, 클라이언트에게 페이지 이동 명령 전달 등등
- URL주소로 접속 시 매번 새롭게 생성된다.
- JSP 페이지 실행 후 바로 제거 된다.
HttpSession 객체
- 재접속 시 모든 JSP 페이지에서 사용할 타 객체 저장/리턴 등등
- 웹브라우저와 웹서버간에 연결 상태가 없는 상태에서 처음 접속 시 한번만 생성된다.
- 웹브라우저와 웹서버 간에 연결 상태가 끊어질 경우에만 제거 된다.
Cookies 객체
- 웹브라우저가 보내온 [쿠키값] 소유하거나, 웹브라우저에게 전송할 [쿠키값]을 소유한다.
xxxx.do
- 가상 자원 주소이다. properties를 통하여 따로 관리 가능 하다.
Spring MVC
- 코딩이 많이 줄어듬
주요 객체의 객체 생성, 메소드 호출 코딩이 필요없다.(XMl 파일에 자바 클래스 정보를 태그로 등록만 하면 주요 객체 생성과 메소드 호출을 Spring 프레임워크가 알아서 한다.
클라이언트가 보낸 데이터가 자동으로 자바빈에 저장된다.
DB연동이 쉽고 강력하다.
Spring에서 제공하는 DB연동 관련 API를 사용하거나 mybatis를 사용할 수 있다.
JPA를 사용하면 SQL구문도 사용할 필요가 없다.
트랜잭션 설정이 간단하다.
Spring 폼태그를 사용하면 JSP페이지에서 DB연동 결과물을 아주 쉽게 HTMl소스에 반영할 수 있다.
- 유지보수가 쉽고, 보안성이 좋고, 확장성이 좋다.
일부 코딩 수정시 연쇄적으로 수정할 내용이 적다.(기존 방식은 많았음?)
- 작동 구조가 복잡하여 처음에 공부하거나 숙지가 어렵다.
- XML 파일에 클래스 정보, 트랜잭션 정보, 기타 사용 기술 정보를 등록해야 한다. 즉 환경 설정이 복잡하다.
EL태그
- empty는 굉장히 쓸만함
댓글
댓글 쓰기