[Spring] dispatcher-servlet 동작원리 [dispatcher-servlet 및 web.xml 구조 분석]
·
▣ Framework/Spring🍃
1. dispatcher-servlet이란? Servlet Container에서 Http 프로토콜을 통해 들어오는 모든 요청을 프레젠테이션 계층의 제일 앞에 둬서 중앙 집중식으로 처리해주는 프론트 컨트롤러(Front Controller) 2. web.xml이란? Web 애플리케이션의 배포 관련 설정 파일
[Spring] Spring Framework란? [Spring Framework의 특징 및 Framework와 Library의 차이]
·
▣ Framework/Spring🍃
1. Spring Framework란? 자바 엔터프라이즈 개발을 편하게 해주는 오픈 소스 경량급 애플리케이션 프레임워크 - Framework vs Library - Framework : 제어의 역전(IoC) 개념이 적용된 대표적인 기술 - Library : 단순 활용가능한 도구들의 집합 2. Spring Framework의 특징 1) 경량 컨테이너 스프링은 객체를 담고 있는 컨테이너로써 자바 객체의 생성과 소멸과 같은 라이프사이클을 관리하고, 언제든 필요한 객체를 가져다 사용할 수 있도록 해준다. 2) DI를 통한 객체 간의 관계 구성 의존성 주입(Dependency Injection) 클래스의 인스턴스를 외부에 생성하여 Setter나 생성자로 주입 → 객체들 간의 느슨한 결합을 유지한다. 3) POJO..
[Spring] ~ cannot be resolved to a type 해결방법 [Logger, Aspect, JoinPoint, Before 등]
·
▣ Framework/Spring🍃
- ~ cannot be resolved to a type 에러 발생 Maven 프로젝트를 import 했더니, 아래와 같이 에러가 발생하였다. 롬복도 정상적으로 설치가 되었고, import도 잘 된 상태였다. - ~ cannot be resolved to a type 해결 방법 pom.xml에서 해당 라이브러리를 확인해보니 가 runtime이였다. → 해당 라이브러리를 컴파일이 아닌 실행 시에 동작하게 하는 것! - 참고 자료 [Spring] @Log4j org.apache.log4j.Logger cannot be resolved to a type 오류 해결 방법 오류 내용 : Spring Legacy Project > Spring MVC Project 환경에서 @Log4j 사용시 오류가 발생했다. l..
[Spring] java.sql.SQLException: Table 'counsel.persistent_logins' doesn't exist [Spring Security 관련 에러]
·
▣ Framework/Spring🍃
- Spring Security 관련 에러 Spring Security를 적용하는 과정에서 아래와 같은 에러가 발생하였다. PreparedStatementCallback; bad SQL grammar [delete from persistent_logins where username = ?]; nested exception is java.sql.SQLSyntaxErrorException: (conn=2867) Table 'counsel.persistent_logins' doesn't exist 처음에는 뭐가 문제인지 몰라 한참을 헤메다가 아래 내용에서 해답을 찾았다. java.sql.SQLException: Table 'counsel.persistent_logins' doesn`t exist // 해석하면..
[Spring] security로 인한 403 에러 해결하기(2) [API 사용에 따른 403 에러 발생]
·
▣ Framework/Spring🍃
- API 사용에 따른 403 에러 발생 - API 사용 시의 403 에러 해결 방법 SecurityConfig.java에 아래와 같이 csrf 관련 메서드 추가한다. - SecurityConfig.java @Override protected void configure(HttpSecurity http) throws Exception { http.formLogin().loginPage("/member/login").loginProcessingUrl("/login"); http.logout().logoutUrl("/logout").logoutSuccessUrl("/"); http.rememberMe().tokenRepository(persistentTokenRepository()); // 아래 두 줄 추가 ..