본문 바로가기
728x90

분류 전체보기184

Spring #2 : 스프링 MVC (230116) 스프링에서의 MVC 기능 - 모델2 아키텍처를 지원 - 스프링과 다른 모듈과의 연계가 용이 - 타일즈(tiles)나 사이트메시(sitemesh) 같은 View 기술과 연계 용이 - 태그 라이브러리를 통해 message 출력, theme 적용, 입력 폼을 쉽게 구현 가능 스프링 프레임워크 MVC 구성 요소 구성요소 description DispatcherServlet 클라이언트의 요청을 전달받아 해당 요청에 대한 컨트롤러를 선택하여 클라이언트의 요청 전달 컨트롤러가 반환한 값을 View에 전달하여 알맞은 응답 생성. HandlerMapping 클라이언트가 요청한 URL을 처리할 컨트롤러를 지정 Controller 클라이언트의 요청을 처리한 후 그 결과를 DispatcherServlet에 전달 ModelAn.. 2023. 1. 17.
자바 #007_상속 OOP(객체 지향 프로그램)에서 부모 클래스의 멤버를 자식 클래스에게 상속해줄 수 있다. 상속 - 재사용 : 이미 개발된 클래스를 재사용하여 새로운 클래스를 만들기 때문에, 중복코드가 줄어든다. - 유지보수 : 부모클래스를 수정하면, 상속받고 있는 모든 자식 클래스가 수정되므로 유지보수 시간이 줄어든다. 클래스 상속 - 자식 클래스를 선언할 때 뒤에 부모 클래스를 명시 class 자식클래스 extends 부모클래스 { // 필드 // 생성자 // 메소드 } - 부모 클래스는 하나만 정할 수 있다. - 부모클래스의 private 필드와 메소드는 상속받을 수 없다. - 부모와 자식이 다른 package에 존재하면, default 접근 제한자를 가진 필드와 메소드도 상속받을 수 없다. - 자식클래스의 객체를 .. 2023. 1. 16.
Spring : 스프링 AOP (230116)xxx ++ 관점 지향 프로그래밍(Aspect Oriented Programming, AOP) ++ - 주기능과 보조 기능을 분리해서 메서드에 적용 더보기 (출처 : Aspect Oriented Programming(관점지향프로그래밍) 소개 :: Deep Play (tistory.com)) AOP는 절차지향이나 객체지향 프로그래밍처럼 그 자체로 하나의 프로그램을 형성할 수 있는 건 아닙니다. 하지만 AOP는 객체지향 코드 위에서 이루어지며 객체지향을 보조하는 역할을 한다고 보시면 됩니다. 스프링 프레임워크에서 AOP기능 구현 방법 스프링 프레임워크에서 제공하는 API 사용 @Aspect 애너테이션 사용 AOP 용어 용어 description aspect 구현하고자 하는 보조 기능 advice aspect의 실제.. 2023. 1. 16.
Spring #1 : 의존성 주입, 초기 개발환경 설정 (230116) Spring 환경설정하기 File - new - other - Java Project (module은 don't create) 그리고 lib폴더를 만들어서 해당 .jar파일들을 복사-붙여넣기. 오른쪽마우스-properties로 들어간다. 복사한 jar파일들을 Add JARs해서 classpath에 추가해준다. 의존성 - 연관 관계를 개발자가 직접 코딩을 통해 컴포넌트(클래스)에 부여하는 것이 아니라, 컨테이너가 연관 관계를 직접 규정하는 것 - 코드에서 직접적인 연관 관계가 발생하지 않으므로 각 클래스들의 변경이 자유로워진다. (loosely coupled, 약한 결합) - 서로 관련이 있는 기능들은 강하게 결합( tightly coupled)하고, 관련이 없는 기능들은 약하게 결합(loosely cou.. 2023. 1. 16.
JSP #12 : Model2 방식 - 게시판(230111) 첫 번째로, 게시판 리스트업하기 실습 #1 먼저 데이터베이스다. 원래는 이렇게 저장함수로 함수를 생성하는 것이 좋지만, 계속 알 수 없는 오류가 생겨 쿼리문으로 function_hierarchical을 작성하였다. DELIMITER $$ CREATE FUNCTION function_hierarchical() RETURNS INT NOT DETERMINISTIC READS SQL DATA BEGIN DECLARE v_articleNO INT; DECLARE v_parentNO INT; DECLARE CONTINUE HANDLER FOR NOT FOUND SET @articleNO = NULL; SET v_parentNO = @articleNO; SET v_articleNO = -1; IF @articleN.. 2023. 1. 16.
JSP #11 : Model2 방식, 회원 출력, 추가, 삭제/수정(230110) ++ 모델2 방식 (Model2) ++ - 웹 애플리케이션의 각 기능(클라이언트의 요청 처리, 응답 처리, 비즈니스 로직 처리)을 분리 - 객체 지향 프로그래밍에서 각각의 기능을 모듈화해서 개발 - 각 기능이 서로 분리되어 있어 개발 및 유지보수에 용이 - 각 기능(모듈)의 높은 재사용성 - 디자이너와 개발자의 작업을 분업화 --> 쉽게 개발 가능 Model1 Model2 ++ MVC ++ https://hhahee.tistory.com/39 MVC 모델 Model/View/Controller (MVC) 모델 MVC(Model View Controller) 모델은 중앙 데이터 구조를 갖는다. 시스템을 세 개의 서브 시스템인 Model, View, Controller로 나누어 구성한다. 제어 서브시스템은 .. 2023. 1. 11.
자바 : 리스트 List list = new ArrayList(); 로 사용하는 이유 (링크) https://bibi6666667.tistory.com/236 [Java] List 리스트 = ArrayList 로 선언해 사용하는 이유 List 리스트 = ArrayList 로 선언하는 이유 출처 : List와 ArrayList, 업캐스팅을 하는 이유 . 감사합니다👍 List list = new ArrayList();` `ArrayList list = new ArrayList(); 대부분의 ArrayList는 아래보단 위와 같은 형태 bibi6666667.tistory.com 2023. 1. 10.
JSP #10 : 커스텀 태그(230109)2_1 ++ 커스텀 태그(Custom Tag) ++ - 사용자 정의 태그 - 스크립트릿 사용을 줄이고 태그와 같은 형태로 프로그램 코드를 대체하거나 재활용 가능한 구조 - 외형적인 형태는 XML(HTML) 태그 구조, 서블릿 형태로 변환될 때 자바 코드로 변경되어 통합 - 커스텀 태그를 사용하기 위해서는 taglib 지시어를 사용 -> 커스텀 태그가 어디에 정의되어 있는지를 먼저 선언, 태그에 사용할 접두어를 지정해야 한다. - 커스텀 태그 자체가 서버에서 해석되는 구조 - 많이 사용 x - 커스텀 태그 기술로 만들어진 JSTL(JSP Standard Tag Library)이 자바 웹 개발에 필수(따로 JSTL 라이브러리 설치해 사용) - 액션 태그나 표현 언어를 사용하더라도 조건식이나 반복문 등의 자바 코드를.. 2023. 1. 9.
JSP #9 : database와 연동 (230106) Database와 연동해보기~.~ 데이터베이스와 회원정보 연동하기 DB먼저! - VO - DAO - Servlet 순서로 ++ DB ++ t_member 테이블 생성 데이터도 생성해보았다 ㅋㅋㅋ ++ VO++ 생성해놓은 Dynamic Web Project에 database.test 패키지를 만들고, MemberVO 클래스를 생성. package database.test; import java.sql.Date; public class MemberVO { private String id; private String pwd; private String name; private String email; private Date joinDate; public MemberVO() { System.out.println.. 2023. 1. 6.
728x90