Spring MVC/01.WebProgramming
-
이번 시간에는 Cookie, Session등 웹 애플리케이션에서 상태를 유지하기 위한 방법들에 대해 살펴보자. Http의 Stateless 한 특성 기본적으로 HTTP는 stateless 한 특성을 지닌다(반대말은 stateful 이다). 즉 한번 request를 보내고 서버로부터 response를 받으면 서로 남남으로 이전 요청의 상태를 기억하지 않는다. 그래서 로그인 후 글쓰기를 하려해도 다시 로그인 하라고 이야기 하게 된다.왜 HTTP는 stateless 할까?더보기확장성: 서버가 상태를 저장하지 않기 때문에 새로운 서버를 추가(scale out)하거나 기존 서버를 제거하는 것이 쉽다. 이를 통해 대규모 트래픽에 대응하기가 용이하다.단순성: 들어오는 요청만 처리하면 되기 때문에 시스템의 구성이 ..
07. cookie와 session이번 시간에는 Cookie, Session등 웹 애플리케이션에서 상태를 유지하기 위한 방법들에 대해 살펴보자. Http의 Stateless 한 특성 기본적으로 HTTP는 stateless 한 특성을 지닌다(반대말은 stateful 이다). 즉 한번 request를 보내고 서버로부터 response를 받으면 서로 남남으로 이전 요청의 상태를 기억하지 않는다. 그래서 로그인 후 글쓰기를 하려해도 다시 로그인 하라고 이야기 하게 된다.왜 HTTP는 stateless 할까?더보기확장성: 서버가 상태를 저장하지 않기 때문에 새로운 서버를 추가(scale out)하거나 기존 서버를 제거하는 것이 쉽다. 이를 통해 대규모 트래픽에 대응하기가 용이하다.단순성: 들어오는 요청만 처리하면 되기 때문에 시스템의 구성이 ..
2024.09.08 -
이번 포스트에서는 MVC 패턴과 Servlet에서의 Model2 구조에 대해 살펴보자.MVC 패턴 MVC 패턴이란?애플리케이션 개발에 가장 흔하게 적용되는 패턴으로 MVC 패턴이 있다. 이는 애플리케이션을 역할에 따라 Model-View-Controller로 모듈화하는 패턴이다. Model: 업무 즉 business logic을 담당하는 모듈로 필요하다면 DB를 연동(persistence logic)하기도 한다.View: 화면에 보여주기 위한 presentation logic 처리하는 모듈이다.Controller: 전체적인 흐름을 제어하는 모듈이다.이렇게 모듈을 분리하는 목적은 필요에 따라 모듈을 쉽게 교체하기 위해서이다. 만약 현재 View가 A라는 기술로 작성되어있는 상황에서 B라는 기술로 대체해야 ..
06. MVC와 Model2이번 포스트에서는 MVC 패턴과 Servlet에서의 Model2 구조에 대해 살펴보자.MVC 패턴 MVC 패턴이란?애플리케이션 개발에 가장 흔하게 적용되는 패턴으로 MVC 패턴이 있다. 이는 애플리케이션을 역할에 따라 Model-View-Controller로 모듈화하는 패턴이다. Model: 업무 즉 business logic을 담당하는 모듈로 필요하다면 DB를 연동(persistence logic)하기도 한다.View: 화면에 보여주기 위한 presentation logic 처리하는 모듈이다.Controller: 전체적인 흐름을 제어하는 모듈이다.이렇게 모듈을 분리하는 목적은 필요에 따라 모듈을 쉽게 교체하기 위해서이다. 만약 현재 View가 A라는 기술로 작성되어있는 상황에서 B라는 기술로 대체해야 ..
2024.08.20 -
이번 포스트에서는 JSP와 Servlet의 차이를 살펴보고 JSP의 구성요소를 학습해보자. JSP 기존 Servlet의 문제점과 JSPServlet은 Java에서 동적 애플리케이션을 만들기 위해서 꼭 필요한 녀석인데 치명적인 단점이 존재한다.더보기private void handleRequest(HttpServletRequest request, HttpServletResponse response) throws IOException { String danStr = request.getParameter("dan"); // 1. 파라미터 확인 및 검증 StringBuilder data = new StringBuilder(); if (danStr == n..
05. JSP이번 포스트에서는 JSP와 Servlet의 차이를 살펴보고 JSP의 구성요소를 학습해보자. JSP 기존 Servlet의 문제점과 JSPServlet은 Java에서 동적 애플리케이션을 만들기 위해서 꼭 필요한 녀석인데 치명적인 단점이 존재한다.더보기private void handleRequest(HttpServletRequest request, HttpServletResponse response) throws IOException { String danStr = request.getParameter("dan"); // 1. 파라미터 확인 및 검증 StringBuilder data = new StringBuilder(); if (danStr == n..
2024.08.12 -
이번 시간에는 Front Controller Pattern에 대해 살펴보자.Front Controller Pattern front controller이제까지는 사용자의 요청 하나를 처리하기 위해서 하나의 Servlet을 만들었어야 했다. 하지만 이 과정은 HttpServlet을 상속받는 Servlet을 작성해야하고, get/post에 따라 처리하는 등 상당히 번거롭다.Servlet은 웹 클라이언트의 요청을 받아서 응답을 출력해야 하는 아주 중요한 역할을 수행한다. MVC 기반 프로그램에서의 Servlet은 여러 개의 모듈로 분리되면서 Controller로써 동작하는데, 대부분의 작업은 Model/View에게 위임하고 실제로는 거의 길잡이 역할만 수행한다.이렇게 단순히 셔틀 역할을 하는 Servlet을 여..
04. Front Controller Pattern이번 시간에는 Front Controller Pattern에 대해 살펴보자.Front Controller Pattern front controller이제까지는 사용자의 요청 하나를 처리하기 위해서 하나의 Servlet을 만들었어야 했다. 하지만 이 과정은 HttpServlet을 상속받는 Servlet을 작성해야하고, get/post에 따라 처리하는 등 상당히 번거롭다.Servlet은 웹 클라이언트의 요청을 받아서 응답을 출력해야 하는 아주 중요한 역할을 수행한다. MVC 기반 프로그램에서의 Servlet은 여러 개의 모듈로 분리되면서 Controller로써 동작하는데, 대부분의 작업은 Model/View에게 위임하고 실제로는 거의 길잡이 역할만 수행한다.이렇게 단순히 셔틀 역할을 하는 Servlet을 여..
2024.08.08 -
이번 포스트에서는 Servlet의 주요 특징에 대해 살펴보자.더보기@WebServlet(name = "helloServlet", value = "/hello-servlet")public class HelloServlet extends HttpServlet { private String message; public void init() { message = "Hello World!"; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("text/html"); // Hello ..
03. Servlet 분석이번 포스트에서는 Servlet의 주요 특징에 대해 살펴보자.더보기@WebServlet(name = "helloServlet", value = "/hello-servlet")public class HelloServlet extends HttpServlet { private String message; public void init() { message = "Hello World!"; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("text/html"); // Hello ..
2024.08.05 -
이번 포스트에서는 간단한 Web Application을 만들고 Servlet의 동작을 이해해보자. 환경 설정 및 프로젝트 생성 WAS 설치웹 애플리케이션 개발을 위해서는 가장 먼저 WAS가 필요하다. 우리는 WAS로 Tomcat 10.X를 사용해보자. 다음 링크로 이동해서 Tomcat을 다운로드 한다.https://tomcat.apache.org/download-10.cgi Apache Tomcat® - Apache Tomcat 10 Software DownloadsWelcome to the Apache Tomcat® 10.x software download page. This page provides download links for obtaining the latest version of Tomca..
02. Hello Servlet이번 포스트에서는 간단한 Web Application을 만들고 Servlet의 동작을 이해해보자. 환경 설정 및 프로젝트 생성 WAS 설치웹 애플리케이션 개발을 위해서는 가장 먼저 WAS가 필요하다. 우리는 WAS로 Tomcat 10.X를 사용해보자. 다음 링크로 이동해서 Tomcat을 다운로드 한다.https://tomcat.apache.org/download-10.cgi Apache Tomcat® - Apache Tomcat 10 Software DownloadsWelcome to the Apache Tomcat® 10.x software download page. This page provides download links for obtaining the latest version of Tomca..
2024.03.05 -
이번 포스트에서는 "웹 프로그래밍"의 개요와 자바 기반 웹 프로그래밍 주요 특성에 대해 살펴보자. 웹 프로그래밍 웹 프로그램과 WAS웹 프로그램이란 통상 원격지의 서버(server)에서 실행되는 프로그램을 말한다. 원격지의 서버란 네트워크 저 너머 특정 IP(192.168.0.1)에서 동작하고 있다.stand alone applicationweb application일반적인 stand alone application의 경우는 클래스들이 동일한 컴퓨터의 JVM 위에서 동작하기 때문에 실행을 위해 고려할 내용이 별로 없다. 하지만 네트워크 너머 원격지 서버에서 실행되는 프로그램을 실행시키려면 어떻게 해야 할까? 어떻게 호출 해야하고 결과를 어떻게 확인해야 할지 막막하다. 일단 직접 호출할 수는 없으니 네..
01. 웹 프로그래밍 개요이번 포스트에서는 "웹 프로그래밍"의 개요와 자바 기반 웹 프로그래밍 주요 특성에 대해 살펴보자. 웹 프로그래밍 웹 프로그램과 WAS웹 프로그램이란 통상 원격지의 서버(server)에서 실행되는 프로그램을 말한다. 원격지의 서버란 네트워크 저 너머 특정 IP(192.168.0.1)에서 동작하고 있다.stand alone applicationweb application일반적인 stand alone application의 경우는 클래스들이 동일한 컴퓨터의 JVM 위에서 동작하기 때문에 실행을 위해 고려할 내용이 별로 없다. 하지만 네트워크 너머 원격지 서버에서 실행되는 프로그램을 실행시키려면 어떻게 해야 할까? 어떻게 호출 해야하고 결과를 어떻게 확인해야 할지 막막하다. 일단 직접 호출할 수는 없으니 네..
2023.12.09