servlet(4)
-
스프링 컨테이너(Spring Container) 및 설정 파일
스프링 프레임워크의 동작 원리를 알기 위해서는 스프링 프레임워크 설정 파일들에 대한 이해가 필요하다. 스프링 프레임워크에 대해 알아보기 전에 서블릿 컨테이너에 대한 사전 이해가 있어야지 해당 내용을 이해하는 데 수월하다. 서블릿 컨테이너 관련된 포스팅을 참조하길 바란다. 이번 포스팅은 스프링 프레임워크 동작 원리를 이해하기 위한 스프링 설정 파일에 대한 포스팅이다. 우선 스프링 설정 파일의 가장 기본이 되는 파일은 web.xml, servlet-context.xml, applicationContext.xml 이다. web.xml (배포서술자) web.xml은 배포 서술자라고 하며 WAS(톰켓) 가동시 WEB-INF 하위에 있는 web.xml을 읽고, 웹 어플리케이션 설정을 구성한다. 스프링 프레임워크를 ..
2022.02.07 -
서블릿 컨테이너(Servlet Container) 요청 처리 과정
1) 사용자 요청이 들어오면 정적파일은 웹서버에서 처리한다. 동적파일이 필요한 경우 웹서버는 WAS 즉, 서블릿 컨테이너로 request를 보낸다. (Servlet Container or Web Container or WAS라고 한다) 2) 요청을 받은 Servlet Container는 HttpServletRequest, HttpServletResponse 두 객체를 생성한다. 그리고 배치 서술자인 web.xml 또는 어노테이션을 통해서 요청한 URL에 맞는 서블릿을 찾는다. (MVC패턴에서 서블릿은 Controller이다) 3) 요청된 서블릿이 이전에 요청된 적이 없다면 해당 서블릿 객체를 생성하고 해당 서블릿의 init() 메소드를 호출하고 메모리에 로드시킨다. 만약, 이전에 생성한 적이 있다면 객체..
2022.02.03 -
[JSP/Servlet 개념정리] JSTL/EL문 구동 방식
jsp의 구동방식은 jsp가 컴파일되면 jsp또한 java파일인 서블릿이 된다. JSP에서 스크립트릿()과 표현식()을 대신해서 JSTL과 EL문을 사용한다. MVC모델방식에서 controller가 view로 forward하게 되면 view페이지인 jsp에서는 controller에서 setAttribute를 통해 객체바인딩하여 보낸 값(model을 통해 처리된값)을 getAttribute를 통해 가져와서 클라이언트가 보기 좋게 배치한다. 위와 같은 방식을 JSTL과 EL문을 사용하면 더 간단히 처리할 수 있다. JSTL에서 var를 통해 변수를 생성하면 setAttribute으로 생성되는 특징이 있다. 또한 출력하는 EL문인 ${}는 getAttribute로 불러오는 방식이다. 그러므로 이를 MVC모델에..
2021.07.18 -
[MySQL에러] Data truncation: Incorrect string value: '\xEA\xB4\x80\xEB\xA6\xAC...' for column...
회원가입 게시판을 만들던 도중 갑자기 JDBC에러가 떠버려서 장장 2시간을 날려먹었다.. 이제 오류를 다 잡았다고 생각하고 테이블을 다시 만들고 데이터를 insert하려는 데 갑자기 또 에러가 떠버렸다.. 후 에러 하나를 잡으면 내 실력도 한단계 성장한다고 생각하고 에러가 난 이유를 찾아봤다. 결론을 말하자면 인코딩에서의 문제였다. 쿼리문에 한글이 포함되어서 이를 인코딩시에 에러가 발생한 듯 하다. 해결방법은 간단하다. ALTER TABLE (테이블명) convert to charset utf8; 을 통해서 인코딩 방식을 utf-8방식으로 바꿔주면 된다.
2021.07.17