본문 바로가기

JSP 웹프로그래밍15

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.
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.
JSP : EL 자료형, 연산자, 실습(230105)Expression Language 표현언어 (EL) - 자바 코드가 들어가는 표현식을 좀 더 편리하게 하는 데이터 출력 방식 - 페이지 디렉티브 태그에서는 반드시 isELIgnored = false로 설정해야 한다. ${표현식 or 값} / 혹은 div % 혹은 mod == 혹은 eq != 혹은 ne 혹은 gt = 혹은 ge && 혹은 and || 혹은 or ! 혹은 not empty : 이 null이거나, 빈 문자열이면 true 표현언어로 여러 가지 데이터 출력하기 표현언어로 여러 가지 데이터 출력하기 \${100} : ${100} \${"안녕하세요"} : ${"안녕하세요"} \${10+1} : ${10+1} \${"10"+1} : ${"10"+1} jsp파일 여러가지 산술 연산자 여러가지 산술 연산자 \${10+10.. 2023. 1. 5.
JSP #8 : 커스텀 태그 & EL & JSTL (230105)2 ++ Custom Tag(커스텀 태그) ++ - 사용자 정의 태그 - 태그와 같은 형태로 프로그램 코드를 대체하거나 재활용 가능한 구조를 통해 태그 라이브러리로 활용하고자 개발된 규격 - (스크립트릿 사용을 줄이고자) - 외형적인 형태는 XML(HTML) 태그 구조 - 서블릿 형태로 변환될 때 자바 코드로 변경되어 통합되는 방식 - 커스텀 태그를 사용하기 위해서는 taglib 지시어를 사용 -> 커스텀 태그가 어디에 정의되어 있는지를 먼저 선언, 태그에 사용할 접두어를 지정해야 한다. - 커스텀 태그 자체가 서버에서 해석되는 구조 - 프로젝트가 특정 커스텀 태그에 종속될 수 있다 - 따라서, 커스텀 태그를 직접 만드는 방식은 점차 줄어들고 있음 - 대신 커스텀 태그 기술로 만들어진 JSTL(JSP Sta.. 2023. 1. 5.
JSP #7 : 액션 태그 (230105)2 ++ 액션 태그 (Action tag) ++ - JSP에서 객체 생성과 공유, 페이지 이동과 전달, 태그 파일 작성 등에 필요한 기능을 제공하는 커스텀 태그 - 표준 액션 - 커스텀 태그 기반 (하지만, 별도의 taglib 지시어 없이 jsp 접두어 사용) - JSP에서 프로그램적인 요소를 많이 구현하거나 컨트롤러로 활용할 때 유용 - JSP 파일에서 커스텀 태그의 구조적인 특징을 살려 HTML 형태로 프로그램 요소를 처리할 수 있기 때문에 간편 Action Tag Description jsp:forward request와 response 객체를 포함해 다른 페이지로 포워드 jsp:include 다른 페이지의 실행 결과 포함 jsp:useBean 자바 빈즈 객체를 생성, 불러옴 jsp:setPropert.. 2023. 1. 5.
JSP #6 : JSP 파일 업로드 (230104)2 src-main-webapp-WEB-INF-lib에 commons-fileupload-1.3.3.jar와 commons-io-2.6.jar 넣기 파일을 업로드할 때 사용할 저장소를 C드라이브에 "file_repo"로 만든다. - 파일 업로드 API DiskFileItemFactory 클래스 setRepository() : 파일을 저장할 디렉토리 설정 setSizeThreadhold() : 최대 업로드 가능한 파일 크기 설정 ServletFileUpload 클래스 parseRequest() : 전송된 매개 변수를 List객체로 얻기 getItemIterator() : 전송된 매개변수를 Iterator타입으로 얻기 JSP 페이지에서 파일 업로드 실습 선택되어 있는 두가지 .jar 파일은 파일 업로드에, 나머.. 2023. 1. 5.
JSP #5 : JSP 지시어, 템플릿 데이터, 스크립트 요소 (230104)2 ++ JSP ++ - HTML 페이지에 자바 코드 직접 사용 - 서블릿 컨테이너에 의해 관리되는 내장객체의 생명주기로, 페이지 간의 속성을 관리 - 커스텀 태그 기술을 사용해 코드를 태그화(action, JSTL...) - EL(Expression Language)로 데이터 표현 - 구성요소 지시어(Standard Directives) 액션(Standard Action) 템플릿 데이터(Template Data) 스크립트 요소(Script Element) 커스텀 태그(Custom Tag)와 EL(Expression Language) - HTML 파일에 자바 기술을 거의 무한대로 사용 가능 - 비교적 쉬운 프로그래밍 - 커스텀 태그 라이브러리 등 확장 태그 구조를 사용 가능 - 서블릿으로 변환되어 실행 ->.. 2023. 1. 4.