본문 바로가기

분류 전체보기128

Spring - Singleton(싱글톤) Spring - Singleton 스프링 컨테이너는 빈을 생성할 때 싱글톤 패턴을 적용하지 않아도 항상 클래스당 1개의 인스턴스만 생성한다.(default) singleton 속성 변경 가능 태그의 scope 속성을 이용하여 빈이 싱글톤으로 생성되게 할지 아니면 요청할 때마다 생성되게 할지 설정 가능 singleton : 컨테이너에 한 개의 인스턴스만 생성(기본 값) prototype : 빈을 요청할 때마다 인스턴스 생성 thread : 쓰레드 별로 생성 request / session / application scope 있음 싱글톤(Singleton) 확인 MemberMain 클래스에서 member2 객체(인스턴스) 생성하고 앞에서 생성한 member와 동일한지 확인 Annotation을 이용한 DI .. 2022. 1. 5.
의존성(Dependency) 의존성 (Dependency) 객체 간 의존성. 한 클래스가 다른 클래스의 객체를 통해 그 클래스의 메소드를 실행할 때 이를 의존한다고 표현한다. DI를 사용하는 이유 의존하는 객체의 클래스가 변경되거나 다른 클래스의 객체를 사용하게 될 경우 의존 관계(결합 상태)에 있는 다른 모든 클래스들의 소스 코드도 변경해야 하는데 의존성 주입 방법을 사용하면, 클래스 결합 상태를 변경하거나 객체를 주입하는 부분만 수정하면 되므로 수정할 코드의 양을 줄일 수 있다는 장점이 존재한다. 스프링 의존성 주입 방법 XML을 이용한 방법 xml 설정 파일에 설정 Annotation을 이용한 방법 자바 코드에서 @어노테이션으로 설정 @Controller / @Service 1. 스프링을 사용하지 않는 DI (1) DI를 사용.. 2022. 1. 5.
스프링 프레임워크 종류 및 특징 스프링 프로젝트 종류 스프링 : 자바 기반 웹 프레임워크 스프링 웹 프로젝트 Spring Legacy Project 스프링 템플릿 프로젝트 이용하는 프로젝트 Spring Starter Project Spring Bootd을 이용하는 프로젝트 Simple Spring Maven (Maven) (1) Spring Legacy Porject 스프링 템플릿으로 프로젝트를 이용하는 프로젝트로 모델2 방식(MVC) 프로젝트 생성 시 이용한다. 서버 및 여러 설정이 필요하며 실제 개발 업무에서 많이 사용한다. (2) Spring Starter Project Spring Boot을 이용하는 프로젝트. 최대한 간단하게 실행하고, 배포가 가능한 수준의 웹 애플리케이션을 제작하기 위한 목적을 가진다. 개발에 필요한 모든 환.. 2022. 1. 5.
스프링 프레임워크 스프링 프레임워크 스프링 프레임워크는 자바 웹 애플리케이션 개발을 위한 오픈 소스 프레임워크로, 기존 프레임워크보다 가벼운 경량 프레임워크(lightWeight Framework)이다. 스프링은 경량 컨테이너라고도 불리는데 '컨테이너'라고 하면 대표적으로 톰캣을 예로 들 수 있다. 톰캣은 서블릿 컨테이너라고 불리는데 그 이유는 톰캣은 서블릿의 생성, 초기화, 서비스 실행, 소멸에 관한 모든 권한을 가지고 서블릿을 관리하기 때문이다. 스프링도 마찬가지로 애플리케이션에서 사요되는 여러 가지 빈(클래스 객체)을 개발자가 아닌 스프링이 권한을 가지고 직접 관리한다. 스프링 이전에 사용되던 EJB(Enterprise JavaBeans)의 단점을 개선하고 좋은 점을 발전시킨 프레임워크이다. 스프링의 .. 2022. 1. 5.
JSP (Java Server Page) - 개요, 태그, 지시어 JSP (Java Server Page) 자바 기반 언어로 HTML 문서 내에 자바 코드를 삽입해서 웹 서버에서 동적으로 웹 페이지를 생성해서 클라이언트(웹 브라우저)에게 반환해 주는 언어를 말한다. 서버 사이드 스크립트 언어라고도 하며, JSP를 통해 HTML과 동적으로 생성된 컨텐츠(DB 연동된 실시간 데이터)를 혼합해서 사용할 수 있다. JSP 특징 Servlet을 보완한 스크립트 방식 표준 언어 Servlet 기능 + 추가 기능 JSP(.jsp)는 실행되면서 Servlet(.java)으로 변환되어 컴파일 되어 클래스 파일(.class) 파일로 만들어져 실행 View를 담당하는 페이지로 사용 점차 JSP 페ㅣ지에서 자바 코드가 사라지고 있는 추세 EL과 JSTL로 표현 JSP와 Servlet(서블릿.. 2021. 12. 31.
쿠키와 세션 - 세션을 이용한 로그인/로그아웃 기능 쿠키와 세션 - 세션을 이용한 로그인/로그아웃 기능 예제 sessionLogin.html LoginLogout.java SessionLogout.java sessionLogin.html 아이디 : 비밀번호: LoginLogout @WebServlet(name = "LoginLogout", value = "/logInOut") public class LoginLogout extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { d.. 2021. 12. 30.
쿠키와 세션 - 세션을 이용한 웹 페이지 연동 기능 쿠키와 세션 - 세션을 이용한 웹 페이지 연동 기능 세션은 웹 페이지들 사이의 공유 정보를 서버에 저장해 두고 웹 페이지들을 매개해 주는 방법이라는 점에서 쿠키와 동일하다. 하지만 쿠키는 사용 시 웹 페이지들의 정보가 클라이언트 PC에 저장되므로 정보가 쉽게 노출될 수 있다는 단점이 있으나, 세션은 서버의 메모리에 생성되어 정보를 저장한다. 세션(Session)이란? 클라이언트와 웹 서버 간에 네트워크로 연결이 지속적으로 유지되고 있는 상태 세션의 특징 정보가 서버의 메모리에 저장 브라우저의 세션 연동은 세션 쿠키를 이용 쿠키보다 보안에 유리함 서버에 부하를 줄 수 있음 브라우저(사용자)당 한 개의 세션(세션 id)이 생성 유효시간을 가짐 (기본 유효시간 : 30분) 로그인 상태 유지 기능이나 쇼핑몰의 .. 2021. 12. 30.
쿠키와 세션 - 쿠키를 이용한 웹 페이지 연동 기능 쿠키와 세션 - 쿠키를 이용한 웹 페이지 연동 기능 쿠키(Cookie)란? 웹 페이지들 사이의 공유 정보를 클라이언트 PC에 저장해 놓고 필요할 때 여러 웹 페이지들이 공유해서 사용할 수 있도록 매개 역할을 하는 방법 쿠키의 특징 정보가 클라이언트 PC에 저장됨 저장 정보 용량에 제한이 있음 (4kb) 보안에 취약함 클라이언트에 저장되기 때문. 민감한 정보는 저장하지 X 클라이언트 브라우저에서 사용 유무 설정 가능 도메인당 쿠키가 만들어짐(웹 사이트당 하나의 쿠키 생성) 쿠키의 생성 및 저장 과정 서버에서 쿠키 생성 Cookie 클래스로부터 쿠키 객체 생성 Cookie cookie = new Cookie(이름, 값); 속성 설정 setter 사용해서 쿠키 객체의 유효기간 설정 cookie.setMaxAg.. 2021. 12. 29.
쿠키와 세션 - <hidden> 태그와 URL Rewriting 을 이용해 웹페이지 연동 쿠키와 세션 - 태그와 URL Rewriting을 이용해 웹페이지 연동하기 클라이언트와 서버 간에 정보를 교환하는데 클라이언트 PC 또는 서버의 메모리에 저장해 두고 사용하면 프로그램의 속도를 향상시킬 수 있다. 쇼핑몰을 이용할 때 메인 페이지에서 미리 로그인한 후 다른 웹 페이지에서 상품에 관한 댓글을 다는 경우가 있다. 글쓰기 창에서는 따로 로그인하지 않아도 된다. 하지만, 로그인을 하지 않았을 경우에는 '로그인 후 이용하세요'라는 메시지가 나타난다. 이 기능은 쇼핑몰을 이용하는 사람들은 다 알지만 실제 HTTP 프로토콜 방식으로 통신하는 웹페이지는 서로 어떤 정보도 공유하지 않는다. 사용자 입장에서 웹 페이지 상태나 정보 공유를 위해서는 프로그래머가 세션 트래킹(Session Tracking)이라는.. 2021. 12. 29.