Back-end 15

자바 기초 정리

식별자(identifier) : 클래스, 상수, 메소드 등에 붙이는 이름 식별자 규칙 특수문자와 공백은 식별자로 사용 X( _ , $ 는 예외적으로 사용 가능) 한글도 식별자 사용 가능 if, while, class 등 자바 언어의 키워드는 식별자로 사용 불가능 '_', '$' 는 식별자의 첫 번째 문자로 사용할 수 있으나 일반적으로 사용 X 대소문자 구별 길이 제한 X 리터럴(literal) : 프로그램에 직접 표현한 값으로 정수, 실수, 문자, 논리, 문자열 타입 모두 리터럴이 있음 정수 리터럴 : 정수 인터럴은 int 타입으로 자동 컴파일 → long 타입으로 지정하려면 숫자 뒤에 L을 붙임 유형 설명 사례 10진수 0으로 시작하지 않는 수 15 -> 10진수 15 8진수 0으로 시작하는 수 015..

Back-end/Java 2023.01.30

Servlet 비즈니스 로직 처리

7장 Servlet 비즈니스 로직 처리 (1) Servlet 비즈니스 로직 처리 방법 서블릿 비즈니스 처리 작업 : Servlet이 Client로부터 요청을 받으면 그 요청에 대해 작업을 수행하는 것을 말한다. 웹 프로그램에서 대부분의 비즈니스 처리 작업은 DB 연동 작업이지만 다른 서버와 연동하여 데이터를 얻은 작업도 수행할 수 있다. ex) 웹 사이트 회원 등록 요청 처리 작업 웹 사이트 로그인 요청 처리 작업 쇼핑몰 상품 주문 처리 작업 클라이언트로부터 요청을 받음 데이터베이스 연동과 같은 비즈니스 로직 처리 처리 결과를 클라이언트에게 돌려줌 (2) Servlet의 데이터베이스 연동 : Client로부터 요청을 받으면 Servlet은 SQL문을 사용해 데이터베이스 접근하여 작업 . DAO/VO 클래..

Back-end/JSP 2023.01.24

Servlet 기초

6장 Servlet 기초 WAS(Web Application Server)가 처음 등장했을 때 웹 브라우저의 요청을 스레드 방식으로 처리하는 기술이 Servlet이다. 모든 웹 프로그램은 아래에서 서술한 기능을 바탕으로 동작한다. (1) Servlet의 세 가지 기본 기능 Client로부터 요청을 받아 비즈니스 로직을 처리하고 결과를 다시 클라이언트에게 돌려주는 과정 Client로부터 요청을 받는다. DB 연동과 같은 비즈니스 로직 처리 처리된 결과를 Client에게 돌려준다. ex. 로그인 과정 1. 사용자가 입력한 ID와 PW가 Server 쪽 Servlet으로 전송 Servlet은 메서드를 이용해 사용자가 전송한 ID와 PW를 받아 온다. 2. 사용자의 로그인 요청에 따라 DB와 연동해 사용자가 등..

Back-end/JSP 2023.01.21

Servlet 이란?

5장 서블릿 이해하기 동적 웹 페이지를 처음 구현한 것은 Servlet이므로 JSP에 대해 공부하기 이전에 Servlet 부터 이해하자. (1) Servlet이란? 서버 쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스 서블릿은 java로 이루어져있지만 독자적으로 실행되지 못하고 JSP/Servlet 컨테이너에서 실행된다. Servlet 특징 자바로 이루어져있어 자바의 특징을 가진다. 서버 쪽에서 실행되면서 기능을 수행 스레드 방식으로 실행 동적인 여러가지 기능을 제공 컨테이너에서 실행 플랫폼이 독립적으므로 컨테이너 종류에 상관없이 실행된다 보안 기능을 적용하기 쉽다 웹 브라우저에서 요청시 기능을 수행 (2) Servlet API 계층 구조와 기능 Servlet API는 ..

Back-end/JSP 2023.01.20

웹 애플리케이션

4장 웹 애플리케이션 이해하기 (1) 웹 애플리케이션 기존의 정적인 웹 애플리케이션의 기능을 그대로 사용하면서 Servlet, JSP, 자바 클래스 등을 추가하여 사용자에게 동적인 서비스 웹 컨테이너에서 실행되는 JSP, 서블릿, 자바 클래스 들을 사용해 정적 웹 프로그래밍 방식의 단점을 보완하여 서비스를 제공하는 서버 프로그램 정적 웹 애플리케이션 기능 그대로 사용 가능 웹 애플리케이션 기본 구조 : 톰캣 같은 컨테이너에서 실행되는 웹 애플리케이션은 일정한 디렉토리 구조를 갖추어야한다. 기본 구조를 갖추지 않고 컨테이너에서 웹 애플리케이션 실행시 오류가 발생한다. 웹 애플리케이션 구성 요소 구성요소 기능 만든 웹 애플리케이션 이름 웹 애플리케이션의 루트 디렉토리 다른 웹 애플리케이션 이름과 중복이 허용..

Back-end/JSP 2023.01.19

프로그램의 발전 과정, 웹 프로그래밍과 JSP

1장 프로그램의 발전 과정 웹 프로그램은 클라이언트 PC 기반 프로그램 → 클라이언트 서버 기반 프로그램 → 웹 기반 프로그램 순으로 발전해왔다. (1) 클라이언트 PC 기반 프로그램 :일반 클라이언트 PC에서 클라이언트가 직접 설치해서 사용한다. (한계점) 1. 기능이 자주 변경되는 프로그램의 경우 수시로 사용자 PC마다 프로그램을 업데이트하거나 새로 설치해야한다. 2. 만약에 클라이언트 프로그램에 데이터베이스 접속정보가 들어 있다면 정보가 쉽게 노출될 수 있어 보안에 취약하다. (2) 클라이언트 - 서버 기반 프로그램 : 기존 클라이언트가 수행하는 모든 기능을 서버에서 수행하며 클라이언트는 데이터 송신과 수신, 화면 출력만 한다. (장점) 1. 클라이언트 - 서버 기반 프로그램은 기능이 변경되어도 모..

Back-end/JSP 2023.01.19

11월 4주차 공부정리

DTO(Data Transfer Object) 다른 레이어 간의 데이터 교환에 활용, 교환하는 용도로만 사용하는 객체로 별도의 로직에 포함되지 않음 각 클래스 및 인터페이스를 호출하면서 전달하는 매개변수로 사용되는 데이터 객체 스프링 부트의 예외 처리 방식 @(Rest)ControllerAdvice와 @ExceptionHandler를 통해 모든 컨트롤러의 예외를 처리한다 @ExceptionHandler를 통해 특정 컨트롤러의 예외를 처리한다. Filter 유일하게 ServletRequest, ServletResponse의 객체를 변환할 수 있음 웹 어플리케이션에서 관리되는 영역으로써 Spring Boot Framework에서 Client로 부터 오는 요청/응답에 대해서 최초/최종 단계의 위치에 존재한다...

IOC, DI, ObjectMapper

1. ObjectMapper text-> object , object -> text의 경우 사용한다. object mapper는 default 생성자를 필요로 하며 get method를 활용한다. 2. loC(Inversion of Control) : 제어의 역전 Java 객체를 new를 생성하여 개발자가 관리하는 것이 아니라 스프링에서는 Spring Container 또는 IoC Container에 모두 맡긴다. 제어의 역전: 객체의 관리를 컨테이너에 맡겨 제어권이 넘어간 것을 뜻함, 개발자 -> 프레임 워크로 제어의 객체 관리의 권한이 넘어감 제어 역전을 통해서 의존성 주입( DI (Dependency Injection) ), 관점 지향 프로그래밍(AOP(Aspect-Oriented Programmi..

static 변수

1. static 변수(클래스 변수, 정적변수) 여러 인스턴스가 공유하는 기준 값이 필요한 경우 사용 (공통으로 사용하는 변수가 필요한 경우) ex) 학생마다 새로운 학번을 생성하는 경우 인스턴스가 생성될 때 만들어지는 변수가 아닌 처음 프로그램이 메모리에 로딩될때 메모리를 할당 인스턴스 생성과 상관없이 사용 가능하므로 클래스 이름으로 직접 참조 ex) Student.serialNum = 100; static 변수는 인스턴스에서 공통으로 사용하는 영역 2. 변수의 유효 범위와 메모리 변수의 유효범위와 life cycle은 각 변수의 종류마다 다름 지역변수, 멤버변수, 클래스 변수는 유형범위와 life cycle, 사용하는 메모리가 다름 멤버 변수가 많으면 인스턴스 생성시 불필요한 메모리가 할당 stati..

Back-end/Java 2022.09.26

웹 개발

1. Web이란? WWW(World Wide Web, W3) 인터넷이 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보공간 - Web Site 네이버와 같은 HTML로 구성된 여러 사이트등 - API(Application Programming Interface) Kakao Open API, Naver Open API 등 - User Interface Chrome, Safari, Explorer, Smart Watch 등 2. REST(Representational State Transfer: 자원의 상태 전달) - 네트워크 아키텍처 - Client, Server : 클라이언트와 서버가 서로 독립적으로 분리되어 있어야한다. - Stateless: 요청에 대해서 클라이언트의 상태를 서버..