Spring/MVC

· Spring/MVC
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/MVC
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..
· Spring/MVC
서버 사이드 랜더링(SSR) 서버 사이드 랜더링은 서버에서 클라이언트에 보여질 화면을 결정하는 것이다. 즉, HTML을 서버에서 모두 만들어서 웹 브라우저에 전달하면 웹 브라우저는 HTML을 표시만 해주면 된다. 서버에서 HTML을 생성하게 되면 이용자가 많아질 수록 서버에 부담이 갈 수 밖에 없다. 따라서 서버 비용이 비싸므로 이는 주로 정적인 화면에만 사용된다. 물론 동적으로 변경 가능하지만, 서버에 부담이 가므로 권장되지 않는다. Thymleaf와 같은 것이 이렇게 작동한다. 모든 HTML이 이미 세팅되어 있고 특정 문자열만 변경이 필요한다던지 할 때 이 방식을 사용한다. SSR 동작 방식 클라이언트에서 서버로 HTML 요청 서버에서 응답하여 클라이언트에 HTML 내려줌 클라이언트는 서버에서 받은 ..
· Spring/MVC
웹서버의 특징 HTTP를 기반으로 동작 HTTP를 기반으로 동작하기 때문에 HTTP프로토콜을 기반으로 정적 리소스를 요청자에게 제공한다. 정적 리소스는 HTML, CSS, 이미지, 영상 등이 있을 수 있다. 정적인 파일만 제공 정적인 파일만 제공하기 때문에 사용자에 따라 다른 결과의 제공이 불가하다. 플러그인 설치 등으로 제공되기도 하지만, 이해를 위해 이는 논외로 하자. 대표적인 웹서버 APACHE 웹 애플리케이션 서버(WAS)란? HTTP를 기반으로 동작 웹서버와 마찬가지로 HTTP를 기반으로 동작하기 때문에 정적 리소스의 제공이 가능하다. 동적인 로직 수행해서 제공 하지만, 웹서버와 다른 점은 웹 애플리케이션 서버는 프로그래밍이 가능하기 때문에 사용자에 따라 다른 결과의 제공이 가능하다. 우리가 쓰..
· Spring/MVC
Controller란? Controller란 서버의 진입점이자, 사용자의 요청(Request)을 받아들인 후 어떤 처리를 해야할지 결정하는 부분이다. 이렇게 말하면 너무 추상적이니 예시와 함께 알아보도록 하자. 사용자는 사용하는 웹사이트에 대한 HTTP통신을 통해 홈페이지에 접속한다. https://kotlinworld.com/category/Kotlin 예를 들어 위의 주소를 웹브라우저의 검색 창에 치면 kotlinworld.com을 처리하는 서버는 /category/Kotlin에 대한 결과값을 사용자에게 View로 만들어 반환한다. 그 결과는 아래와 같다. 이것이 가능한 이유는 서버에서 /category/Kotlin에 대한 요청을 의 View를 반환하도록 처리 하였기 때문이다. Spring에서 Con..
Dev.Cho
'Spring/MVC' 카테고리의 글 목록 (3 Page)