본문 바로가기

Spring Boot

(10)
3. 서블릿(Servlet) - HttpServletRequest, HttpServletResponse 간단한 서블릿 소스코드를 보겠다. @WebServlet(name = "helloServlet", urlPatterns = "/hello") public class HelloServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); System.out.println("username = " + username); response.setContentType("text/plain"); respo..
4. MVC패턴
2-3. CSR , SSR * CSR 이란 Cliend Side Rendering의 약자로서 말그대로 클라이언트측에서 Rendering, 즉 화면을 그린다는 의미이다. 주로 동적인 화면에 사용한다. React, Vue, Anguler등이 있다. * SSR이란 Server Side Rendering의 약자로서 말그대로 HTML최종 결과를 서버측에서 생성 후 브라우저에 전달하는 방식을 말한다. 주로 정적인 화면에 사용된다. JSP, Thymeleaf등이 있다.
2-2 Web 동시요청, 멀티쓰레드 앞선 2-1게시물에서 아래 사진을 설명하였다. 3. Servlet Container에서 만들어진 Servlet을 호출한다. 라고 하였는데. 주체를 설명하지 않았다. Servlet을 호출하는 주체는 바로 쓰레드이다. Request객체와 Response객체를 쓰레드가 받고, 쓰레드가 Servlet을 호출하는 것이다. 그렇다면 쓰레드란 무엇일까? 쓰레드란? 프로그램코드를 순차적으로 실행하는것이다 java의 public static void main() { } 실행시 main이라는 이름의 쓰레드가 실행된다. 쓰레드는 한번에 하나의 코드만 실행한다. 동시 실행이 필요할 시 쓰레드를 추가한다. 쓰레드는 위와같이 프로그램 코드를 실행한느 단위를 말한다. 이제 WAS의 관점에서 바라보자. 클라이언트로부터 요청이 들어온..
2-1. 서블릿(Servlet) 서블릿이란 개발자가 HTTP스펙을 편리하게 사용할 수 있게 도와주는 역할을 수행한다. 예를들어 HTML의 FORM데이터 전송시 전송 아래와 같은 HTTP스펙이 전달된다. POST/edit HTTP/1.1 Host:127.0.0.1 Content-Type: application/x-www-form-urlencoded username=kang&age=32 HTTP메세지 요청을 받은 서버측에서는 해야 할 업무가 다음과 같다. TCP /IP 연결 대기, 소켓연결 HTTP요청 메시지를 파싱해서 읽기 HTTP Method판별(GET인지 POST인지...) URL판별 HTTP 메세지 바디의 내용 파싱 username, age 데이터 파싱 비즈니스 로직 수행 HTTP 응답 메세지 작성 TCP/IP에 응답 전달, 소켓 ..
1. Web Application 이란? 현대의 모든 Web Application은 HTTP프로토콜 기반으로 통신을 진행한다. - HTTP가 처리하는 항목들 - HTML , TEXT, JSON (결국 다 String) 이미지파일, 영상파일 등 Web Server 란 클라이언트가 요청하는 정보를 응답해주는 역할을 한다 HTTP기반으로 동작하며, web Server가 응답을 주는 리소스에는 '정적 리소스(HTML, IMAGE 등)' 가 있다 ex) Apache, NGINX 등이 있다. Web Application Server(WAS) 란 Web Server와 마찬가지로 클라이언트가 요청하는 정보를 응답해주는 역할을 한다 HTTP기반으로 동작하며, web Server가 응답을 주는 정적 리소스를 제공할 뿐만 아니라 프로그램을 실행하는 애플리케이션 로..
0. 개요 앞으로 해당 카테고리에서는 SpringMVC에 대해 공부한 내용을 복습? 겸 정리하는 내용을 기술 할 것이다. 아래 링크의 강의를 통해 학습을 진행하였으며, 해당내용을 정리하는 나만의? 공간이다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원 www.inflearn.com * 목차 웹 애플리케이션에 대한 이해 WAS & Servlet 서블릿 web 동시요청..
1. Controller return String @Controller public class HelloController { @GetMapping("hello") public String hello(Model model) { model.addAttribute("data", "hello!!"); return "hello"; } } 컨트롤러의 return값이 String인 경우 Spring의 viewResolver가 해당 String으로 명명된 resources/template/string.html파일을 찾아 매핑한다.