회원 관리 시스템 구축 화면 구성- 로그인 페이지 : 아이디와 비번을 입력하고 로그인 요청이나 회원가입 요청을 할 수 있음- 메인 페이지 : 로그인한 사용자의 정보를 출력,이 페이지에서 로그아웃 요청과 모든 회원보기 페이지 요청, 회원 수정페이지 요청을 할 수 있음- 회원 가입 페이지 : 회원 정보를 입력하고 가입신청을 할 수 있음- 모든 회원 정보보기 페이지 : 모든 회원 정보를 열람할 수 있음 - 회원 수정 페이지 : 현재 로그인한 회원의 정보를 수정할 수 있음 사용자가 보낼 수 있는 요청들- main.do : 메인 페이지를 달라는 요청- loginForm.do : 로그인 페이지를 달라는 요청- login.do : 로그인 처리를 해달라는 요청(id, pw가 파라미터)- logout.do : 로그아웃 ..
Spring MVC스프링을 이용해 컨트롤러 만들기 Spring MVC 구성 주요 컴포넌트 • DispatcherServletFront Controller모든요청을 최초로 받아들이는 역할• Controller클라이언트 요청 처리를 수행하는 Controller요청을 실제로 처리하는 역할• HandlerMapping클라이언트의 요청을 처리할 Controller를 찾는 작업 처리어떤 요청을 어떤 컨트롤러가 처리할지 결정• View응답하는 로직을 처리• ViewReslover응답할 View를 찾는 작업을 처리• ModelAndView응답할 View와 View에게 전달할 값을 저장하는 용도의 객체응답에 사용할 데이터와 페이지 정보 집합 Spring MVC 흐름 DispatcherServlet을 web.xml에 서블..
AOP개요Application을 두가지 관점에 따라 구현-핵심 관심사항-공통 관심사항 (여러 목적을 달성하기 위한 절차 중 중복되는 로직들) AOP (Aspect Oriented Programming) 관점지향프로그래밍 어떤 기능을 구현하기 위한 세부기능들을 분리하고 각 세부기능 중에 특정 기능을 위해 필요한 세부기능을 핵심 관심사항 여러기능 구현에 필요 한 세부기능들을 공통 관심사항 이라 정의세부기능들을 핵심 관심사항으로 분리해서 공통 관심사항으로 이루어진 프레임에 핵심 관심사항을 조립해서 기능구현을 달성 프록시 객체 : 내가 수행할 기능을 대신 수행해주는 객체오리지널 객체 : 내가 수행할 기능을 구현하는 클래스 객체 프록시 패턴 구현오리지널 객체가 수행할 기능에 대한 껍데기를 인터페이스로 정의하고 구..
MyBatis - Spring 연동마이바티스에서 사용하던 객체들을 스프링 컨테이너에 등록해두고 받아서 사용 SqlSessionFactoryBuilder설정정보 읽어서 SqlSessionFactory 만드는 역할 SqlSessionFactorySqlSession을 만드는 역할→SqlSessionFactory를 만들기 위해서는 configuration.xml에 있는 정보들이 필요 디비연결정보, 매퍼위치, type alias에 대한정보 SqlSession실제 sql을 날리기 위해 필요
Spring MVC View 사용자에게 보여지는 페이지 Controller 어떤 req가 왔을때 어떤 작업을 하고 어떤 resp를 돌려줄지 AOP Service 우리 응용에서 필요한 로직을 구현 Spring JDBC & ORM Dao DB에 있는 데이터를 조회, 수정, 삭제... Database Java 기본 JDBC를 사용하면서 불편했던 점- PreparedStatement구문이 편하긴 한데 ? 바인딩에 대해서 타입과 위치를 개발자가 직접 다 지정해줘야 됨- ResultSet에서 값을 줏어올 때도 타입과 위치를 개발자가 직접 지정해야 됨- PreparedStatement구문 객체랑 ResultSet객체 사용 후 close해주는 것- 항상 똑같은 모양인데 예외처리 해줘야 됨 세번째와 네번째는 Connec..
* 마이바티스마이바티스는 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크이다. 마이바티스는 JDBC로 처리하는 상당부분의 코드와 파라미터 설정및 결과 매핑을 대신해준다. 마이바티스는 데이터베이스 레코드에 원시타입과 Map 인터페이스 그리고 자바 POJO 를 설정해서 매핑하기 위해 XML과 애노테이션을 사용할 수 있다. * 스프링 컨테이너객체관리 컨테이너, 하나의 자바객체 이므로 만드려면 특정 클래스(스프링 컨테이너 구현클래스)의 객체를 생성하면 됨 기존 방법: 필요할 때 객체를 생성해서 사용 → 스프링 컨테이너에 사용할 객체를 맡겨두고 필요할 때 얻어서 사용 스프링컨테이너를 만드는 방법 - xml을 이용하는 방법(주로 사용하는 방법)스프링 컨테이너 설정파일을..
Spring Framework Spring(스프링) : 객체관리 컨테이너객체 라이프 사이클 관리 + 객체 간의 의존관계 관리 스프링 개발환경 구축하기스프링은 설치할 필요는 딱히 없고 자바프로젝트에 스프링에 필요한 라이브러리를 import하면 됨import → 우리가 지금까지 알고있는 add jars등등 하는방법으로는 수십개가 되는 jar파일들(라이브러리들)을 관리하기에 굉장히 힘듬→라이브러리 관리 도구를 사용하면 편함(Maven gradle . . .) 메이븐(Maven)을 이용해서 스프링 라이브러리를 프로젝트에 세팅 메이븐 에서 문제발생시Alt + F5(업데이트) 해보고사용자에서 .M2 폴더 삭제해보기(물어보고)