본문 바로가기
728x90
반응형

전체 글111

[스프링 MVC 3] 웹 애플리케이션 이해: 동시 요청 - 멀티 쓰레드 서블릿 객체는 쓰레드가 호출한다! 쓰레드: 애플리케이션 코드를 하나하나 순차적으로 실행하는 것 자바 메인 메서드를 처음 실행하면, main이라는 이름의 쓰레드가 실행 →쓰레드가 없다면 자바 애플리케이션 실행이 불가능 쓰레드는 한번에 하나의 코드 라인만 수행 →동시 처리가 필요하면 쓰레드를 추가로 생성 단일 요청 - 쓰레드 하나 사용 요청1이 오면 쓰레드를 할당하고,. 이 쓰레드를 가지고 서블릿 코드를 실행한다. 응답까지 되고나면 쓰레드 휴식 다중 요청 - 쓰레드 하나 사용 요청1이 오면 쓰레드를 할당하고, 이 쓰레드를 가지고 서블릿 코드를 실행한다. 요청1 처리가 지연되는 와중에 요청2가 오고, 요청2는 쓰레드를 쓰지못하여 기다려야 한다. 요청1,2 둘 다 죽는다. (타임아웃, 오류발생) →쓰레드를 생성.. 2023. 7. 19.
[스프링 MVC 2] 웹 애플리케이션 이해: 서블릿 HTML Form 데이터 전송 예시 POST 전송 - 저장 이름이랑 나이의 값을 전송하면, HTML Form을 url은 /save, 방식은 post로 데이터(이름이랑 나이의 값)을 전달(저장) 웹브라우저가 그림과 같은 HTTP 요청 메시지를 생성하여 서버로 전송한다. 서버에서 처리해야 하는 업무 웹 애플리케이션 서버 직접 구현? 너무 많고 비효율적. →서블릿을 지원하는 WAS를 사용하면, 비즈니스 로직 외에는 다 자동화 된다! 서블릿 특징 urlPatterns(/hello)의 URL이 호출되면 서블릿 코드가 실행 HTTP 요청 정보를 편리하게 사용할 수 있는 HttpServletRequest HTTP 응답 정보를 편리하게 제공할 수 있는 HttpServletResponse 개발자는 HTTP 스펙을 매우 .. 2023. 7. 19.
[스프링 MVC 10] 서블릿: HTTP 요청 데이터 (*중요) HTTP 요청 데이터를 어떻게 조회하는지 알아보자! HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 방법 (3가지) 1. GET - 쿼리 파라미터 /url?username=hello&age=20 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달 예) 검색, 필터, 페이징 등에서 많이 사용하는 방식 [스프링 MVC 11] 서블릿: HTTP 요청 데이터 - GET 쿼리 파라미터 (tistory.com) [스프링 MVC 11] 서블릿: HTTP 요청 데이터 - GET 쿼리 파라미터 다음 데이터를 클라이언트에서 서버로 전송해보자. username=hello age=20 GET방식(메시지 바디 없이, URL의 쿼리 파라미터를 사용)으로 전송해보자. 쿼리 파라미터는 URL에 다.. 2023. 7. 19.
[스프링 MVC 9] 서블릿: HttpServletRequest 기본 사용법 HttpServletRequest가 제공하는 편리한 기본 기능들(HTTP 메시지의 start-line, header 정보 조회)을 알아보자. start-line 정보 @WebServlet(name = "requestHeaderServlet", urlPatterns = "/request-header") public class RequestHeaderServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { printStartLine(req); printHeaders(req); printHeader.. 2023. 7. 18.
[스프링 MVC 8] 서블릿: HttpServletRequest HttpServletRequest 역할 HTTP 요청 메시지를 개발자가 직접 파싱해서 사용해도 되지만, 매우 불편할 것이다. 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메시지를 파싱한다. 그리고 그 결과를 HttpServletRequest 객체에 담아서 제공한다. HttpServletRequest를 사용하면 다음과 같은 HTTP 요청 메시지를 편리하게 조회할 수 있다. POST /save HTTP/1.1 Host: localhost:8080 Content-Type: application/x-www-form-urlencoded username=kim&age=20 START LINE POST /save HTTP/1.1 Host: localhost:8080.. 2023. 7. 17.
[스프링 MVC 7] 서블릿: Hello 서블릿 스프링 부트 환경에서 서블릿을 등록하고 사용해보자. 스프링 부트 서블릿 환경 구성 @ServletComponentScan 스프링 부트가 서블릿을 직접 등록해서 사용할 수 있도록 해준다. @ServletComponentScan //서블릿 자동 등록 @SpringBootApplication public class ServletApplication { public static void main(String[] args) { SpringApplication.run(ServletApplication.class, args); } } 서블릿 등록하기 실제 동작하는 서블릿 코드를 등록 package hello.servlet.basic; import javax.servlet.ServletException; import .. 2023. 7. 17.
728x90
반응형