전체 글16 [Spring] Controller와 Service의 역할 Client-Web Server -WAS -DBWeb Server(정적 리소스 처리):HTML,이미지 등을 처리하며 잘 죽지않고 오류화면 HTML을 노출 시킬수 있다WAS(Web Application Server) 동적 리소스처리 : 업무 분담으로 과부화를 줄여주며 애플리케이션 로직을 실행시킨다Servlet자바를 사용해 웹 페이지를 동적으로 생성하는 서버측 프로그램 혹은 사양서블릿은 서버에서 처리해야하는 수많은 업무중 비지니스 로직을 제외한 모든일을 대신 수행해준다이는 싱글톤으로 관리되어 공유변수에 주의하여햐 하며 소스코드는 싱글 스레드 프로그래밍하듯 개발하면 된다. 서블릿은 요청/응답 정보를 편리하게 사용할 수 있도록 HttpServlet, HttpServletResponse를 사용한다.HTTP요청을 .. 2024. 5. 8. [자바]REST API 2 설정 관련 AnnotationAnnotation설명비고@SpringBootApplication-스프링부트 애플리케이션의 시작점을 나타내는 어노테이션 입니다 @Controller-Http 요청을 처리하는 컨트롤러 클래스를 정의하는 어노테이션 입니다Spring MVC 뷰를 반환하는데 사용 됩니다.@RestController-RESTful 웹 서비스를 위한 컨트롤러를 정의하는 어노테이션 입니다RESTful 웹 서비스의 JSON,XML등의 응답을 반환하는데 사용 됩니다. [더 알아보기] - @Controller는 일반적으로 HTTP 요청을 처리하고 '뷰'를 반환하는데 사용이 됩니다. - @RestController는 HTTP요청에 대한 RESTful웹 서비스의 JSON,XML등의 응답을 반환하는데 사용이 됩니다.. 2024. 5. 7. [자바]RestAPI 1.Rest / Restful APIRest(Representation State Transfer)웹 어플리케이션을 개발하기 위한 아키텍쳐 스타일 . 중하나로 클라이언트와 서버 간의 '통신 방식' 을 규정한 것입니다.해당통신 방식은 HTTP 프로토콜을 기반으로 하며 자원,행위,표현 세가지 요소로 구성됩니다.REST API(Representation State Transfer) 란?REST 아키텍쳐 스타일에 따라 구성한 API를 의미합니다.RESTful API(Representation State Transfer)란?HTTP를 위한 아키텍쳐 스타일 중 하나로 REST의 원칙을 따르는 웹 서비스를 '구현하는 방식'이며 웹 서비스를 개발하는 방식이다.클라이언트와 서버 . 간자원을 주고받을때 '일괄적인 방식' .. 2024. 5. 7. java람다/스트림 람다람다식이란 메서드를 하나의 식으로 표현한 것이다.123int sum(int a, int b){ return a + b; }cs" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 이 계산식을 람다식으로 변환하면 1 (int a, int b) -> a + b cs" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스이렇게 표현 할 수 있다.파라미터를 왼쪽에 두고 화살표를 둔뒤에 반환값(re.. 2024. 5. 6. DTO 와 VO DTO와 VO의 혼용 사용초판에는 VO를 사용하다 혼동의 여지가 있어 TO로 다시 냈고DTO는 TO앞 D(Data)의 줄임말 이다 결론 먼저 결론부터 말하자면 DTO는 데이터 전달용VO는 값 표현용 이다. DTO란? DTO는 =Data TransFer Object의 약자이다 번역을 해보면 데이터를 전달하기 위해 사용하는 객체이며데이터를 주고받을때 데이터를 담아서 전달하는데 사용하는 바구니라고 생각하면 이해하기가 쉽다구체적으로 계층간 데이터를 전달하기 위해서 사용한다Web Layer에 해당하는 컨트롤러가 있고 Service Layer에 해당하는 Service가 있다.둘 사이에서 데이터를 주고받기 위해 DTO에 데이터를 담아 전달한다. 데이터 전달용인 DTO는 오직 getter/setter 메서드 만을 .. 2024. 5. 4. 웹 MVC MVC => 코드에 대한 유지보수를 어떻게 하면 편하게 할수 있을까 고민하다 탄생하게 되었다 MVC패턴이 생긴 가장큰 이유는 유지보수 때문이다 먼저 사용자가 구글에 코딩이라고 검색을하면 그럼 이 컨트롤러는 코딩에 대한 검색 데이터를 달라고 모델한테 요청을한다. 이 모델은 검색결과 데이터를 찾아 컨트롤러에 전달하게 되고 컨트롤러는 다시 뷰한테 전달한다뷰는 사용자가보는 검색결과의 데이터를 UI를 사용하여 예쁘게 나눠 보여준다 모델은 데이터와 관련된 일을한다컨트롤러는 모델과 뷰와 중개자 역할을한다뷰는 사용자한테 보여지는 부분을 담당한다 MVC를 지키면서 코딩하는방법첫번째쉽게 풀어 말하면 모델내부에 컨트롤러와 뷰에 관련된 코드가 있으면 안된다. 모델은 컨트롤러와 뷰에 의존하지 않아야 한다.모델 내부에 컨트롤.. 2024. 5. 4. 스프링@Bean " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 Spring Bean은 스프링 IOC컨테이너가 관리하는 객체이다 (여기서 IOC컨테이너는) - 컨테이너는 보통 객체의 생명주기를 관리,생선된 인스턴스들에게 추가적인 기능을 제공하도록 하는것 - 객체관리 주체가 프레임워크가 되기 때문에 개발자는 로직에 집중할 수 있는 장점이 있다. - IOC컨테이너는 객체의 생성을 책임지고, 의존성을 관리한다 그리고 Spring Bena에서 Bean에 대한 설명은공식문서에서 빈은 Sprign IOC 컨테이너에 의해서 관리되는 객체라고 되어있다.빈의 정의 하는데 Spring IOC컨테이너라는 단어가 사용된다 인을 인스턴스화 하고 구성 및 모으는 책임이 있고이처럼 빈을 설명하는 데 ioc컨테이가 쓰.. 2024. 5. 3. Spring 어노테이션 정리 Annotation 은 클래스와 메서드에 추가하여 다양한 기능할 사용할수 있게하는 역할을 한다어노테이션을 활용하면 Spring Framework의 해당 클래스가 어떤 역할인지 정하고Bean을 주입하기도 하며 자동으로 getter나 setter를 생성하기도 한다. 이러한 어노테이션을 통하여 코드량이 감소하고 유지보수가 귀워지며 생산성이 증가된다 Spring 의 대표적인(자주사용하는) Annotaion Component개발자가 생성한 Class를 Spring Bean으로 등록할 때 사용하는 Annotaion이다 스프링은 해당 어노테이션을 보고 스프링의 빈으로 등록한다 Bean@Bean 어노테이션은 개발자가 제어할수 없는 외부 라이브러리같은 것들을 Bean으로 만들 때 사용한다. Controller스프링에.. 2024. 5. 3. httpServletRequest 주요기능 서블릿 객체에서 최종적으로 용을 처리하는 doGet/doPost 등은HttpServlet, HttpsServletResponse를 파라미터로 전달받습니다제공되는 주요기능은 다음과 같습니다기능메서드설명HTTP 헤더 관련getHeaderNames()getHaeder(이름)HTTP헤더 내용들을 찾아내는 기능 사용자 관련getRemoteAddress()접속한 사용자의 IP주소요청관련 getMethod()getRequestURL()getRequestURI()getServletPath()get/post정보, 사용자가 호출에 사용한 URL정보 등쿼리 스트링 관련getParameter()getParameterValues()getParameterNames()쿼리 스트링 등으로 전달되는 데이터를 추출하는 용도로 사용전달 .. 2024. 5. 2. 자바스크립트 문법 JavaScriptJava객체 지향. 객체의 형 간에 차이 없음.프로토 타입 메커니즘을 통한 상속,그리고 속성과 메서드는 어떤 객체든 동적으로 추가될 수 있음클래스 기반, 객체는 클래스 계층구조를 통한 모든 상속과 함께클래스와 인스턴스로 나늼 클래스와 인트턴스는 동적으로 추가된 속성이나 메서드를가질 수 없음변수 자료형이 선언되지 않음(동적 형 지점, 느슨한 형 지정)변수 자료형은 반드시 선언되어야 함(정적 형 지정, 강한 형 지정)하드 디스크에 자동으로 작성 불가능.하드 디스크에 자동으로 작성 가능 문법var 갑을 = "병정"; JavaScript에서는 명령을 명령문 이라고 부르며 세미콜론으로 구분한다. 명령문이 한줄을 . 다차지할 경우에는 세미콜론이 필요하지 않으나 한줄에 두개 이상의 명령문이 필요.. 2024. 5. 2. 이전 1 2 다음