본문 바로가기
728x90
반응형

스프링/스프링 웹53

[Spring] 자바 백엔드 웹 기술 역사(서블릿, JSP, MVC) 자바 웹 기술은 변천사가 있어왔다. 아래는 과거에 사용했던 기술들이다. 1997년도에 처음 서블릿을 사용했으며, 이 당시에는 HTML 생성이 어려웠다. 1999년도에 들어 JSP를 사용하였고, HTML 생성은 편리하지만 비즈니스 로직까지 너무 많은 역할을 담당했다. 그 이후 서블릿, JSP 조합으로 MVC 패턴을 만들어 사용했는데, 모델, 뷰, 컨트롤러 역할로 나누어 개발했다. 2000년대 초부터 2010년대 초까지 MVC 프레임워크 춘추전국시대였다. MVC 패턴 자동화, 복잡한 웹 기술을 편리하게 사용할 수 있는 다양한 기능을 지원했다. 스트럿츠, 웹워크, 스프링 MVC(과거 버전) 현재는 아래와 같은 기술들을 사용하고 있다. 애노테이션 기반의 스프링 MVC를 사용한다 - @Controller - MV.. 2023. 5. 16.
[Spring] HTML, HTTP API, CSR, SSR 정적인 리소스로는 고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 제공한다. 주로 웹 브라우저를 예로 들 수 있다. HTML 페이지는 동적으로 필요한 HTML 파일을 생성해서 전달한다. 웹 브라우저는 HTML을 해석한다. HTML이 아니라 데이터를 전달한다 주로 JSON 형식을 사용하고, 다양한 시스템에서 호출한다. 다양한 시스템에서 호출할 수 있고, 데이터만 주고 받는 것 뿐만 아니라 UI 화면이 필요하면 클라이언트가 별도로 처리한다 HTTP API는 다양한 시스템을 연동할 수 있다. 주로 JSON 형태로 데이터 통신을 하며, UI 클라이언트 접점이 있다. 앱 클라이언트(아이폰, 안드로이드, PC 앱) 웹 브라우저에서 자바스크립트를 통한 HTTP API 호출을 한다. React, Vue.js.. 2023. 5. 15.
[Spring] 동시요청 - 멀티 쓰레드 WAS가 요청을 받았을 때, 커넥션이 연결되고, 서블릿을 호출하는 역할을 하는 것이 있다. 서블릿 객체를 누가 호출하는가? 바로 쓰레드이다. 쓰레드는 애플리케이션 코드를 하나하나 순차적으로 실행하는 역할을 한다. 자바의 메인 메서드를 처음 실행하면 main이라는 이름의 쓰레드가 실행된다. 쓰레드가 없다면 자바 애플리케이션 실행이 불가능하다. 쓰레드는 한번에 하나의 코드 라인만 수행한다. 동시 처리가 필요하면 쓰레드를 추가로 생성할 수 있다. 단일 요청이 들어오고 하나의 쓰레드만 사용할 때, 여러 개의 요청이 들어오고 하나의 쓰레드만 사용할 때, 요청마다 쓰레드를 생성하면, 요청마다 쓰레드를 생성할 때, 장점으로는 동시 요청을 처리할 수 있고, 리소스(CPU, 메모리)가 허용할 때까지 처리가 가능하다 하나.. 2023. 5. 15.
[Spring] 서블릿(Servlet) 개념 우리는 데이터를 웹 브라우저에서 전송할 때 Form을 사용한다. Form에 데이터를 입력하여 서버로 전송한다. 서버에서 요청받은 데이터를 처리해야할 때, 비즈니스 로직을 실행하여야 한다. 데이터를 처리하여 데이터베이스에 저장 요청해야한다. 서블릿을 지원하는 WAS를 사용하여 데이터 저장 비즈니스 로직을 실행한 후, 응답 메시지를 생성한다. 서블릿의 특징으로는 @WebServlet(name = "helloServlet", urlPatterns = "/hello") public class HelloServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response.. 2023. 5. 15.
[Spring] 웹 서버, 웹 애플리케이션 서버 웹 서버와 웹 애플리케이션 서버에 대한 비교 웹 서버(Web Server)는 HTTP 기반으로 동작한다. 정적인 리소스를 제공하고, 기타 부가기능을 제공한다. 정적(파일) HTML, CSS, JS, 이미지, 영상 등을 제공한다. 웹 서버 종류로는 예) NGINX, APACHE 웹 애플리케이션 서버(WAS - Web Application Server) HTTP 기반으로 동작한다. 웹 서버의 기능을 포함한다. (정적인 리소스 제공 가능) 프로그램 코드를 실행해서 애플리케이션 로직을 수행한다. → 동적 HTML, HTTP API(JSON) → 서블릿, JSP, 스프링 MVC 등 웹 애플리케이션 서버 종류로는 예) 톰캣(Tomcat), Jetty, Underrow 웹 서버, 웹 애플리케이션 서버(WAS) 차이 .. 2023. 5. 15.
728x90
반응형