목표: 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..
문제 설명 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ left ≤ right ≤ 1,000 입출력 예 leftrightresult 13 17 43 24 27 52 입출력 예 설명 입출력 예 #1 다음 표는 13부터 17까지의 수들의 약수를 모두 나타낸 것입니다. 수약수약수의 개수 13 1, 13 2 14 1, 2, 7, 14 4 15 1, 3, 5, 15 4 16 1, 2, 4, 8, 16 5 17 1, 17 2 따라서, 13 + 14 + 15 - 16 + 17 = 43을 return 해야 합니다. 입..
목표: 1. Model데이터를 구조화하는 이유에 대해서 안다. 2. Model데이터를 구조화하여 구현한다. 개념화된 데이터 = 엔티티 = 개체 = 사용자형 자료형 = 구조적인 데이터 Model데이터를 구조화하는 이유 반복되는 코드를 줄일 수 있고 속성이라는 이름으로 묶어서 표현하면 코드가 직관적이며 가독성이 높아진다 반복되는 코드를 한번에 묶어서 표현한다. 개체를 만들어 속성을 호출하는 것처럼 사용한다. (실제로는 getters와 setters를 통해서 사용) 코드: /* Notice.java */ package com.newlecture.web.entity; import java.util.Date; /* Notice 클래스에 속성을 정의 Notice라는 Entity객체 */ public class No..