Spring

    Spring MVC Framework란 무엇인가? Spring MVC의 구조와 의의

    Spring MVC란 무엇인가? Spring MVC는 Spring에서 제공하는 웹 모듈로, Model, View, Controller 세가지 구성요소를 사용해 사용자의 다양한 HTTP Request을 처리하고 단순한 텍스트 형식의 응답부터 REST 형식의 응답은 물론 View를 표시하는 html을 return하는 응답까지 다양한 응답을 할 수 있도록 프레임웍이다. Spring MVC는 다양한 요청을 처리하고 응답하기 위해 주요 구성요소들을 만들어놓고 구성요소들을 확장할 수 있게 만들어 놓는데, 이들을 제대로 사용하기 위해서는 MVC가 어떻게 구성되어 있는지를 알아야 한다. 이번 글에서는 MVC가 어떤 구조로 이루어져 있는지, 각 구성요소들이 어떤 역할을 하는지를 알아볼 것이다. Sprint MVC의 구조..

    [Spring] Servlet에서 Request 처리해 Response 리턴하기

    Servlet에서 Request의 파라미터를 받아오는 방법 예를 들어 다음과 같이 user에 대한 쿼리를 넣어 http 요청을 한다고 해보자. http://localhost:8080/hello?user=devcho 서블릿 상에서 위 user을 받아오기 위해서는 HttpServletRequest 인터페이스의 getParameter 메서드를 이용하면 된다. getParameter은 인풋을 String으로 받으며 결과값을 리턴하는 메서드로 user 파라미터를 받아오기 위해 다음과 같이 사용할 수 있다. @WebServlet(name = "helloServlet", urlPatterns = ["/hello"]) class HelloServlet : HttpServlet() { override fun servic..

    [Spring] Servlet 만드는 방법 정리

    Spring에서 서블릿 만드는 방법 1. 서블릿 스캔을 위해 SpringBootApplication 위에 @ServletComponentScan Annotation을 붙인다. @ServletComponentScan // 서블릿 자동 등록 @SpringBootApplication class ServletExampleApplication fun main(args: Array) { runApplication(*args) } 2. 1에 의해 ServletExampleApplication 하위의 모든 패키지의 @WebServlet이 스캐닝 되므로 base 패키지를 추가하고 HelloServlet 클래스를 추가한다. 3. HelloServlet 클래스는 다음과 같이 작성한다. @WebServlet Annotatio..

    SSR(서버 사이드 랜더링)과 CSR(클라이언트 사이드 랜더링)의 차이는 무엇인가?

    서버 사이드 랜더링(SSR) 서버 사이드 랜더링은 서버에서 클라이언트에 보여질 화면을 결정하는 것이다. 즉, HTML을 서버에서 모두 만들어서 웹 브라우저에 전달하면 웹 브라우저는 HTML을 표시만 해주면 된다. 서버에서 HTML을 생성하게 되면 이용자가 많아질 수록 서버에 부담이 갈 수 밖에 없다. 따라서 서버 비용이 비싸므로 이는 주로 정적인 화면에만 사용된다. 물론 동적으로 변경 가능하지만, 서버에 부담이 가므로 권장되지 않는다. Thymleaf와 같은 것이 이렇게 작동한다. 모든 HTML이 이미 세팅되어 있고 특정 문자열만 변경이 필요한다던지 할 때 이 방식을 사용한다. SSR 동작 방식 클라이언트에서 서버로 HTML 요청 서버에서 응답하여 클라이언트에 HTML 내려줌 클라이언트는 서버에서 받은 ..

    웹 서버와 웹 애플리케이션 서버(WAS)의 차이

    웹서버의 특징 HTTP를 기반으로 동작 HTTP를 기반으로 동작하기 때문에 HTTP프로토콜을 기반으로 정적 리소스를 요청자에게 제공한다. 정적 리소스는 HTML, CSS, 이미지, 영상 등이 있을 수 있다. 정적인 파일만 제공 정적인 파일만 제공하기 때문에 사용자에 따라 다른 결과의 제공이 불가하다. 플러그인 설치 등으로 제공되기도 하지만, 이해를 위해 이는 논외로 하자. 대표적인 웹서버 APACHE 웹 애플리케이션 서버(WAS)란? HTTP를 기반으로 동작 웹서버와 마찬가지로 HTTP를 기반으로 동작하기 때문에 정적 리소스의 제공이 가능하다. 동적인 로직 수행해서 제공 하지만, 웹서버와 다른 점은 웹 애플리케이션 서버는 프로그래밍이 가능하기 때문에 사용자에 따라 다른 결과의 제공이 가능하다. 우리가 쓰..