JSP(JavaServer Page) 14

JSP(JavaServer Page) - 14 : MVC 패턴을 활용한 응용 예제

- 주소록 프로그램 1) 구조 본 프로그램은 다음과 같은 구조로 되어 있다. 2) 설명 (1) index.jsp - 초기 클라이언트가 request 요청을 보내는 곳이다. pageContext.forward("control.jsp?action=list");로 control.jsp 페이지로 forwarding하고 있다. 여기서 forwarding하는 이유는 클라이언트가 control.jsp로 페이지 전환하는 것을 느낄 필요가 없기 때문이다. (2) control.jsp - control 부분을 담당한다. 먼저 pageContext.forward("list.jsp") : control.jsp에서 페이지 전환이 일어나므로 forwarding한다. => DAO 객체인 ab.getDBList() 메서드를 통하여 ..

JSP(JavaServer Page) - 13 : 데이터베이스와 JDBC

- JDBC API 이해 및 프로그래밍 단계 1. JDBC 프로그래밍 단계 다음은 JDBC 프로그래밍 단계와 각 단계에 대한 설명을 정리한 표이다. JDBC 프로그래밍 단계설명JDBC 드라이버 로드Class.forName();데이터베이스 연결conn = DriverManager.getConnection(URL, id, passwd);// URL에는 IP, Port, 스키마가 포함Statement 생성1) 정적 StatementStatement stmt = conn.createStatement() 2) 동적 StatementPreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setString(1, request.getParameter(“username”..

JSP(JavaServer Page) - 12 : JSP와 자바 빈즈 연동, JSP에서의 자바 빈즈 선언

- JSP와 자바 빈즈 연동, JSP에서 자바 빈즈 선언 1. JSP와 빈즈 연동 JSP 빈즈는 JSP에서 사용할 수 있는 자바 컴포넌트로, 빈즈 액션과 결합해서 웹 프로그램을 더 간편하고 단순한 구조로 처리할 수 있다. 자바 빈즈는 MVC 아키텍쳐에서 Model 부분을 담당한다. 자바 빈즈(Model)는 일반적으로 데이터 매핑이 일어나는 DO(Data Object)클래스와 데이터의 I/O, 처리 및 가공을 하는 DAO(Data Access Object)클래스로 분리해서 구현한다. 2. 빈즈 클래스 구조 자바 빈즈는 Enterprise 자바 빈즈와 일반적인 자바 빈즈로 나뉜다. 다음은 일반적인 빈즈 클래스의 규칙을 정리한 내용이다. 1) 멤버 변수는 private 2) getter, setter (get..

JSP(JavaServer Page) - 11 : request, session, application의 생성, 소멸 시점과 속성 관리, MVC 패턴과 JSP 내장객체

- request, session, application의 생성, 소멸 시점과 속성 관리, MVC 패턴과 JSP 내장객체 1. 생성 소멸 시점 1) application은 모든 사용자가 공유하는 데이터를 저장할 수 있으며, 톰캣이 종료할 때까지 데이터를 유지할 수 있다. 2) session의 경우 사용자마다 분리된 저장 영역이 있으며, 다른 페이지의 session 정보를 참조할 수 있다. 다음은 각 내장 객체의 생성 및 소멸 시점을 정리한 표이다. 내장객체생성 시점소멸 시점request해당 페이지 요청 시점응답 완료 시점session사용자 최초 접속 시점웹 브라우저 종료 시점 및 일정 시간 경과 후application웹 어플리케이션 시작 시점웹 어플리케이션 종료 시점 2. 속성 관리 1) request,..

JSP(JavaServer Page) - 10 : session과 request 객체를 활용한 응용 프로그램 selProduect.jsp

1. selProduct.jsp 1) selProdject.jsp의 구성은 다음과 같다. - request가 POST인 경우에만 request를 setCharacterEncoding()하는 부분 - form이며 (POST), command.equals("login")인 경우 session에 id 속성 값을 setAttribute()하는 부분 - form이며 (POST), command.equlas("add")인 경우 session에 저장된 productlist 속성 값을 getAttribute()하는 부분 - a tag (GET), command.equlas("logout")인 경우 session에 저장된 username과 productlist 속성을 삭제하는 부분 - a tag (GET), comman..

JSP(JavaServer Page) - 9 : session를 활용한 login 예제

1. login.jsp 1) login.jsp는 다음과 같이 구성되어 있다. - index.jsp로 sendRedirect()하는 부분. - form에서 Button을 눌렀을 때 id와 passwd가 넘어가는 POST 방식의 request를 처리하는 부분. - 기본적인 html 코드를 출력하는 부분. 2) login.jsp는 다음과 같은 부분에 주목해야 한다. - 맨 첫 부분에 session의 login 속성을 getAttribute() 메서드를 활용하여 로그인 되어 있는 상태인지 확인하고 로그인 되어 있으면 index.jsp로 response.sendRedirect()하는 부분. - form의 button을 눌러 POST 방식의 request가 넘어 오는 경우를 request.getMethod().eq..

JSP(JavaServer Page) - 8 : response 객체, sendRedirect() 메서드와 forward action의 차이

- response 객체 response는 request와 반대되는 개념으로, 사용자 응답과 관련된 기능을 제공하는 내장 객체이다. response는 response에 비해 많이 사용되는 메서드는 적은 편이지만, sendRedirect() 메서드는 잘 알아두어야 한다. 1. sendRedirect() sendRedirect()는 사용자 요청을 다른 페이지로 보내는 것으로, 새로운 페이지를 위한 request, response 객체가 생성된다. 2. sendRedirect()와 forward 액션의 차이 1) sendRedirect() 메서드는 새로운 페이지를 위한 request, response 객체를 생성하지만, forward 액션은 원래 요청에 포함된 request와 response 객체가 그대로 전..

JSP(JavaServer Page) - 7 : request JSP 내장 객체

- JSP 내장 객체, request 1. JSP 내장 객체 JSP 내장 객체란 JSP 내에서 선언하지 않고 사용할 수 있는 객체이다. 각각의 내장 객체들은 특정 클래스에 대한 인스턴스로, 컨테이너를 통해 초기화되고 특정 기능이나 정보를 제공한다. 대표적인 JSP 내장 객체로 request, response, out, session 등이 있다. 2. request request는 사용자 요청과 관련된 기능을 제공하는 내장 객체로, 주로 클라이언트에서 서버로 전달되는 정보를 처리하려고 사용한다. 다음은 request의 주요 메서드를 정리한 표이다. 메서드 설명 getParameterNames() 요청에 포함된 파라미터 이름들을 열거 형태로 리턴한다. getParameter(name) name 파라미터의 값..

JSP(JavaServer Page) - 6 : 액션 (include action, forward action)

- 액션, include action, forward action 액션은 JSP 주요 구성 요소 중 하나로 JSP 페이지 간 흐름 제어, 자바 빈즈 컴포넌트와 JSP 상호 작용 지원과 같은 기능을 지원한다. JSP 액션의 태그의 종류는 여러 가지가 있지만, 대표적으로 include, forward, useBean이 있다. 1. include action include 액션은 다른 파일을 불러 온다는 측면에서 include 지시어와 개념이 유사하다. 하지만 include 지시어는 해당 파일을 포함시킨 후 컴파일하는 것에 비해, include 액션은 실행 시점에서 해당 파일을 호출하여 그 결과를 포함한다. 즉, include 액션은 각각의 파일을 따로 컴파일해서 관리하기 때문에 동적인 페이지를 포함시킬 경우..

JSP(JavaServer Page) - 5 : 선언과 HTTP Request Method (GET, POST), 표현식과 스크립트릿

- 선언과 HTTP Request Method 선언과 표현식은 JSP 스크립트 요소의 대표적인 특징 중 하나이다. 선언문을 사용하면 JSP에서 메서드나 멤버 변수를 선언할 수 있으므로 프로그램 요소를 구현하기가 더욱 수월해진다. 그러나 일반적으로 JSP에서 자바 코드를 확장하는 것보다는 별도의 빈즈 클래스를 사용하는 것이 좋기 때문에 선언문을 사용하는 것을 권장하지 않는다. 1. 선언 JSP가 서블릿으로 변하는 과정에서, 서블릿으로 변환된 JSP 내용은 일반적으로 _jspService() 메서드에 들어간다. JSP는 선언으로 클래스의 멤버 메서드나 멤버 변수를 선언할 수 있는 방법을 제공해준다. 다음은 선언의 syntax이다. 2. HTTP Request Method HTTP란 Hypertext Tran..