본문 바로가기

전체 글

(157)
MVC 모델 (4) ▷ MVC 모델을 위한 5개의 자바 패키지 ▷ VO 패키지 ▷ ActionForward 클래스 → FrontController(서블릿) 에서 클라이언트로부터의 요청을 받아 Action 클래스 등에서 작업을 처리 후 View 페이지 또는 다른 Action 클래스로 포워딩할 때 → 포워딩 할 URL(주소) 와 포워딩 방식(Dispatcher vs Redirect)을 다루기 위한 클래스 = DTO(= Bean) 역할을 수행 vo.ActionForward.java package vo; public class ActionForward { private String path; // 포워딩 주소를 저장 private boolean isRedirect; // 포워딩 방식을 저장(true : Redirect 방식, fa..
MVC 모델 (3) ▷ MVC 모델을 위한 5개의 자바 패키지 ▷ DB 설정 → DB 관련 보조 작업(연결, 자원반환, 커밋, 롤백)을 수행하는 메서드 정의 → DB 자원은 Connection Pool(DBCP) 로부터 Connection 객체를 가져와서 사용 → 단, 모든 메서드는 인스턴스 생성없이 호출하기 위해 static 메서드로 정의 1) DB 연결 작업을 수행한 후 Connection 객체를 리턴하는 getConnection() 메서드 정의 →파라미터 : 없음 리턴타입 : javax.sql.Connection db.JdbcUtil.java package db; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSe..
MVC 모델 (2) (개발환경세팅) ▷ 라이브러리 등록(Bulid Path) → cos.jar = 파일 업/다운로드를 위한 라이브러리 → mysql-connector-java-5.1.49.jar = mySQL DB에 접근하기 위한 라이브러리 → taglibs-standard-impl-1.2.5.jar, taglibs-standard-jstlel-1.2.5.jar, taglibs-standard-spec-1.2.5.jar = JSTL 기능을 사용하기 위한 라이브러리 ▷ context.xml 파일 세팅 context.xml Resource 태그를 사용하여 DBCP 정보 설정 1. name 속성(*) : 공유할 리소스 이름 => DB 작업 수행 코드에서 DBCP API 를 통해 불러올 때 지정할 이름 2. auth 속성 : 자원관리를 수행할 대..
Swing(event_handling) ▶ 컴포넌트(버튼 등)에서 사용자에 의해 어떤 상호작용이 일어나는 것 ex) 버튼 클릭, 마우스 이동, 키보드 입력, 체크박스 선택 등 ▶ 이벤트가 발생했을 때 어떤 동작을 수행하기 위해서는 대상 컴포넌트와 이벤트를 처리하는 이벤트 리스너를 서로 연결 해야함  ▷ 각 컴포넌트에 따라 서로 다른 리스너가 제공됨 ex) 버튼 클릭 이벤트 담당 : ActionListener 사용  ▷ 컴포넌트 객체의 addXXX() 메서드를 호출하여 리스너 객체를 파라미터로 전달하여 연결. 이 때, XXX은 담당 리스너 인터페이스(또는 클래스) 이름 ex) btn.addActionListener(리스너 객체); ▶ 컴포넌트에 특정 이벤트가 발생했을 때 수행할 동작을 지정하여 처리하는 것 ..
Swing  컨테이너와 컴포넌트  컨테이너 : 여러 컴포넌트를 하나로 묶어서 부착 가능한 객체 프레임과 패널을 주로 사용 JFrame 클래스와 JPanel 클래스로 구현  컴포넌트 : 화면을 구성하는 각각의 요소 버튼, 체크박스, 라디오 버튼, 텍스트 필드, 텍스트 에어리어 등 컨테이너에 부착하여 사용 각 컴포넌트에서 사용자로부터 어떤 동작이 발생하면 해동 동작을 처리하는 이벤트 처리 필요  최상위 컨테이너 다른 컨테이너에 포함되지 않고도 화면에 출력되며 독립적으로 존재 가능한 컨테이너 창(윈도우)을 생성하기 위해서는 Window 계열 개체 생성 필요 주로 JFrame 클래스를 사용 JFrame 객체를 생성하거나 JFrame 클래스를 상속받는 서브클래스를 정의하여 창 생성 class Ex1 extends J..
MVC 모델 (1) (JSTL : JSP Standard Tag Library) ▷ JSP 에서 사용 가능한 커스텀 태그 라이브러리 → JSTL Core : JSTL 의 기본 핵심 기능(조건문, 반복문, 변수 설정 및 출력 등)을 제공한다. ▷ JSTL 기능을 사용하려면 해당 라이브러리 다운로드(tomcat.apache.org) 후 Build Path 추가 필요하다 → 등록된 JSTL 을 실제 표기하려면 반드시 디렉티브 를 사용하여 taglib 디렉티브를 등록하고 prefix 값과 uri 정보를 설정해야한다. → prefix : 태그에서 사용할 문구(접두어)를 지정하며, 주로 c(core 의 약자) 사용 → uri : 태그 라이브러리가 존재하는 위치 JSTL - test2.jsp scope 속성을 사용하여 변수의 유효범위 지정 가능하나, 생략 시 page 속성이 지정됨 --%> \$..
MVC 모델 프로젝트 MVC Pattern (Model, View, Controller) 1. Controller(Servlet 클래스) - Model 과 View 의 연결 역할을 수행 - 모든 요청의 시작점(진입점) 역할을 수행 - 자바 코드로 이루어져 있지만, 웹으로부터의 요청도 처리되어야 하므로 Servlet 클래스로 정의 2. Model(POJO = 순수 자바 객체) - 웹과 관련없는 자바 코드로만 이루어진 객체 - Business Logic(DB 처리 작업 등) 용도로 사용하는 객체이므로 서블릿 클래스로 정의할 필요가 없음 => 즉, 일반적인 자바 클래스로 정의 - Model 객체를 통해서만 데이터베이스 접근이 가능함 - 처리 결과를 Controller 를 통해 View 페이지로 전달하여 출력을 수행(직접 출력 X)..
인터페이스 활용 | 22/01/05 코드 작성 package ex_interface; public class Ex2 { public static void main(String[] args) { /* * 인터페이스의 필요성 * * - 모듈 교체가 쉬움 * */ // 다형성을 활용하지 않은 방법 LaserPrinter lp = new LaserPrinter(); lp.print("Ex.java"); DotPrinter dp = new DotPrinter(); dp.print("Ex.java"); System.out.println("=========================================="); // 일반적인 다형성 활용 // 부모(Printer) 인터페이스 타입으로 업캐스팅하여 사용 // => 인터페이스 내에 존재하는 멤버(..