전체 글 68

웹기반 애플리케이션JSP 9일차 📃_직렬화·역직렬화·마샬링·언마샬링

마샬링(marshalling) 한 객체의 메모리에서 표현방식을 저장 또는 전송에 적합한 다른 데이터 형식으로 변환하는 과정 언마샬링(unmarshalling) 전송된 데이터를 다시 원래의 객체 모양으로 복원하는 작업 직렬화(Serialization) 객체 데이터를 일련의 byte stream으로 변환하는 작업 반대로 일련의 byte stream을 본래의 객체 모양으로 복원하는 작업은 Deserialization(역직렬화) 예제 1단계 일단 마샬링과 직렬화에 쓰일 VO class를 만들어준다. 이때 Serializable인터페이스를 implements해주어야한다. package kr.or.ddit.modeling; import java.io.Serializable; import com.fasterxml.j..

JSP📃_보충_Stream정리

Stream ::일련의 연속성을 가진 순차적 데이터의 흐름. 데이터 전송을 위한 단방향 통로. * 스트림의 종류 1. 전송 데이터 크기에 따른 분류 1) byte stream(1byte) : InputStream/OutputStream ex) FileIn(Out)putStream, ByteArrayIn(Out)putStream, SocketIn(Out)putStream 2) char stream(2byte) : Reader/Writer ex) FileReader(Writer), OracleClobReader(Writer), PrintWriter 2. 스트림 생성 방법과 필터링 여부에 따른 분류 1) 1차 스트림 : 매체를 대상으로 직접 생성 및 개방할 수 있는 스트림. ex) FileIn(Out)putS..

JSP 8일차 📃_RequestLine_RequestHeader_RequestBody

📌Request Line protocol/version,URL(URI, 자원에 대한 식별자, 명사),http Method(자원에 대한 행위, 동사) http(request) Method : 요청의 의도(목적)와 패키징 방식을 표현. 📌http(request) Method종류 GET(R) : default method, 서버의 자원 조회, body영역이 형성되지 않음 POST(C) : 클라이언트의 의도적 전송 컨텐츠가 존재함. body 영역이 형성됨. content-* 종류의 요청 헤더들이 존재함. PUT/PATCH(U) PUT : 전체 데이터 수정 / PATCH : 부분 데이터 수정 DELETE(D) OPTION : preFlight 요청으로 본 요청의 메소드 지원 여부 파악 HEAD : response..

JSP 7일차 📃_자원의 종류와 식별방법

📌자원의 위치와 식별(접근) 방법에 따른 분류 1. file system resource : 파일시스템 상에 존재하는 파일 형태, 물리 경로를 통한 직접 접근. ex) D:\00.medias\images\cat1.jpg 2. class path resource : class path 상에 존재하는 자원 ex) /images/cat1.jpg : class path 기준의 절대 경로(qualified name)로 접근(논리 경로) ex) kr.or.ddit.servlet01.DescriptionServlet == kr/or/ddit/servlet01/DescriptionServlet ex) /kr/or/ddit/sample.properties 3. web resource : web 상에 존재하는 자원, UR..

JSP 6일차 📃_JSP?, JSP소스구성요소, JSP컨테이너의 역할, Servlet컨테이너의 역할

📌JSP ? 서블릿 스펙 기반의/ 스크립트 형태로 동작하는/ 템플릿 엔진 📌jsp소스의 표준 구성 요소 1. 정적 텍스트 (Front-end) : 텍스트, HTML, JS, CSS 2. 동적 요소(Back-end) 1) 스트립트 요소 - scriptlet (지역코드화, _JSPService) : - expression : , , - directive : : 실행에는 영향을 미치지 않고 현재 Jsp 페이지의 환경 설정, 속성으로 설정. page(required) include(option) : 정적 내포 taglib(option) : custom tag library 로딩 - declaration(전역코드화) : - comment(주석) : client side comment : HTML, JS, CSS ..

JSP 5일차 📃_템플릿 엔진, MIME

📌템플릿 엔진 템플릿 엔진은 웹 개발에서 프론트엔드와 백엔드를 연결하는 역할을 한다. 프론트엔드에서는 사용자 인터페이스(UI)를 담당하고 백엔드에서는 데이터 처리와 로직 처리를 담당한다. 이 두 영역을 연결하기 위해서는 데이터를 받아서 프론트엔드에서 사용할 수 있는 형태로 가공하는 과정이 필요하다. 이 과정에서 템플릿 엔진이 사용된다. 템플릿 엔진은 데이터를 받아서 HTML, XML, JSON 등의 형태로 출력한다. 템플릿 엔진은 템플릿 언어를 사용하여 데이터를 가공하고 출력한다. 이를 통해 개발자는 데이터 처리와 UI 디자인을 동시에 할 수 있다. 대표적인 템플릿 엔진으로는 다음과 같은 것들이 있다. Django 템플릿 엔진 Jinja2 Handlebars Mustache 템플릿 엔진을 사용함으로써 개..

JSP 4일차 📃_ 서블릿

✔서블릿이란? WAS에 의해 관리되는 객체의 형태로, 웹상에서 발생한 요청을 받고, 그에 대한 응답을 전송할 수 있는 객체들의 요건에 대한 명세(spec) ✔ WAS(Web Application Server), Web *Container, Servlet Container, JSP Container * Container ? 내부의 관리객체(Component)에 대한 생명주기 관리자(운영 주체), 객체 관리 중 발생하는 이벤트들에 대한 **콜백(callback)구조를 가짐. * Servlet Container ? 내부의 관리객체(Servlet)에 대한 생명주기 관리자(운영 주체) * JSP Container ? 내부의 관리객체(JSP)에 대한 생명주기 관리자(운영 주체) ✔서블릿에 정의된 callback메소..

JSP_3일차 📃 서블릿과 JSP의 차이

📕JSP란? JSP(Java Server Page) 서블릿 기반 위에 보다 편리하게 웹 프로그래밍을 할 수 있도록 만든 동적 웹 페이지 작성 언어이다. jsp 는 자바를 웹서버에서 쉽게 쓰기 위한 기술이며 언어가 아니다. 로 둘러싸인 스크립트 영역이 있으며, 실행시에 javax.servlet.http.HttpServlet 클래스를 상속받은 Java 소스 코드로 변환한 다음 컴파일되어 실행된다. 이 JSP 파일을 Servlet 클래스로 변환하고 실행시켜 주는 역할을 하는 프로그램은 서블릿 컨테이너라고 부른다. 대표적인 것으로 오픈 소스 웹 컨테이너인 TomCat 이 있다. 하나의 JSP 페이지가 하나의 Java 클래스이기 때문에 모든 Java 라이브러리를 끌어다 쓸 수 있다. 웹+자바프로그래밍 + 소스코드..

JSP_정적 콘텐츠&동적 콘텐츠의 차이, Web과 WAS, 서블릿

📌정적 콘텐츠&동적 콘텐츠의 차이 ✔정적인 페이지(Static Pages) Web Server는 파일 경로 이름을 받아 경로와 일치하는 file contents를 반환한다. 항상 동일한 페이지를 반환한다. (2tier) 프론트앤드 Ex) image, html, css, javascript 파일과 같이 컴퓨터에 저장되어 있는 파일들 ✔동적인 페이지(Dynamic Pages) WAS(웹 어플리케이션 서버)는 동적인 컨텐츠를 만들어냄==>WS에 전달==>클라이언트한테 인계(3tier) 로우데이타 ==>가공==>인포메이션==>언어화 ==> 콘텐츠탄생 백앤드 서버 어플리케이션 JAVA/Python/SQL등을 이용 📌MVC패턴 LD(로우데이터)-DAO I(인포메이션)-Service C(콘텐츠)-View 클라이언트의..