목록백엔드 개발 (7)
개인공부용123 프로그래밍 블로그
프로젝트 구동시 참여 : web.xml(톰캣 관련), root-context.xml, servlet-context.xml 로딩 순서 1. web.xml : ContextLoaderListener를 구동 2. root-context.xml : 빈 설정들을 동작, 빈들이 Spring의 context영역안에 생성 객체들간의 의존성 처리 3. DispacherServlet이 작동하면서 XmlWebApplicaitonContext를 이용하여 servlet-context.xml을 동작 이 과정에서 등록된 객체들을 기존에 만들어진 객체들과 같이 연동
1. POJO기반의 구성 - 일반적인 Java코드를 이용해서 객체를 구성하는 방식 - 개발자가 특정 라이브러리나 컨테이너에 종속 되지 않음 - 생산성 유리, 코드 테스트 작업 유연하게 할 수 있음 2. DI - 타 객체에 의존적인 객체의 의존성을 외부에서 주입 - 스프링에서는 ApplicationContext 이러한 역할을 하고 관리하는 객체를 Bean이라 부름 3. AOP 지원 - 반복적인 코드의 제거 - 비지니스 로직에 집중할 수 있음 - 유지 보수 용이함 4. 트랜잭션 지원 - 데이터베이스 이용시 하나의 업무가 여러작업으로 이루어지는 경우의 트랜잭션 처리를 XML이나 어노테이션으로 관리 가능
1. IoC(Inversion of Control) - 프로그램의 제어 흐름 구조가 바뀜 - 자신이 사용할 object를 생성하거나 선택하지 않고 어떻게 사용되는지 알 수 없음 - Container에 위임하고, Container는 Bean 설정 정보를 바탕으로 Bean을 만들어 DI하고 이로 인해 IoC가 이루어짐 - Spring에서는 ApplicationContext가 제어권을 가짐 2. DI(Dependency Injection) - 의존하는 클래스에 대한 인스턴스를 직접 생성하지 않고 컨테이너로부터 생성된 Bean을 Setter 혹은 생성자를 통해 외부로 부터 주입 - 코드 재사용성 증가, 결합도 감소 3. AOP(Aspect oriented programming) - 공통된 기능을 재사용(OOP를..
icon? display-name? description? distributable? context-param* filter* filter-mapping* listener* servlet* servlet-mapping* session-config? mime-mapping* welcome-file-list? error-page* taglib* resource-env-ref* resource-ref* security-constraint* login-config? security-role* env-entry* ejb-ref* ejb-local-ref* 위와 같은 순서로 작성을 권장
#1.상태정보 유지 - HTTP 프로토콜 방식은 무상태, 비 연결성 방식 - 클라이어트가 이전 요청에서의 처리 결과를 이후 요청에도 사용하고 싶다면 서버 혹은 클라이언트에 저장이 필요 - 서블릿, JSP 또한 HTTP 프로토콜 기반이므로 상태정보 유지 기술이 필요 1)저장 위치에 따른 분류 - 클라이언트 측 : Cookie - 서버 측 : ServletContext, HttpSession, HttpServletRequest 2) 유지 기간에 따른 분류 - 웹 어플리케이션 단위(애플리케이션이 서비스되는동안 유지) : ServletContext - 클라이언트 단위(클라이언트 별로 유지) : Cookie, Session - 요청 단위 유지(서비스 요청 종료 시 까지 유지) : HttpServletRequest
#1. 웹 프로그램 개발 방식 2. CGI 방식(웹서버의 직접적인 호출로 사용하는 CG) - 각 클라이언트에서 서버에 요청시 클라이언트 요청당 프로세스를 생성하는 방식 - 여러 사용자의 빈번한 성격의 웹서비스로는 적합하지 않음, 서버에 부하가 가중 될 수 있음 3. 서블릿 실행 방식(애플리케이션 서버(서블릿컨테이너)가 실행하는 방식) - 최초의 서블릿 요청전 하나의 프로세스가 생성이 되고 클라이언트가 요청하여 Service메소드 생성시 프로세스 내에 쓰레드를 생성하여 Service 메소드를 실행하는 방식 - CGI 프로그램 실행 바식보다 서버 부하나 메모리 사용량 측면에서 효율적 #2. 서블릿 변수 특징 서블릿 최초요청시 Heap메모리가 생성되고 클라이언트 요청시 쓰레드 내에 Stack메모리가 생성이 됨..
#1. 깨짐 발생 원인 웹 브라우저(KSC5601) - 서버(UTF-8) - DB서버(US) 와 같이 서비스를 처리하는 단계에서 매번 다른문자 코드를 사용하여 재표현되기때문에 깨짐이 발생 가능하다. #2. 복원 방식 - 복원방식은 GET 방식 POST 방식이 다름 POST 방식 - Request 코드에 req.setCharacterEncoding("UTF-8"), Response에 resp.setContentType("text/html;charset=UTF-8") 사용하여 해결 GET 방식 - GET 방식은 두가지를 변경하여야 한다. - 첫번째 클라이언트가 사용하는 인코딩 변경, 클라이언트 페이지에서 로 클라이언트 문자 코드 지정 - 두번째 서버쪽에서 server.xml의 Connector 태그에 URI..