본문 바로가기

TIL

(76)
[Spring] Handler Method Parameter GET 방식의 /first/regist 요청이 들어오면 /first/regist 뷰로 위임한다. views의 하위 경로를 요청 경로와 동일하게 해주어야 한다. 핸들러 메소드에 파라미터로 특정 몇가지 타입을 선언하게 되면 핸들러 메소드 호출 시 인자로 값을 전달해준다. 1. HttpServletRequest를 매개변수로 선언하여 파라미터로 전달 받은 값 꺼내기 핸들러 메소드 매개변수로 HttpServletResponse도 사용 가능하다. 상위 타입인 ServletRequest, ServletResponse도 사용 가능하며 WebRequest도 사용 가능하다. messagePrinter.jsp 인코딩 설정이 안 되어 있어서 글씨가 깨져서 나온다 같은 폴더에 EncodingFilter 생성 후 모든 파일들에 ..
[Spring] 개념정리-2 Spring DI Annotation Bean 등록 Annotation @Component 객체(컴포넌트)를 나타내는 일반적인 타입으로 태그와 동일한 역할 @Repository 퍼시스턴스 레이어, 영속성을 가지는 속성(파일, 데이터베이스)을 가진 클래스 ex) Data Access Object Class @Service 서비스 레이어, 비즈니스 로직을 가진 클래스 ex) Service Class @Controller 프레젠테이션 레이어, 웹 어플리케이션에서 View에서 전달된 웹 요청과 응답을 처리하는 클래스 ex) Controller Class Bean 의존관계 주입 Annotation @Autowired @Resource - @Component로 의존관계를 설정한 객체로부터 의존 관계를 자동으로 주입..
[Spring] 개념 정리-1 인프런 강의를 들어도 너무 빠른 속도와 개념이 확실하게 잡히지 않아서 따라가지 못하는 것 같다. 다시 초심으로 돌아가서 개념 정리 부터 제대로..!! Spring Framework 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고 불린다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. Spring의 특징 1. DI (Dependency Injection / 의존성 주입) 설정 파일이나 어노테이션을 통해 객체간 의존 관계를 설정하여 개발자가 직접 의존하는 객체를 생성할 필요가 없다. 2. Spring AOP (관점 지향 프로그래밍) Database의 트랜잭션 처리나 로깅처리와 같이 여러 모듈에서 공통으로 필요로 하는 기능의 경우 해당 기능을 분..
[Spring] SpringIoC - Component Scan (excludeFilters, includeFilters) ComponentScan 기능을 이용한 bean 등록 설정 MemberDAO인터페이스 생성 MemberDAOImpl 클래스 생성 인터페이스로 메소드를 강제화한 후 구현하여 사용하면 강제성이 부여 된다 또한 결합 관계를 느슨하게 만들 수 있다. 스프링 컨테이너가 스캐닝 기능을 이용하여 해당 클래스를 bean으로 등록할 수 있는 어노테이션을 설정한다. - value 속성을 이용하면 bean의 id를 설정할 수 있으며, value는 생략 가능하다. - 이름(id)를 설정하지 않으면 Class의 앞 글자를 소문자로 하여 bean을 생성한다. - @Controller, @Service, @Repository와 동일한 기능을 가지지만 각 계층을 표현하는 어노테이션은 - 특정 용도에 맞는 부가적인 혜택이 있으니 계층..
[Spring] Spring IoC(제어의 역행)-bean factory IoC(Inversion of Control)란? 프로그램을 구동하는데 필요한 객체에 대한 생성, 변경 등의 관리를 프로그램을 개발하는 사람이 아닌 프로그램을 구동하는 컨테이너에서 직접 관리하는 것을 말한다. 스프링은 IoC 구조를 통해 구동 시 필요한 객체의 생성부터 생명 주기까지 해당 객체에 대한 관리를 직접 수행한다. IoC 컨테이너 스프링에서는 관리하는 객체를 'Bean(빈)'이라고 하고, 해당 빈들을 관리한다는 의미로 컨테이너를 'Bean Factory'라고 한다. IoC 컨테이너의 역할 1. 객체의 생명주기와 의존성을 관리한다. 2. VO(DTO/POJO) 객체의 생성, 초기화, 소멸 등의 처리를 담당한다. 3. 개발자가 직접 객체를 생성할 수 있지만 해당 권한을 컨테이너에 맡김으로써 소스 코..
[Servlet] mvc-2 상단에서 입력한 것 처럼 상대경로를 입력해주면 다른 경로에 있으면 접근할 수 없다. 그래서 pageContext.ServletContext.contextPath로 작성해준다. 전체 직원 조회용 서블릿 생성 service클래스에 메소드 생성 dao클래스에 메소드 생성. 전체 조회용이니 넘어가는 파라미터 값이 없다. 매퍼 EmployeeDAO에 sql구문 작성 먼저 출력문으로 확인해보자. 주소창을 확인해보면 employee/list 서블릿 매핑된 것 잘 확인되고, 출력문에서도 전체 직원이 조회된다. 화면에 출력할 employeeList.jsp 생성 단, 반복적으로 출력하기 위해 jstl의 core라이브러리가 가지고 있는 foreach기능을 사용한다. jstl라이브러리는 기존에 추가돼있고, 맨 위에 선언해줘야..
[프로젝트] 프로필 사진 변경하기, 프로필 사진 원에 맞춰서 등록하기 세미프로젝트에서 마이페이지 기능을 맡았다. 프로필 사진 원에 맞춰 수정하는 것과, js에서 change메소드를 넣어서 프로필 사진 바꿔보자. imgfix라는 div안에 img에 id=imgArea 클래스를 넣어줬다. input type=file에도 imgfile이라는 id값을 넣어줬다. 기존css는 imgfix사이즈를 200px로 맞춰줬다. 이 상태에서 사진을 올리게되면 이미지가 확대되어 깨지고, 원 모양이 아닌 정사각형 모양이다. object-fit 값을 contain으로 주니 원본 사이즈가 div사이즈에 맞춰서 깨지지않게 들어가진다. 여기서 radius값을 70%를 주니까 완전한 원모양이 안된다 읭 object-fit 값을 cover로 하니 이미지 전체가 다 채워지며 이미지가 깨지지 않는 것을 확인할..
[Servlet] mvc-1 EMPLOYEE 테이블에서 EMP_ID를 이용하여 사원 정보 조회해오기 log4j, jstl, mybatic, ojdbc 필요한 것들 다 복사해서 붙여준다. Java Build Path - Source탭에서도 log4j폴더 추가 web하위 폴더에 index.jsp 생성 jsp 표준 액션 태그를 요청해서 요청은 인덱스 요청이 들어오지만 실제 화면은 다른 곳으로 이동시키는 작업 상단에서 설정해준 똑같은 경로인 main.jsp 생성 메인에 페이지를 하나 include(포함)시켜준다. 위와 동일한 경로인 header.jsp 생성 header.jsp main.jsp SelectOneEmpByIdServlet생성 1. 전달한 파라미터 꺼내기 값이 잘 넘어왔는지 확인 2. 비즈니스 로직 호출 - 사번을 이용해 사원 ..