개발/코딩

[프로그래밍] 게시판 만들기 도전, 220223 아침 복습, 웹,서블릿,스코프

mabb 2022. 2. 23. 08:31
반응형

 (안녕하세요. 삶의 질을 높이고자 노력하는 영차영차입니다.
직장생활과 병행하여 22년3월을 기한으로 게시판 만들기에 도전해보고자 합니다.
해당 포스팅은 그 과정에 대한 순수 기록 목적입니다)

---------------------------------------------------------------------------------------------

 부스트코스의 강경미, 윤지수 선생님의 웹프로그래밍(풀스택) 강의가 정말 유익하다.
인강이지만 초보의 입장에 맞춰주는 친절함과 깔끔한 설명 덕분에 좋다. 이해를 바탕으로 복습을 해봄.(틀린부분은 앞으로 공부하면서 바로잡아보자)

 웹은 클라이언트와 서버의 통신임. 클라이언트(브라우저) 서버(WAS,DB). 서버에 저장된 프로그램, 동영상, 이미지, 텍스트 등의 '정보(DATA)'를 크롬,익스플로러 등의 브라우저에서 사용자가 보기 편하게 만들어주는 것이 웹 프로그래밍이라고 이해해봄. 브라우저에서 화면을 만드는데 필요한 수단은 HTML,CSS,JS가 있으며 HTML로 웹페이지의 구조를 만들고 CSS로 이를 꾸며주며 JS로 동적인 기능을 만듦. 백엔드는 서버와 DB 등 프론트에 표현할 데이터를 저장하고 처리하는 부분.처음에는 프론트엔드와 백엔드라는 용어에 꽂혀서 HTML,CSS,JS로 프론트를 만들고 서버라는 존재에 (추상적으로 느껴졌었음) 연결을 시켜주는 것이라고 생각함. 그래서 네이버나 구글등을 우클릭하여 나오는 검사 창의 HTML 코드를 보며 와 이걸 어떻게 다 일일이 작성했지? 하며 감탄하였음.

 브라우저에서 URL(유니폼 리소스 로케이트)를 주소창에 입력하면 브라우저는 서버로 request를 함. 이 request는 요청한다는 단순한 동사가 아니라 실제로 하나의 '객체'로서 많은 정보를 담고 있다고 함. response도 마찬가지로 응답한다는 단순한 동사가 아니라 하나의 '객체'임.  http://naver.com 등의 URL 주소에서 알수 있듯 HTTP라는 하이퍼텍스트트랜스퍼프로토콜로 브라우저와 서버가 정보를 주고받음. HTTP메소드에는 GET과 POST 등이 있음. 처음에는 요청과 응답을 하기 위해서는 직접 HTTP로 무언가 만들어야 하는 줄 알았음. 하지만 인간들의 기술은 위대하였고 자바에는 Servlet이라는 java코드가 있음. 

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

이런 식으로 이미 만들어놓았음. 파이썬으로 치면 pandas나 sklearn을 임포트하여 그 안의 기능을 사용하듯
서블릿이라는 자바파일에는 이미 알아서 브라우저의 request를 '객체'로 받고 개발자의 코드를 response객체로 만들어주는 기능이 구현되어 있는 것임.

 서블릿은 버전 3.0미만과 3.0이상의 차이가 있는데 3.0미만의 서블릿은 WEB.XML이라는 파일을 사용하여야하며 서블릿 3.0이상은 WEB.XML을 사용하지 않고 어노테이션(앞에 @가 붙음. 사전으로는 주석이라는 뜻)을 사용함. 서블렛 파일을 만들 때 URL 매핑을 하는 설정이 나오는데 /서블릿명 (또는 설정가능) 이게 브라우저가 URL로 해당 서블릿 파일을 요청하는 수단이고 이 URL매핑 정보가 3.0이상은 어노테이션에, 3.0미만은 XML파일에 저장되는 것으로 이해해봄.
서블릿은 자바코드에서 HTML코드를 구현함. 서블릿에는
리퀘스트객체
리스폰스객체
doGet메소드
doPost메소드
Service메소드
init메소드
destroy메소드
등이 포함되어 있음.

 JSP(JavaServerPage)는 HTML코드 안에 <% 자바코드 %>를 사용하여 HTML로 페이지를 만드는데 더 편리함.
JSP파일은 실제로는 서블릿으로 변환되어 브라우저에 구현됨. JSP와 서블릿은 장단점이 있으며 목적을 위해 더 효율적인 것을 사용하고 foward 기능으로 서로 연동할 수 있음. 

Redirect
애플리케이션스코프
세션스코프
리퀘스트스코프
페이지스코프

DB사용법까지 공부하면 일단 직접 도전을 하면서 복습 및 추가 공부를 하는 전략으로 가야겠다.
출근하기 싫다.

 

반응형