Spring
-
Servlet, JSP의 특징 및 차이점Spring 2020. 4. 29. 14:55
Servlet -서버에서 웹페이지 등을 동적으로 생성하거나 데이터 처리를 수행하기 위해 자바로 작성된 Program -웹 기반 요청에 대한 동적 처리가 가능한 Java Program -Java 코드 안에 HTML 코드( 하나의 클래스 ) -웹 개발을 위해 만든 표준 JSP -Servlet을 작성하지 않고도 간편히 웹 프로그래밍을 구현한 기술 -Java 언어를 기반으로 하는 Server side 스크립트 언 -HTML 코드 안에 Java 코드 두개의 용도 - Servlet : Data processing에 사용 => Spring의 Dispatch Servlet - JSP : view에 사용 => Spring에서 client에게 실제로 보여주는 화면에 사용
-
세션(Session) 과 쿠키(Cookie)Spring 2020. 4. 3. 11:36
세션, 쿠키 1. 세선(Session) 과 쿠키(Cookie) => 응답을 한 뒤, 연결을 끊음 : Connectionless Protocol => 서버에 연결되어있는 클라이언트가 여러개가 있을 수 있으므로, 위와 같은 방법을 사용 => 서버의 효율적인 사용을 위해 사용 - 세션 쿠키 : 클라이언트와 서버의 연결 상태를 유지해주는 방법 - 세션 : 서버에서 연결 정보를 관리 - 쿠키 : 클라이언트에서 연결 정보를 관리 => 둘다 연결상태를 유지해주지만, 위치가 다름. 2. HttpServletRequest 를 이용한 세션 사용 3. HttpSession을 이용한 세션 사용 => 세션을 바로 받아, getSession 필요 없이 setAttribute 을 하면 됨 4. 세션 삭제 => invalidate(..
-
@Resource 찾을 수 없음 | The import javax.annotation.Resource cannot be resolved | Spring Error 해결Spring 2020. 3. 28. 18:03
@Resource 찾을 수 없음 | The import javax.annotation.Resource cannot be resolved | Spring Error 해결 => The import javax.annotation.Resource cannot be resolved => Spring으로 웹앱을 구현하다 보면 간혹 저러한 Error Message를 볼 수 있다. => 이는 Java 9 부터 annotation을 지원하지 않기 때문이다. => 본질적으로 Annotation은 Spring의 구성요소가 아니다. ***해결방법 => Spring 설정파일인 pom.xml 에 javax.annotations 종속성을 추가해주어야 한다. javax.annotation javax.annotation-api 1.3..
-
스프링 MVC 웹서비스 - 2Spring 2020. 3. 27. 23:33
스프링 MVC 웹서비스 - 2 1. 프로젝트 전체 구조 2. web.xml - DispatcherServlet을 서블릿으로 등록하는 과정 설정 필요 - 모든 요청을 받기 위해 서블릿 맵핑경로는 ‘/‘로 설정 3. DispatcherServlet - 모든 요청을 가장 처음 받아들이는 역할 4. Servlet-context.xml - 스프링 설정의 역할을 하는 파일 - 이름 및 경로 설정을 해줌 5. Controller - 특정한 경로로 들어온 요청에 적합한 메소드를 실행하도록 함 - return “home” : jsp 를 반환함 6. View - 응답파일 ****실습예제
-
웹 프로그래밍 설계 모델Spring 2020. 3. 27. 01:38
웹 프로그래밍 설계 모델 1. 웹 프로그래밍을 구축하기 위한 설계 모델 -Model 1, Model 2 존재 => 위와 같은 프로세스를 통해 웹 프로그래밍이 구현됨 => Requeset 와 Response를 통해 구현됨 => Service : 기능 DAO : DB JSP : 보여줄 VIEW => 장점 : 개발속도 빠름 => 단점 : 유지보수 어려움 ( 개발자로서의 관점 ) => 필요한 모듈을 통해 구현됨 => Request 와 Response를 통해 구현됨 => Model 1 과 달리 컨트롤러, 서비스, DB, VIEW 등으로 각각을 모듈화 시킴 => 장점 : 유지보수 용이 => MVC (Model - View - Controller ) ***Spring은 Model 2에 해당됨 2. ***스프링 MVC..
-
생명주기(Life Cycle)Spring 2020. 3. 26. 10:52
생명주기(Life Cycle) 1. 스프링 컨테이너 생명주기 => 컨테이너가 생성되며, 빈(Bean) 객체가 생성됨 => 메모리에 스프링 컨테이너 생성됨 => 컨테이너의 생성시점 = 빈(Bean) 객체의 생성시점 => close()를 통해 컨테이너와 빈(Bean) 객체 메모리 해제 2. 빈(Bean) 객체 생명주기 - 스프링 컨테이너의 생명주기와 같음 ***설정 파일 설정시 유의 사항 를 빼먹으면 autowired가 제대로 작동하지 않음을 주의하자 … … class : 패키지명 *** 스프링 컨테이너의 역할 : 내가 쓰는 부품들을 조립해주는 역할 3. InitializingBean, DisposableBean =>다음과 같이 빈의 생성과 소멸을 확인할 수 있음 =>생성되는 시점과 소멸되는 시점에서의 동작..
-
의존객체 선택Spring 2020. 3. 23. 09:58
의존객체 선택 -동일한 Bean 객체가 여러개가 있을 때, 어떠한 객체가 들어갈지 선택을 할 수 있음 1-1. 의존객체 선택 =>동일한 객체가 2개 이상이기에 스프링 컨테이너가 대상 객체를 판단 못하는 경우임 =>wordDao 객체가 3개이기 때문에 예외 발생 => ***Qualifier 태그를 사용하여 객체의 우선순위를 넣어줌 (컨테이너에 명시하고 , Java에서 사용 ) =>qualifier를 사용한 예 => 위 annotation 을 쓰지 않더라도 이름이 같으면, 해당 객체를 주입할 수 있음 ( 추천하는 방법 X ) 1-2. 의존객체 자동 주입체크 => Bean 파일에 annotation이 없는 경우, Java 파일에서 @Autowired(required = false); 를 추가함 => 실질적으로..