본문 바로가기

전체 글128

CODO Day18_JAVA_MVC(Abstract(추상화)) Abstract(추상화) OOP의 4대 특징 중 하나 공통되는 특성을 추출하고 불필요한 정보를 제거해 단순화시키는 것 추상 클래스 추상 메서드를 사용해 꼭 구현해야하는 메서드 등의 규격을 만들 수 있음 실체 클래스(concrete class)는 추상 클래스(abstract class)를 상속 자식 외에는 추상 클래스를 객체화 시킬 수 없음 추상화 class 및 method를 선언하기 위해서는 abstract라는 키워드를 붙여야함 WHY? 추상 클래스와 일반 클래스를 구분해주기 위해 / 추상 메소드는 {몸통}이 없는 형태이기 때문 추상화클래스를 상속받으면 추상화 클래스의 기능을 실체 클래스에서 사용 할 수 있음 추상클래스를 상속 받으면 추상메서드를 강제로 override 하게 됨 >> 추상메서드(abstr.. 2023. 2. 24.
CODO Day17_JAVA_MVC(Model2/상속*) 디자인 패턴 설계문제에 대한 해답을 문서화하기 위해 고안된 방법 소프트웨어 개발과정에서 자주 나타나는 과제를 해결하기 위한 방법 패턴은 특정한 상황에서 구조적인 문제를 해결하는 방식을 설명해 줌 주의사항 디자인패턴은 일반적으로 대규모 프로그램 개발에 적합 패턴은 절대적이지 않기 때문에 각 디자인 패턴이 유용한 상황을 알아야 함(상황에 맞게 변형 가능) 패턴의 틀에 갇힌 사고방식은 효율성이 낮은 프로그램을 생산 패턴은 사용하는 것보다 차용 한다고 생각해야 함 Model 2 Java Logic과 JSP를 분리 출력부분만 JSP로 다룸 나머지 데이터 저장 및 JAVA LOGIC부분은 java(class)로 다룸 MVC(Model View Controller) 패턴(Model 2의 기본적인 디자인 패턴*) 애플.. 2023. 2. 23.
CODO Day17_JSP(JSTL태그&함수) JSTL TAG 종류 set JSP에서 사용될 변수 설정 remove 설정한 변수 제거 if 조건에 따라 내부코드 수행(If문) choose 다중조건을 처리할 때 사용(Switch문과 비슷하지만 다중조건 가능) forEach 컬렉션이나 Map의 각 항목을 처리할 때 사용 forTokens 구분자로 분리된 각각의 토큰을 처리할 때 사용 import URL을 사용하여 다른 자원의 결과를 삽입 redirect 지정한 경로로 리다이렉트 url URL을 재작성 catch 익셉션 처리에 사용 out JspWriter에 내용을 알맞게 처리한 후 출력 Choose Tag 자바의 switch구문과 비슷하나 다중 조건 가능 c:when의 test 속성에 조건을 넣음 그 조건이 참이면 태그 몸체를 실행 c:otherwise.. 2023. 2. 23.
CODO Day16_JSP(Scope/AtionTag/JavaBean/ElTag/JSTL) Scope(저장영역) JSP에서 데이터 저장 시 공유하는 영역 데이터를 “언제까지 가지고 있는지”를 중심으로 구분 영역 영역 객체 속성의 유효 범위 page pageContext 해당 페이지를 제공하는 동안 (한페이지) request request 클라이언트의 요청이 처리되는 동안 - 요청을 받고 응답하는 동안 (두페이지 정도) session session 세션이 유지되는 동안 - 브라우저가 켜져있는 동안 application application 어플리케이션이 실행되고 있는 동안 - 보안 낮음(실행되고 있는 동안 계속 지우지 않기 때문) Application 영역에 저장될 내용 ID : 이름 : Session 영역에 저장될 내용 이메일 : 연락처 : application 영역 - 서버가 꺼져야 사라짐 .. 2023. 2. 22.
CODO Day15_JSP(Out/Response/Cookie/Session) Out 객체 out 객체는 서버에서 페이지로 output Stream하는 기능을 한다. 실제적으로는 페이지에 문자열을 출력하는 것 정도로만 사용 Response 객체 Response 객체는 요청에 대해 응답 페이지를 전달해 주는 객체 페이지를 만드는(write) 객체라 out 객체처럼 출력이 가능 특정 페이지로 이동하는 것도 가능 데이터를 고객PC로 내려보내는 것도 가능 각 객체별 페이지 출력 response를 이용한 페이지 이동 페이지 출력하는 방법 3가지 out은 response로부터 추출되어 나온 객체이기 때문에 순서가 느림 scriptlet() 출력문은 사실 out객체이기 때문에 동급일 때는 위에서 아래로 읽음 여러개를 출력할 경우 한가지로 통일시켜서 출력(순서 바뀌지 않도록) request.se.. 2023. 2. 21.
JSP_TEST 회원 정보 client가 정보를 입력하는 서버 회원 정보 이름 성별 남자 여자 취미 독서 게임 운동 영화 client가 보낸 정보를 받는 server 클라이언트에서 보낸 내용 이름 : 성별 : 취미 : 2023. 2. 20.
CODO Day14_Java Servlet(server) Page(Web/WAS/TOMCAT/Scriptlet/내장객체(Request객체)) # 프로그램 다운로드 시 Binary : 실행파일 Source : Code Web의 구성 Server는 Client에게 request를 받아 response를 보냄 Client의 request를 받아야만 response를 보낼 수 있음(Server가 먼저 보낼 수 없음) Script 언어인 JSP를 사용하여 간단하게 Web을 처리 할 수 있음 JSP를 JAVA 코드로 자동변환해 주는 것이 WAS인 TOMCAT WAS(Web Application Server) 다양한 로직 처리 요구시 동적인 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버 WAS 구동 Dynamic Web Project/WebContent/WEB-INF/lib/web.xml 안에 있는 welcome-file-list 중에서 해당파일을 찾.. 2023. 2. 20.
CODO Day13_JAVA(Overload/멤버 호출/Static/Final/Import/접근제한자) Overload* 생성자 overload : 같은 이름으로 여러개의 생성자를 만드는 것 - 생성자 이름은 class 이름과 같아야하기 때문에 원칙적으로 1클래스 1생성자임 매개변수의 개수나 형태가 달라야 함 package chap04.ex06.overload; public class NoteBook { String name; String color; int price; //노트북을 만들 때 다음의 경우가 있다 //1. 일단 만들어 놓는 경우 public NoteBook() { //생성자 } //2. 모델명을 만들면서 지정하는 경우 public NoteBook(String name) { //생성자 this.name = name; } //3. 모델명과 가격을 지정하는 경우 public NoteBook(Str.. 2023. 2. 17.
CODO Day12_JAVA(type/method/문자열비교/switch/while/배열/클래스(API/Member(생성자)) Type 최소/최대 값 public class MinMax { public static void main(String[] args) { System.out.println("int 최소값 : "+Integer.MIN_VALUE); System.out.println("int 최대값 : "+Integer.MAX_VALUE); System.out.println("long 최소값 : "+Long.MIN_VALUE); System.out.println("long 최대값 : "+Long.MAX_VALUE); System.out.println("float 최소값 : "+Float.MIN_VALUE); System.out.println("float 최대값 : "+Float.MAX_VALUE); System.out.pri.. 2023. 2. 16.