[Spring] Web MVC 방식
·
Backend/Spring
MVC 구조와 서블릿 / JSP 브라우저의 요청은 해당 주소를 처리하는 서블릿에 전달되고 서블릿 내부에서는 응답에 필요한 재료 데이터들을 준비한다. 서블릿은 준비한 데이터들을 JSP로 전달하고 JSP에서는 EL을 이용해서 최종적인 결과 데이터를 생성한다. JSP를 이용해서 생성된 결과 화면은 톰캣을 통해서 브라우저로 전송된다. 웹 MVC라는 구조는 'Model - View - Controller'의 역할을 분리해서 처리하는 구조로 데이터는 컨트롤러에서 결과는 뷰에서 처리한다. 여기서 서블릿이 컨트롤러 역할이고, JSP가 뷰 역할이라고 할 수 있다. 컨트롤러 역할을 하는 서블릿은 JSP에 필요한 데이터를 가공하는 역할을 하는데 이때 필요한 데이터를 제공하는 객체를 모델이라고 한다. MVC구조 예시 - 브라..
[Spring] Web 기본 동작 방식
·
Backend/Spring
Request/Response GET 방식 : 주소창에 직접 원하는 데이터를 적거나 링크를 클릭해서 호출 - 원하는 웹의 주소를 호출할 때 필요한 데이터를 '?', '&' , '=' 를 이용해서 같이 전송하는 방식 - 주소와 필요한 데이터를 한번에 같이 보내기 때문에 단순 링크로 처리되므로 다른 사람들에게 메신저나 SNS등을 통해 쉽게 공유 가능 - GET 방식은 주로 특정한 정보를 조회하는 용도로 사용 쿼리 스트링 - 웹에서 주소창 뒤에 '?'로 시작하는 내용물을 퀴리 스트링(query string) -무언가를 요구하거나 물어보는 용도로 데이터를 전달하기 위해 사용 - '키=값'의 형태로 데이터를 전달하는데 여러 개의 데이터가 필요한 경우 '&'를 사용한다. - '키=값' 형태를 파라미터 라고 한다. ..
[Servlet] Servlet 실행 방법 / @WebServlet
·
Backend/JSP & Servlet
서블릿 실행 Servlet 파일을 담을 Package를 만들어보자. src 폴더에 마우스 오른쪽 버튼을 누르고 단축메뉴에서 [New] -> [Package]를 선택한다. package 이름은 co.kr.test ,보통 패키지 이름은 도메인으로 하는 것이 편할 것이다. 패키지를 만들고. src 디렉터리 아래 kr.co.test 패키지가 생성이 된다. 그리고 kr.co.test에 마우스 오른쪽을 누르고, [New] -> [Class] 를 선택하여 FirstServlet 파일을 하나 만들어준다. ( 다른 이름 사용해도 괜찮다. ) 새 클래스 파일을 만들고, 다음과 같이 작성한다. import javax.servlet.http.HttpServlet; 서블릿을 작성하기 위해 상속받아야 하는 HttpServlet ..
[Servlet] Dynamic Web Project 시작 / Build Path / web.xml ..
·
Backend/JSP & Servlet
서블릿 구현 및 실행 웹 애플리케이션 웹 애플리케이션 접근 서블릿은 웹서버에서 서비스되는 페이지이다. 서블릿을 개발하였으면 해당 서블릿 실행 파일을 웹서버에 올려두어야 한다. 클라이언트는 웹서버에 서비스를 요청할 때 URL 정보를 보낸다. http://localhost:8080/edu/index.jsp 1. localhost : 웹 애플리케이션을 서비스하는 웹서버가 설치된 컴퓨터 주소 2. :8080 : 포트 번호로 서버를 찾아가기 위한 정보 3. /edu : 애플리케이션 이름 4. /index.jsp : 클라이언트가 요청한 최종 문서 정보 웹 애플리케이션 위치 Dynamic Web Project > Project 이름 설정 후, next > .. > Generate web.xml deployment d..
[Servlet] HTTP, 요청 방식, 프로토콜
·
Backend/JSP & Servlet
HTTP 란 ? - Hyper Text Transfer Protocol 의 약어로, TCP/IP 4계층에서 애플리케이션 계층에 해당하는 프로토콜이다. - 전송 계층에서 TCP를 사용하여 웹 브라우저와 서버 간에 통신하는 프로토콜이다. - HTTP는 웹 브라우저와 웹서버가 통신(요청, 응답)할 때 서로 약속된 요청, 응답 메시지를 주고 받으며 통신이 이루어진다. - 신뢰성 있는 통신과 처리 효율이 높은 프로토콜로서 인터넷 환경에서 가장 적합한 통신 구조이다. HTTP 요청 정보 - 웹 클라이언트가 웹서버에 서비스를 요청하면 HTTP에 의하여 자동으로 만들어져 서비스를 요청받는 웹서버에 전달된다. 웹 클라이언트가 서비스를 요청한다는 것은 웹 브라우저 주소줄에 URL을 입력한 후 Enter 키를 누르거나 웹 ..
[Servlet] Servlet, Servlet Container, JSP 란 ?
·
Backend/JSP & Servlet
Servlet이란 ? - 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술이다. Servlet의 예시 - 사용자가 로그인을 하려고 할 때, 사용자는 아이디와 비밀번호를 입력하고 로그인 버튼을 누른다. 그때 서버는 클라이언트의 아이디와 비밀번호를 확인하고, 다음 페이지를 띄워주어야 하는데, 이러한 역할을 수행하는 것이 바로 Servlet이다. Servlet의 특징 - 클라이언트의 요청에 대해 동적으로 작동하는 웹 어플리케이션 컴포넌트 - html을 사용하여 요청에 응답한다. - Java Thread를 이용하여 동작한다. - MVC 패턴에서 Controller로 이용된다. - HTTP 프로토콜 서비스를 지원하는 java.servlet.http..
[JSTL] - 기본 문법
·
Backend/EL & JSTL
JSTL에서 제안하는 표준 접두사 Tag Library 선언문 기능 Core (기본) 가장 자주 사용되는 태그. 일반적인 프로그램의 기능을 제공한다. XML XML 문서를 생성, 조작 Formatting (I18N-국제화) RDBMS와 상호 작용하는 태그를 제공 Functions (기타함수) 일반적인 문자열을 가공하고 조작하는 표준함수 - 변수 선언 태그, 변수를 다룰 때 사용한다. - 생성한 변수는 JSP의 로컬 변수가 아니라 Servlet 보관소에 저장된다. - scope의 기본 값은 page이기 때문에 생략하더라도 JSPContext에 저장된다. 값 - 변수 제거 태그 ex) 이름 : ${name} 이름 : ${name} 이름 : hong 이름 : - 출력문을 만드는 태그 - value 값이 nul..
[ JSTL ] JSTL 기초 , 설치 방법
·
Backend/EL & JSTL
JSTL - Java Server Pages Standard Tag Library의 약어로, Java 코드를 바로 사용하지 않고 HTML 태그()형태로 직관적인 코딩을 지원하는 라이브러리 이다. - 일반적으로 HTML 태그만으로는 Java의 forEach문과 같은 반복문을 사용할 수 없다. ${i} java 처럼 태그 () 안에 쓰임새가 직관적으로 파악되는 반복문을 확인할 수 있다. 이것이 JSTL 문법이다. JSTL 장점 : JSTL은 위 예시와 같이 forEach 기반의 반복문이며, 변수는 i로 설정하고, 초기값은 1, 종료값은 10이며 해당 변수를 차례로 화면에 출력하는 코드라는 것을 쉽게 파악할 수 있다. 이 장점 덕분에, 개발자가 아닌 HTML/CSS를 다루는 디자이너가 간단한 코드 작업을 쉽게..