일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 래퍼클래스
- 불변객체
- 옵티마저
- 중첩클래스
- Wrapper class
- 검증 실패 예외처리
- 데이터베이스파서
- 동등성동일성
- 왜불변객체인가
- multiparfile데이터
- httpservlet기술
- 공유기작동방식
- rest api
- biblecash
- 옵티마이저
- 동기비동기블로킹논블로킹
- 클라이언트요청반응
- fcm데이터구조
- multipart바인딩
- 프로세스 생성
- equals
- 디스패처서블릿
- rest api 검증
- DispatcherServlet
- fcmv1
- fcm성능비교
- HttpServlet
- HTTP프로토콜
- java enum
- 스프링요청반응
- Today
- Total
목록분류 전체보기 (49)
개발은 아름다워
고대의 서블릿을 찾아서(1)에서는 @WebServlet을 이용하여 클라이언트의 요청 URL을 받고 해당 URL HTTP 요청을 HttpServletRequest 객체를 이용하여 데이터를 파싱 후 HttpServletResponse 객체에 html 코드를 입력하여 응답 데이터를 브라우저에 보냈다.이 과정은 가장 큰 문제점은 자바 코드로 html을 작성해야 한다는 것이였다. 이러한 문제를 해결하기 위해 템플릿 엔진이 등장하게 된다.템플릿 엔진으로 생긴 변화-jsp자,먼저 클라이언트 HTTP요청 서버의 서블릿은 어떻게 처리하고 HTTP 응답을 만들었는지 코드로 봐보자.== 회원 가입 ==@WebServlet(name = "memberFormServlet",urlPatterns = "/servlet/member..
깊이 있는 이해를 하기 위해서는 때로는 발전 과정을 알아야한다고 생각한다. Spring으로 만든 웹 애플리케이션은 오랫동안 사용되면서 발전해왔고 지금도 발전 중이다. 발전이란 불편함을 개선하는 점에서 시작된다. 그렇다면 고대의(?) Spring 웹 애플리케이션은 어떤 점이 불편했고 어떻게 발전해왔을까? 고대의 서블릿을 찾아서 시리즈를 통해서 웹 애플리케이션으로 어떻게 발전했는지 공부하며 스프링에 대한 깊이 있는 이해를 다지는 시간으로 만들고 싶다.HttpServletRequest,HttpServletResponse 객체와 자바코드로만 웹 앱 만들기Spring이 제공하는 서블릿 객체인 HttpServletRequest와 HttpServletResponse 자바 코드만을 이용해서 회원 관리 웹 애플리케이션을..
HttpServlet은 뭘까?클라이언트에서 서버로 요청시, 브라우저는 HTTP 프로토콜에 맞춰서 요청 메서지를 만들어서 서버로 보낸다.HTTP 요청 메세지POST /save HTTP/1.1Host: localhost:8080Content-Type: application/x-www-form-urlencodedusername=kim&age=20서버에는 위와 같은 HTTP 요청 메세지가 온다. 그렇다면 서버에서는 HTTP 요청 메세지를 어떻게 처리해야하는걸까? HTTP 요청 메세지를 개발자가 직접 파싱해서 사용해도 되지만, 이 경우는 매우 매우 불편할 것이다. 그래서 서블릿은 개발자가 HTTP 요청 메세지를 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메세지를 파싱한다. 그리고 그 결과를 HttpS..

DispatcherServlet 니 누구야? DispatcherServlet는 무슨 역할을 하는 것일까?DispatcherServlet은 크게 보면 서버로 들어온 요청들을, 그 요청들을 담당하는 controller(handler)에 배정시켜주는 역할을 한다. 마치 작업 반장과 같은 느낌!(물론 더 많은 역할을 수행한다.) 그렇다면 어떻게 동작하는걸까?서블릿이 호출되면 HttpServlet이 제공하는 service()가 호출된다. 스프링 MVC는 DispatcherServlet의 부모인 FrameworkServlet에서 service()를 오버라이드 해두었기 때문에 FrameworkServlet.service() 를 시작으로 여러 메서드가 호출되면서 DispatcherServlet.doDispatch()가..
데이터 접근 절차를 결정하는 모듈 : 쿼리 평가 엔진쿼리 평가 엔진은 사용자로부터 입력 받은 SQL구문을 처음 읽어들이는 모듈이다. 쿼리 평가 모듈은 추가로 파서 또는 옵티마이저와 같은 여러 개의 서브 모듈로 구성된다.쿼리평가엔진이 사용자로부터 입렵받은 SQL문을 읽어들임파서옵티마이저에서 플랜 생성 후 비용 평가카탈로그 매니저플랜평가로 실행 계획을 알려줌파서파서의 역할은 구문을 해석하는 것이다. 왜냐하면 사용자로부터 입력 받은 SQL 구문이 항상 구문적으로 올바르다는 보증할 수 없기 때문이다. 예를 들어 FROM 구에 존재하지 않는 테이블 이름을 쓰는 경우 서류 심사에서 미리 떨어뜨리는 것이다.또한 파서는 SQL 구문을 정형적인 형식으로 변환해준다. 그렇게 해야 DBMS 내부에서 일어나는 후속 처리가 효..