Spring MVC
-
Servlet 3.0에 들어오면서 WAS에서 xml 내용이 제외되기 시작했다. 따라서 web.xml이 제거되고 자바 기반으로 동작할 수 있도록 구조적인 변경이 일어났다.그럼 web.xml의 내용들은 어디로 없어졌을까? web.xml의 흔적을 찾아서 ServletContainerInitializerWAS는 처음 동작을 시작하면서 web.xml 파일을 로딩해서 애플리케이션(컨텍스트)를 초기화 한다. Servlet 3.0에서 부터는 XML없이 초기화를 진행하기 위해서 java를 실행해야할 필요가 생겼다. 그래서 등장한 친구가 ServletContainerInitializer가 그 역할을 한다. WAS는 classpath에 포함된 ServletContainerInitializer타입의 객체들을 로드해서 onS..
[Servlet] Spring Legacy에서 web.xml 파일 제거Servlet 3.0에 들어오면서 WAS에서 xml 내용이 제외되기 시작했다. 따라서 web.xml이 제거되고 자바 기반으로 동작할 수 있도록 구조적인 변경이 일어났다.그럼 web.xml의 내용들은 어디로 없어졌을까? web.xml의 흔적을 찾아서 ServletContainerInitializerWAS는 처음 동작을 시작하면서 web.xml 파일을 로딩해서 애플리케이션(컨텍스트)를 초기화 한다. Servlet 3.0에서 부터는 XML없이 초기화를 진행하기 위해서 java를 실행해야할 필요가 생겼다. 그래서 등장한 친구가 ServletContainerInitializer가 그 역할을 한다. WAS는 classpath에 포함된 ServletContainerInitializer타입의 객체들을 로드해서 onS..
2024.10.17 -
이번 시간에는 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 -
이번 포스트에서는 locale과 알아보고 spring boot에서 locale관리 방법에 대해 알아보자. Locale Locale이란? Locale이란 사용자의 언어, 지역 설정을 정의하는 문자열로 Locale에 따라 날짜, 숫자등의 출력 포멧이 다양하게 표현된다. public void afterPropertiesSet() throws Exception { printByLocale(Locale.KOREA); printByLocale(Locale.US); } private void printByLocale(Locale locale) { double money = 123456.789; LocalDateTime now = LocalDateTime.now(); NumberFormat nf = NumberForm..
Locale 관리이번 포스트에서는 locale과 알아보고 spring boot에서 locale관리 방법에 대해 알아보자. Locale Locale이란? Locale이란 사용자의 언어, 지역 설정을 정의하는 문자열로 Locale에 따라 날짜, 숫자등의 출력 포멧이 다양하게 표현된다. public void afterPropertiesSet() throws Exception { printByLocale(Locale.KOREA); printByLocale(Locale.US); } private void printByLocale(Locale locale) { double money = 123456.789; LocalDateTime now = LocalDateTime.now(); NumberFormat nf = NumberForm..
2023.12.13