목표: JSP 웹 프로그래밍의 지금까지의 과정을 정리한다. 서블릿? 자바 웹(서버) 프로그램 웹? 입/출력을 담당한다. 입/출력? requset / response => 한글깨짐 문제 해결(UTF-8) response? 웹문서를 출력한다(문자 뿐만 아니라 복잡한 페이지까지) 웹문서 출력? 문서 기반(jsp)의 코드블록을 사용해서 해결 문서 기반(jsp)의 코드블록? 스파게티 코드로 코드가 조잡함 스파게티코드? MVC모델 방식으로 해결 MVC모델방식? View와 Controller로 분리 View? EL, JSTL을 이용해서 코드블록을 제거
목표: JSTL기능과 uri와 태그 라이브러리의 관계를 안다. JSTL(JSP Standard Tag Library)의 기능 - Core - Formating - Funcions https://atoz-develop.tistory.com/entry/JSP-JSTL-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95-%EC%A3%BC%EC%9A%94-%ED%83%9C%EA%B7%B8-%EB%AC%B8%EB%B2%95-%EC%A0%95%EB%A6%AC [JSP] JSTL 사용 방법 - 주요 태그 문법 정리 JSTL을 사용하려면 라이브러리가 필요하다. 라이브러리 다운로드 및 프로젝트 세팅은 이 포스트를 참고한다. 태그 라이브러리 선언 자바에서 import문을 선언하듯 JSP에서도 JSTL 확장..
목표: View에서 자바 코드 블록을 제거하고 반복문을 유지한다. ForEach 및 몇가지의 태그를 사용 태그를 사용하기 위해서는 jstl 라이브러리를 다운로드하아야 한다. https://repo1.maven.org/maven2/javax/servlet/jstl/1.2/jstl-1.2.jar JSTL 라이브러리를 WEB-INF - lib에 추가한다. 코드: 태그 라이브러리 추가 c: +(ctrl+space) 후에 여러 가지 태그들을 사용할 수 있다. ${n.id} ${n.title} ${n.writerId} ${n.regdate} ${n.hit} 기존의 list를 생성하고 값을 request로 받아와서 for문을 이용해서 pagecontext에 lkst값들을 저장하던 부분들을 태그를 이용해서 간단하게 구..
목표: View페이지를 은닉하는이유와 방법 View페이지를 은닉하는 이유 - View페이지는 이제 더 이상 사용자가 직접 보면 안된다. Controller에 의해서만 호출 될 수있다. View페이지를 은닉하는 방법 - 사용자가 볼 수없는 곳(Web-INF)으로 옮기도록 한다. - Controller들의 forward주소를 모두 변경시켜준다. 코드: /* NoticeListController.java 일부 */ request.getRequestDispatcher("/WEB-INF/view/notice/list.jsp").forward(request, response); /* NoticeDetailController.java */ request.getRequestDispatcher("/WEB-INF/view..
목표: 목록페이지를 MVC model2로 수정한다. 내용: NoticeListController.java 추가 list.jsp에서 JAVA코드와 HTML코드로 구분하고, JAVA코드를 이용해 컨트롤러를 만든다. /* NoticeListController.java */ package com.newlecture.web.controller; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import jav..
목표: 1. Model데이터를 구조화하는 이유에 대해서 안다. 2. Model데이터를 구조화하여 구현한다. 개념화된 데이터 = 엔티티 = 개체 = 사용자형 자료형 = 구조적인 데이터 Model데이터를 구조화하는 이유 반복되는 코드를 줄일 수 있고 속성이라는 이름으로 묶어서 표현하면 코드가 직관적이며 가독성이 높아진다 반복되는 코드를 한번에 묶어서 표현한다. 개체를 만들어 속성을 호출하는 것처럼 사용한다. (실제로는 getters와 setters를 통해서 사용) 코드: /* Notice.java */ package com.newlecture.web.entity; import java.util.Date; /* Notice 클래스에 속성을 정의 Notice라는 Entity객체 */ public class No..
목표: MVC model2의 장점을 알고 MVC model1을 MVC model2로 변경하기 MVC model2란? View와 Controller 부분을 물리적으로 나누는 방식 단점: 복합도가 높아진다 장점: 나누어져 있어서 개별적으로 관리가 가능(협업 가능), 재사용 가능 JSP는 요청이 오면 실행하기 때문에 가벼운 반면, 서블릿은 무겁지만 미리 컴파일을 해놓을 수있기 때문에 실행 속도가 빨라진다. Mode(bean)라는 세션에서는 request라는 저장소, 입력도구를 사용해서 Controller와 View를 물리적으로 나눌 수있다. Controller 생성 코드: Controller => NoticeDetailController.java /* NoticeDetailController.java */ p..
목표: 목록에서 글을 선택할때 자세한 페이지를 구현한다. detail.jsp 전체 코드 헤더 메인메뉴 학습가이드 강좌선택 AnswerIs 강좌검색 폼 과정검색필드 과정검색 회원메뉴 HOME 로그인 회원가입 고객메뉴 고객센터 고객센터메뉴 공지사항 자주하는 질문 수강문의 이벤트 협력업체 공지사항 breadlet home 고객센터 공지사항 공지사항 내용 제목 작성일 작성자 조회수 첨부파일 목록 다음글 다음글이 없습니다. 이전글 스프링 DI 예제 코드 주소: 서울특별시 관리자메일: admin@newlecture.com 사업자 등록번호: 111-11-11111 통신 판매업: 신고제 1111 호 상호: 뉴렉처 대표: 홍길동 전화번호: 111-1111-1111 Copyright ⓒ newlecture.com 2012..