본문 바로가기

Wanna be a Programmer/Servlet & JSP

Servlet & JSP day16 - 싱글톤 디자인 패턴을 적용한 MVC 모델 TestDTO.java ☞ packge : model/dto ☞ id, name으로 구성된 TesDTO 객체 생성 ☞ 생성자, setter / getter메소드, toString(), hashCode()메소드 작성 소스보기 package model.dto; public class TestDTO { private String id; private int number; public TestDTO() { } public TestDTO(String id, int number) { super(); this.id = id; this.number = number; } public String getId() { return id; } public void setId(String id) { this.id = id; } .. 더보기
Servlet & JSP day16 - MVC(model, view, controller) 디자인 패턴 MVC 디자인 패턴 ☞ GUI 기반 Application 설계 ☞ 클라이언트의 요청을 받아 처리하여 응답하는 로직을 세개의 로직(Model, View, Controller)로 나누어 개발 ☞ Model ◎ Business Logic(클라이언트 요청에 대한 업무 처리)을 담당 ◎ Business Service와 Data Access Object로 분리 - Business Service * Business 로직의 일의 흐름을 관리 * DB관련된 작업을 제외한 로직을 처리 - Data Access Object(DAO) * Database 관련된 로직만 처리 * DB 관련 로직을 제외한 어떠한 업무처리도 가지지 않는다. ☞ View ◎ 처리결과를 응답하는 로직을 담당(Presentation Logic) ☞ Co.. 더보기
Servlet & JSP day16 - Filter Filter ☞ 클라이언트의 요청을 받은 component(Servlet, JSP)가 일하기 전 처리, 일한 후 처리를 담당하는 컴퓨넌트 ☞ 구현 ◎ javax.servlet.Filter를 implements ◎ callback(lifecycle) 메소드 재정의 - init(FilterConfig) - destroy() - doFilter(ServletRequest, ServletReponse, FilterChain) ◎ web.xml에 filter 등록 - 태그 : filter 객체 등록 - 태그 : 필터가 호출될 url 설정 RegisterServlet.java ☞ package : servlet.form ☞ 한글을 입력받기 위해서 필요한 메소드(한글처리인 request.setCharacterEnco.. 더보기
Servlet & JSP day15- JSTL의 Core라이브러리(out, if, choose, foreach, set, remove태그) 주요 Core 라이브러리 ☞ 변수 지원 ◎ set : JSP에서 Attribute로 binding된 객체 처리 ◎ remove : binding된 attribute 제거 ☞ 제어문 지원 ◎ if : if문 ◎ choose : 다중 조건 처리 ◎ forEach : 반복문 처리 ☞ 출력 지원 ◎ out 태그 - 태그 형태의 문자열을 그대로 출력되로독 처리할 수 있다. - 속성 ◇ value : 출력할 내용 ◇ escapeXml : 태그 출력 여부 처리 true : 태그를 해석하지 않고 그대로 출력 false : 태그를 해석해서 출력 ◇ default : value 소스보기 error.jsp 오류가 발생했습니다. 관리자에게 문의하세요.. admin@abc.com > 오류메세지 : ${requestScope.e.. 더보기
Sevlet & JSP day15 - JSTL(JSP Standard Tag Library: JSP 표준 태그 라이브러리) JSTL(JSP Standard Tag Library) ☞ custom tag library로 JSP 스펙에는 포함되지 않았지만 자바 진영에서 진행하는 태그 라이브러리 ◎ 커스텀 태그 : JSP에서 스크립트릿으로 작성해야할 동적 로직을 태그로 처리 ◎ jstl.javaa.net에서 api를 다운로드 후 web application의 lib 폴더에 넣어 사용한다. ☞ JSP에서 커스텀 태그를 사용하기 위해서는 taglib 지시자 태그 설정 필요 ☞ JSTL 종류 ◎ core : program의 기본적인 내용들을 지원, 변수, 제어문, 출력 등 uri : http://java.sun.com/jsp/jstl/core ◎ xml : XML관련 처리 uri : http://java.sun.com/jsp/jstl/.. 더보기
Servlet & JSP day14 - EL(Expression Language) EL(Expression Language) - 표현식 언어 ☞ JSP 2.0에서 새로 추가된 스크립트 언어 ☞ 기존의 expression tag의 업그레이드 버전 ☞ 주요기능 ◎ 리터럴 데이터 출력 ◎ 각종 연산자를 제공하여 연산결과 출력을 지원 ◎ 4개의 속성 scope(page, request, session, application)에 binding된 Attribute(객체)나 그 Attribute의 property 값 출력 ◎ JSTL과 연동 ☞ 구문 ◎ ${출력내용} - ${10}, ${"안녕"}, ${10+20} ◎ ${value1.value2[.value3 ..]} - 특정 객체의 property 접근 할 때 사용 ◎ ${value1[value2]} - 컬렉션(list 계열)의 값을 출력할 때.. 더보기
Servlet & JSP day14 - 표준 액션 태그(jsp:include) Include ☞ JSP 페이지 내에 다른 컴포넌트(JSP, HTML, Servlet)를 포함 시키는 기술 ◎ 주로 JSP나 HTML을 포함시킨다. ◎ include지시자 태그를 이용, 표준 action 태그 이용 ◎ 기타 : JSTL의 import 태그 이용, tiles 프레임 워크 ☞ 지시자 태그 이용 ◎ copy and paste 방식 - JSP를 servlet으로 변환하기 전에 포함시킬 파일의 내용을 카피하여 붙인다. - 구문 : ☞ 액션 태그 이용 ◎ 요청 디스패치 방식 - 수행을 포함시킬 컴포넌트로 이동한 뒤 출력내용을 포함시키는 방식 ◎ 구문 a.jsp ☞ folder : WebContent/include 소스보기 a.jsp b.jsp ☞ folder : WebContent/include ☞.. 더보기
Servlet & JSP day13 - 표준 액션 태그(jsp:forward) ☞ RequestDispatcher객체.forward() 실행을 태그화 한 것. ☞ 요청 Dispatch 방식으로 이동 ☞ 속성 ◎ page : 수행을 이동할 컴포넌트의 url 설정 ☞ 예) 더보기
Servlet & JSP day13 - 표준 액션 태그(jsp:getProperty) 태그 ☞ 태그로 lookup한 객체의 property 값을 조회하여 출력하는 태그 ☞ bean 객체의 getter 메소드를 호출한다.(getXXX 또는 isXXX) ☞ 속성 ◎ name : property를 조회할 객체의 이름. useBean의 id값 ◎ property : 조회할 property의 이름(getter 메소드의 이름) ☞ 예) -> 의미 register_customer.jsp ☞ folder : WebContent/actiontag ☞ getProperty 태그를 이용해서 출력 결과 소스보기 Session Scope 결과 ID : Password : 이름 : 나이 : 이메일 : res2.jsp getProperty이용해 출력 ID : Password : 이름 : 나이 : 이메일 : 더보기
Servlet & JSP day13 - 표준 액션 태그(jsp:setProperty) ☞ 태그로 lookup한 객체(Attribute)의 property에 값을 설정하는 태그 ☞ Lookup한 Attribute의 setter 메소드를 호출하여 값을 설정한다. ◎ 명시적인 값을 설정 ◎ 요청 파라미터로 넘어온 값을 설정 ☞ 속성 ◎ name : 값을 설정할 bean의 이름. useBean의 id값 ◎ property : 값을 설정할 property명. (setter 메소드에서 set을 제외한 이름) ◎ value : 설정할 값 ◎ param : 요청할 파라미터의 값을 설정할 경우, 요청파라미터의 이름 ☞ 요청파라미터로 넘어온 값을 설정할 경우 property의 이름과 요청파라미터의 이름이 동일한 경우 param을 생략할 수 있다. ☞ 예) -> 의미 mto.setId("myid"); -> .. 더보기