본문 바로가기
728x90
반응형

스프링187

[Spring] 서블릿(Servlet) 만들기 스프링 부트 환경에서 서블릿을 등록하고 사용해본다. 서블릿은 톰캣 같은 웹 애플리케이션 서버를 직접 설치하고,그 위에 서블릿 코드를 클래스 파일로 빌드해서 올린 다음, 톰캣 서버를 실행하면 된다. 하지만 이 과정은 매우 번거롭다. > 스프링 부트는 톰캣 서버를 내장하고 있으므로, 톰캣 서버 설치 없이 편리하게 서블릿 코드를 실행할 수 있다. @ServletComponentScan : 스프링 부트 서블릿을 직접 등록해서 사용할 수 있도록 @ServletComponentScan 을 지원한다. 아래는 @ServletComponentScan 을 포함한 ServletApplcation 소스이다. ServletApplication.java package helloMVC.servlet; import org.sprin.. 2023. 5. 16.
[Spring] 서블릿(Servlet) 프로젝트 환경 설정 (IntelliJ) 1. Spring 사이트 가서 프로젝트 다운 받기 https://start.spring.io/ 맨 처음에 화면이 이렇게 나온다. 아래는 필자의 선택 항목이다 Project : Gradle - Groovy Language : Java Spring Boot : 2.7.11 Group : helloMVC Artifect : servlet Name : servlet Package Name : helloMVC.servlet Packaging : War Java : 11 처음엔 스프링 부트 3 버전을 사용하고 싶었으나, 스프링 부트를 3버전을 사용하려면 최소 JDK 버전이 17은 돼야 한다. 그래서 다시 JDK 를 깔고 진행해야하는 번거로움을 피하기 위해서 그냥 스프링 부트 2버전을 선택하여 진행했다. War 를 .. 2023. 5. 16.
[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.
728x90
반응형