Java Spring
[Java Spring] 기초 개념
begong
2023. 1. 27. 18:33
반응형
reflextion api
- 객체생성시 reflection api를 사용하여 만들면 다른 클래스에서 private인 매서드도 사용 가능
- 스프링 프래임워크에서 많이 사용됨
HttpServletRequest
- tomcat이 http request를 HttpSevletRequest 객체에 담아 요청을 전달
- 많이 쓰는 메서드
- getCharacterEncoding() : 요청 내용의 인코딩
- getConteentLength() : 요청 내용의 길이. 알수 없을 때 -1
- getContentType() : 요청 내용의 타입. 알수 없을 때 Null
- getMethod() : 요청 방법
- getProtocol() : 프로토콜 종류와 버전
- getScheme() : 프로토콜
- getServerName() : 서버 이름 또는 ip주소
- getServerPort() : 서버 포트
- getRequestURL() : 요청 URL
- getContextPath() : context path
- getServletPath() : servlet path
- getQueryString() : 쿼리 스트링
- getLocalName() : 로컬 이름
- getLocalPort() : 로컬 포트
- getRemoteAddr() : 원격 Ip 주소
- getRemoteHost() : 원격 호스트 또는 Ip주소
- getRemotePort() : 원격 포트
웹 애플리케이션 서버(WAS) : 웹 애플리케이션을 서비스하는 서버
Tomcat의 내부구조
- Thread Pool을 만들어 놓고 사용자 요청이 오면 한가한 스레드가 처리
- tomcat 서버 안에 service가 요청을 처리
- protocol 종류에 따라 다른 connector사용
- Connector가 요청을 엔진에 전달
- 엔진에 여러개의 host가 존재할 수 있음
- host안에 context가 존재 (여러개 존재 가능)
- 하나의 context는 하나의 web app
- servlet : 작은 서버 프로그램
Tomcat의 설정 파일
- /conf/server.xml : Tomcat 서버의 설정 파일
- /conf/web.xml : Tomcat의 모든 web app의 공통 설정
- /WEB-INF/web.xml : web app의 개별 설정 (intelliJ : /src/main/webapp/WEB-INF/web.xml)
Base 64
- 모든 운영체제에서 존재하는 공통된 문자들 64개(아스키코드의경우 운영체제마다 다른 문자들이 있음)
- 바이너리 데이터를 텍스트 데이터로 변환할 때 사용
- 데이터를 6비트씩 짤라서 변환.
- 빈 자리는 0으로 체움
- 단점 : 용량이 늘어남(인코딩의 종류에 따라서 다름)
관심사의 분리, MVC 패턴
- 관심사(concern) : 해야할 작업
- oop 5대 설계원칙
SOLID
- SRP : 단일 책임 원칙
- 하나의 매서드는 하나의 책임
- 분리
- 관심사
- 변하는 것
- 공통(중복)코드
- Model : 데이터를 주고받기 위한 객체
- View : 출력
- Control : 정보 처리
반응형