Back-End/JSP 13

[JSP] MVC 패턴, Front-Controller 패턴

1) MVC 패턴 1. [JSP 방식] a.jsp --> b.jsp(처리) --> c.jsp ↑↓ DB - 각 페이지마다 필요시 자바코드가 스크립틀릿 내부에 작성되며 DB와 연결하는 코드도 JSP 파일 안에서 모두 작성된다. - 분리되어 있지 않기 때문에 소규모 프로젝트에는 어울리지만 가독성이 떨어지고 분업과 유지보수가 좋지 않으므로 규모가 커지면 불편해진다. 2. [MVC Model1] a.jsp --> b.jsp --> c.jsp ↑↓ DAO, DTO ↑↓ DB - b.jsp에서 DAO의 메소드만 호출함으로써 자바코드가 존재하긴 한다. - 하지만 선언은 분리되어 JAVA파일에 구현이 되어 있으므로 JSP 내의 JAVA코드의 양이 굉장히 줄어들게 된다. - 하지만 페이지가 확장될수록 유지보수가 상대적으..

Back-End/JSP 2021.07.28

[JSP] EL문과 JSTL

1) EL문과 JSTL를 쓰는 이유 - 페이지의 가독성을 높이기 위해 사용한다. - Mybatis와 유사하게 라이브러리로 자바 구문을 만들어 놓고 필요할 때마다 꺼내쓰면 되기 때문에 유지보수에 편리하다. - JSP 페이지 내에서 자바코드와 HTML코드(태그)가 섞여 있으면 가독성이 떨어진다. - EL문과 JSTL문을 이용하면 HTML과 태그로만 구성된 일관적인 소스코드로 볼 수 있다는 장점이 있다. 2) EL(Expression Language) - 값을 간편하고 간결하게 출력할 수 있도록 해주는 표현 언어이다. - 자바 / EL ${ } - 값을 찾을 때 작은 Scope에서 큰 Scope 순으로 찾는다. ** Scope란? 변수를 사용할 수 있는 범위 - pageContext > request > se..

Back-End/JSP 2021.07.26

[JSP] 쿠키(Cookie), 세션(session)

1) 쿠키(Cookie) - 웹 브라우저가 보관하고 있는 데이터로, 웹 서버에 요청을 보낼 때 쿠키를 헤더에 담아서 전송한다. 2) 쿠키(Cookie)의 장단점 - 클라이언트의 일정 폴더에 정보를 저장하기 때문에 웹 서버의 부하를 줄일 수 있다. - 정보가 사용자 컴퓨터에 저장되기때문에 보안의 위협을 받을 수 있다. - 데이터 저장 용량에 한계가 있다. (소용량, 과자 부스러기처럼 작은 값이라 하여 쿠키라고 한다.) - 일반 사용자가 브라우저 내의 기능인 쿠키 차단을 사용하면 무용지물이 된다. 3) 쿠키 동작 방식 - 쿠키 생성 > 쿠키 저장 > 쿠키 전송 1. 쿠키 생성 - 웹 서버에서 쿠키를 생성하고 쿠키에 응답 데이터를 담아 웹 브라우저에 전송한다. 2. 쿠키 저장 - 웹 브라우저는 응답 데이터를 ..

Back-End/JSP 2021.07.21

[JSP] 자바빈즈란?

1) 자바빈즈란? - 빈은 객체를 뜻한다. - JSP의 표준 액션 태그를 통해 접근할 수 있는 자바의 객체로서 필드와 setter, getter 메소드로 이뤄져있다. - 하나의 JSP페이지에서도 사용하고 그 외의 다른 페이지에서도 사용가능하다. 2) 자바빈즈 개발 규약 1. 패키지화(default 패키지 인식이 불가함) 2. 필드의 접근자는 private으로 설정한다. (필드는 메소드로만 접근하게 하기위함) 3. getter, setter는 필수로하고 public으로 설정한다.. 3) 자바빈즈 태그 1. useBean - userDTO user = new UserDTO( ); 대신에 를 사용한다. 2. setProperty - user.setUsername("김사과"); 대신에 를 사용한다. 3. get..

Back-End/JSP 2021.07.20

[JSP] JSON 개요, 라이브러리 다운로드하기

1) JSON이란? - 경량화된 데이터 교환 형식 - 서로 다른 언어들끼리 데이터를 주고받을 수 있도록 만들어진 텍스트 기반의 형식 - 프로그래밍 언어가 아닌 데이터 표기 방식 중 하나이다. - 기본적으로 name:value 형태의 구조를 가지고 있다. 즉, map 구조를 띄고 있다. 2) JSON 라이브러리 다운로드 1. https://code.google.com/archive/p/json-simple/downloads 접속하기 Google Code Archive - Long-term storage for Google Code Project Hosting. code.google.com 2. json-simple-1.1.1.jar 다운로드 받기 3. 웹 프로젝트에 jar 파일 추가 (java전용) 4. ..

Back-End/JSP 2021.07.19

[JSP] Ajax와 XMLHttpRequest 객체

1) Ajax(Asynchronous Javascript and XML)란? - 빠르게 동작하는 웹 페이지를 만들기 위한 개발 기법이다. - Ajax는 웹 페이지 전체를 다시 로딩하지 않고, 웹 페이지의 일부분만을 갱신할 수 있고 백그라운드 영역에서 서버와 통신하여 그 결과를 웹 페이지의 일부분에서만 표시할 수 있다. - 서버와 데이터를 주고 받을 수 있는데 대표적인 데이터의 형식은 JSON, XML, HTML, 텍스트 파일 등이 있다. 2) Ajax의 장점 1. 웹 페이지의 전체를 다시 로딩하지 않고도 웹 페이지 일부분만을 갱신할 수 있다. 2. 웹 페이지가 로드된 후에 서버로 데이터 요청이 가능하다. 3. 다양한 UI(동적 페이지) 구현이 가능해진다. 3) Ajax의 단점 1. 페이지의 이동이 없기 ..

Back-End/JSP 2021.07.19

[JSP] 요청방식(forward, redirect)

1) forward 방식 - request가 초기화가 안된다. - pageContext.forward("이동할페이지"); - 클라이언트가 request 객체를 통해 결과를 받아야 할 때, 혹은 단순 조회를 요청했을 때 사용한다. - Redirect 방식보다 성능이 좋다. (목록, 검색, ...) - url 정보가 이전 페이지로 남아있는다. 2) redirect 방식 - request 가 초기화되며 새롭게 생성된다. - response.sendRedirect("이동할페이지"); - 클라이언트가 요청했을 때 이전의 요청이 남아있지 않도록 하기 위해 사용한다. (회원가입, 글 작성, 결제, ...) - DB의 수정이 일어나는 경우에는 필수로 redirect방식을 써야한다.

Back-End/JSP 2021.07.16

[JSP] 내장객체 종류와 특징

1) 내장객체란? - 안에서 객체화없이 사용할 수 있는 객체이며, JSP파일이 서블릿으로 변환될 때 웹 컨테이너가 자동으로 메모리에 할당하며 제공한다. 2) 내장객체 종류 1. request - 웹 브라우저의 요청 정보를 저장해준다. 2. response - 웹 브라우저 요청에 대한 응답 정보를 저장해준다. 3. out - JSP 페이지 body에 출력할 내용 정보를 저장한다. 4. session - 하나의 웹 브라우저의 정보를 유지하기 위한 세션 정보를 저장해준다. 5. pageContext - JSP 페이지에 대한 정보를 저장한다. - 페이지 하나도 객체로 보면 된다. 6. config - JSP 페이지에 대한 설정 정보를 저장한다. 7. exeception - JSP 페이지에 예외가 발생한 경우 사..

Back-End/JSP 2021.07.16

[JSP] 액션태그와 GET, POST 방식

1) 액션태그란? - 서버나 클라이언트에게 어떠한 행동을 하도록 명령하는 태그이다. - 페이지간 사이를 제어하거나 다른 페이지의 실행 결과 내용을 현재 페이지에 포함하거나 자바빈즈(객체) 등의 다양한 기능을 제공한다. - 액션태그는 XML 형식인 를 쓴다. 2) 액션태그 종류 1. forward - 다른 페이지로의 이동, 즉 페이지의 흐름을 제어한다. - forward를 만나는 즉시 페이지가 이동된다. 2. include - 외부 페이지의 내용을 포함하거나 페이지 모듈화를 시킨다. 3. param - 데이터 전송용 태그이다. - 현재 페이지에서 다른 페이지에 정보를 전달한다. - 태그 안에 존재한다. 4. useBean 5. setProperty 6. getProperty 3) Get 방식과 Post 방..

Back-End/JSP 2021.07.15
반응형