Servlet lifecycle(서블릿 생명주기) Ajax, JSON 예제 Ajax(Asynchronous JavaScript and XML): 클라이언트와 서버가 페이지 새로고침 없이 데이터를 주고받도록 구현하는 방식 JSON(JavaScript Object Notation): javascript객체 문법을 따르는 문자기반의 데이터 포맷 문자열 형태로 존재 -> 네트워크를 통해 전송할 때 아주 유용 문자열에서 네이티브 객체로 변환하는 것을 파싱(Parsing) 네트워크를 통해 전달할 수 있게 객체를 문자열로 변환하는 과정은 문자열화(Stringification)이라고 한다. SampleDto.java public class SampleDto { private String name; private int age; public SampleDto() { super(); //.. MVC 패턴(Model 2) MVC 패턴: Model, View, Controller 의 합성어로 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴 Model : 백그라운드에서 동작하는 로직 처리 View: 사용자가 보게 될 결과 화면 출력 Controller : 사용자의 입력처리와 흐름 제어 담당 모델 1방식과 모델2방식이 있는데 JSP개발자라면 모델 2 구조는 무조건 알아야 함. --Model1 방식 : 모델 1 구조는 사용자 요청을 JSP가 전부 처리함 --Model2 방식 모델 2 구조는 웹브라우저 사용자의 요청을 서블릿이 받아 서블릿이 View로 보여줄 것인지 Model로 보내줄 것인지 정해서 전송해 준다. 여기서 View 페이지는 사용자에게 보여주는 역할만 담당하고 실질적인 기능 부분은 Model이 담당 servlet(서블릿) 정리 예제 2 ServletTest3.java package com.gu.common; import java.io.IOException; import java.util.Calendar; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/test3") public class ServletTest3.. servlet(서블릿) 정리 예제1 servlet(서블릿) : 자바 플랫폼에서 동적인 웹을 개발할 때 사용하는 기반 기술로 웹에서 JAVA 프로그래밍을 할 수 있다. 사용자에게 요청(request)을 받아 요청한대로 처리해주는 doGet() 또는 doPost() 일을 처리한 후 처리 결과를 사용자에게 응답(response) 해준다. 1. 클래스는 HttpServlet을 상속받는다. 서블릿의 기본이 되는 것은 javax.servlet.http 패키지에 준비되어 있는 HttpServlet 클래스이다. 서블릿은 이 클래스를 상속하여 만든다. 2. 기본은 'doGet'과 'doPost' 메소드 클래스에 거의 필수 항목으로 제공되는 것은 'doGet'과 'doPost'메소드이다. 이들은 각각 HTTP 메소드인 GET/POST에 액세스할 때 실행된다.. EL 정리 예제 2 el_test1.jsp ${sessionScope.id} xxxScope는 생략가능 : 생략 시 작은 범위에서 큰 범위 순으로 자동 검색 ${id} : page -> request -> session -> application 파라미터 값 : request.getParameter("id") -> $(param.id) 쿠키 값: $(cookie.id) --%> el_test2.jsp 세션에 저장된 정보: ${sessionScope.id} //el_test1에서 세션에 저장한 id속성의 값을 불러옴 영역 생략 : ${id} // xxxScope는 생략가능 // 밑의 submit을 하면 el_test3.jsp로 제어됨 아이디 패스워드 el_test3.jsp 아이디: ${param.id} //el_test2에서.. EL 정리 예제 1 EL (Expression Language) : JSP 2.0 에 추가된 개념 값이 없는 변수(null)에 관대하며 형 변환을 자동으로 해줌. el_op.jsp -> EL연산자 ${1 + 2} // 3 ${1 - 2} // -1 ${1 * 2} // 2 ${1 / 2} // 0.5 ${1 % 2} // 1 ${1 > 2} // false ${1 = 2} // false ${1 JSTL 정리 예제 JSTL (JSP Standard Tag Library) : JSP 표준 태그 라이브러리 -> JSP페이지를 작성할 때 유용한 여러 커스텀 액션과 함수가 있는 라이브러리이다. JSTL.jsp // jstl.jar test : test : 결과 : 1 + 5는 6입니다 1 + 5는 50입니다. 1 + 5는 30입니다. 1 + 5는 50도 30도 아닙니다. 세션(session) 개요 세션(session) : 쿠키가 웹 브라우저에 사용자의 상태를 유지하기 위한 정보를 저장하였다면, 세션은 웹 서버 쪽의 웹 컨테이너에 상태를 유지하기 위한 정보를 저장한다. 세션을 사용하는 것이 훨씬 안정적이고 보안상의 문제도 해결할 수 있다. 세션은 웹 브라우저당 1개씩 생성되어 웹 컨테이너에 저장된다. * session 클래스에서 자주 사용되는 메소드 - getAttribute(java.lang.String name) : java.lang.Object 세션 속성명이 name인 속성의 값을 Object 타입으로 리턴한다. 해당 속성명이 없으면 null 값으로 리턴 -getAttributeNames() : java.util.Enumeration 세션 속성의 이름들을 Enumeration 객체 타입.. 쿠키(Cookie) 예제 쿠키(Cookie) : 상태가 없는 프로토콜을 위해 상태를 지속하기 위한 방법으로, 웹 사이트에 접속할 때 생성되는 정보를 담은 임시 파일이다. 원래 사이트에 접속한 사용자의 정보를 유지하거나, 사이트에 접속하는 사용자들이 해당 사이트에 쉽게 접속하기 위해 만들어졌다. - 쿠키 클래스 생성 : Cookie cookie = new Cookie(String name, String value); - 쿠키 생성 후 반드시 response 객체의 addCookie() 메소드를 사용해 쿠키를 추가해주어야 한다. 그래야 생성된 쿠키가 response 객체에 실려 웹 브라우저에 응담시 브라우저에 저장된다. response.addCookie(name); - 쿠키 생성 후 쿠키의 값을 새로운 값으로 지정할 땐 se.. 자바빈(JavaBean) 개요와 예제 자바빈 : 자바로 작성된 컴포넌트들을 일반적으로 일컫는 말로, 자바는 프로그램 기본 단위가 클래스이고, 자바빈은 클래스들로 이루어진 복합적인 구조이다. JSP 페이지에 화면 표시 부분과 로직들이 함께 존재하여 복잡하게 구성되는 것을 피하고 JSP 페이지의 로직 부분을 분리해서 코드를 재사용함으로써 프로그램의 효율을 높이는 것이 자바빈의 사용 목적이다. -> 모듈화(컴포넌트화) TestBean.jsp package ch10.Bean; public class TestBean { //자바빈 클래스 정의 private String name; public TestBean() { super(); // TODO Auto-generated constructor stub } public TestBean(String na.. include 액션태그(<jsp:include> 액션태그) - include 액션태그는 include 디렉티브()와 함께 다른 페이지를 현재 페이지에 포함시킬 수 있는 기능을 가지고 있다. 그러나 include 디렉티브는 단순하게 소스의 내용이 텍스트로 포함된다. include 액션태그는 포함시킬 페이지의 처리 결과를 포함시킨다는 점에서 include 디렉티브와 다르다. includeTest2.jsp includeTest2.jsp 포함하는 페이지 상단 포함하는 페이지 하단 includedTest2.jsp includedTest2.jsp 이름: 페이지이름: 이전 1 2 다음