JAVA/JSP 프로그래밍 23

[JSP] JSP 라이프사이클

JSP 라이프사이클이란? JSP 라이프사이클은 JSP 페이지가 요청을 처리하기 위해 거치는 일련의 단계를 의미한다.JSP 페이지는 서블릿으로 변환되고, 컴파일되고, 요청을 처리한 후, 소멸되는 과정을 거친다. 즉, 라이프사이클은 JSP의 생성으로 시작하여 JSP의 해체로 끝난다.1. JSP 페이지 번역 (Translation) └── example.jsp -> example_jsp.java-- JSP 컨테이너는 JSP 파일을 서블릿 자바 파일로 변환합니다.2. JSP 페이지 컴파일 (Compilation) └── example_jsp.java -> example_jsp.class-- 서블릿 자바 파일을 컴파일하여 자바 바이트코드로 변환합니다.3. 클래스 로딩 (Class Loading) └─..

[JSP] JSP(Java Server Pages)란?

JSP란 뭘까?Java Server Pages (JSP)는 동적인 웹 콘텐츠를 생성하기 위한 서버 측 기술이다.JSP는 HTML 페이지 내에 Java 코드를 포함시켜 웹 서버에서 실행된 후, 클라이언트에 HTML을 전송하는 방식으로 동작한다. 좀 더 자세히 말하자면 JSP(Java Server Pages)는 자바 서버 페이지의 약자로, 웹 애플리케이션 개발을 위한 서버 사이드 기술(Server-Side Rendering)이다. JSP는 HTML, CSS, JavaScript 등의 클라이언트 사이드 언어와 함께 사용되어 동적인 웹 페이지를 생성하는 데 사용된다. 자바 코드를 HTML 코드에 삽입하여 웹 서버에서 실행할 수 있게 해주며, 그 결과는 클라이언트의 웹 브라우저로 전송된다.SSR은 Server-S..

[JSP] 서블릿 필터와 리스너란 뭘까?

1. 필터란?필터(Filter)는 서블릿이나 JSP에 요청이 도달하기 전에 요청과 응답을 가로채서 처리하는 컴포넌트이다.필터는 요청을 수정하거나, 응답을 변경하거나, 로깅 및 인증 등의 작업을 수행할 수 있다.필터는 클라이언트와 자원사이에 여러개의 필터가 모여서 하나의 체인(Chain)을 형성할수 도 있다.WAS 서버에 필터를 설정하는 방법은 web.xml 파일에서 설정하거나 자바 코드측에 애노테이션을 사용하여 설정할 수 있는 방법이 존재 한다.예시 코드 - web.xml 파일에 설정 가능 LoggingFilter com.example.LoggingFilter LoggingFilter /* 예시 코드 - java 파일에 설정 가능 import javax.servlet.*;impor..

[JSP] (잠깐!) server.xml과 context.xml 그리고 web.xml 파일 이란?

1. 서버 시작시 어떤 파일부터 메모리에 올라 갈까? 2. 설정 파일들에 각각의 역할에 대해서 알아 보자. 각각의 XML 파일은 Tomcat 서버와 웹 애플리케이션의 설정과 구성을 관리한다.이 파일들의 역할과 메모리에 로드되는 순서를 이해하는 것은 Tomcat 서버의 동작 방식을 파악하는 데 중요하다.server.xml ... 생략 Tomcat의 server.xml 파일에 정의된 설정은 서버 레벨의 설정으로, Java 애플리케이션 코드에서 직접 변경할 수 없다.이 파일은 Tomcat 서버 자체의 구성 요소와 동작 방식을 정의하며, 서버 시작 시 읽히고 적용된디.  따라서 서버가 구동된 후에는 자바 코드 레벨에서 server.xml 설정을 동적으로 변경할 수 없다.context.xml To..

[JSP] 서블릿과 데이터베이스 연동

1. 서버로 데이터를 전송하는 form 태그 사용해 보자. 2. form 태그 action 에서 상대경로 와 절대 경로 개념을 이해하자.webapp/todo-add.html 파일에 작성 Add Todo http://localhost:8080/s02/todo-add.html Title : Description: Save  TodoServlet 파일(서블릿 클래스 생성)package com.tenco.contoller;import jakarta.servlet.ServletException;import jakarta.servlet.annotation.WebServlet;import jakarta.servlet.http.HttpServlet;import jakarta..

[JSP] 서블릿과 서블릿 컨텍스트란?

할 일 목록 쇼핑하기 책 읽기 운동하기 코딩 공부하기 서블릿 컨택스트란는 녀석을 활용해서 서블릿 클래스를 작성해보자.package com.tenco.controller;import jakarta.servlet.ServletException;import jakarta.servlet.annotation.WebServlet;import jakarta.servlet.http.HttpServlet;import jakarta.servlet.http.HttpServletRequest;import jakarta.servlet.http.HttpServletResponse;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStrea..

[JSP] Get, Post 요청 방식에 이해

사전 기반 지식 1. HTTP 메세지 클라이언트에서 요청을 하면 HTTP 메세지가 만들어 진다. 2. URI 와 URL URI와 URL은 주소 방식은 인터넷 세상에서 리소스를 식별하고 접근하기 위한 개념이다. URI (Uniform Resource Identifier)URI는 인터넷에서 리소스를 식별하기 위한 문자열이다.URI는 특정 리소스를 고유하게 식별하며, 리소스의 위치와 상관없이 해당 리소스를 지칭할 수 있다.// 리소스의 이름만 나타냄 domainname.com/my-info urn:isbn:0451450523 // URN 예제 http://www.domainname.com/my-info // URL 예제 (URL은 URI의 한 형태) URL (Uniform Resource Locator)UR..

[JSP] 서블릿 작성, 배포, web.xml 설정에 이해

서블릿 배포란 무엇인가?서블릿 배포는 개발된 서블릿을 애플리케이션 서버(예: 아파치 톰캣)에 올려서 클라이언트가 접근할 수 있도록 준비하는 과정을 말한다. 배포된 서블릿은 클라이언트의 HTTP 요청을 받아 처리하고, 동적 웹 페이지를 생성하여 응답한다.  배포 과정의 주요 단계웹 애플리케이션 구조 설정서블릿을 포함한 모든 웹 애플리케이션 파일을 특정 디렉토리 구조에 맞게 배치한다.배포 기술web.xml 파일 또는 애노테이션을 사용하여 서블릿, 필터, 리스너 등을 설정한다.WAR 파일 생성 및 배포웹 애플리케이션을 WAR (Web Application Archive) 파일로 패키징하여 배포할 수 있다.서버 설정웹 서버 또는 애플리케이션 서버에 웹 애플리케이션을 등록하고 실행한다.  웹 애플리케이션 구조웹 ..

[JSP] 서블릿 Life Cycle 이란?

서블릿의 라이프사이클은 서블릿이 생성되고 초기화된 후 요청을 처리하고 종료되기까지의 생명 주기를 의미한다. 서블릿 라이프사이클을 이해하면 서블릿이 웹 애플리케이션에서 어떻게 동작하는지 파악하기 위해 학습해야 한다. 사전 기반 지식 서블릿 라이프사이클 단계💡 서블릿 라이프사이클은 서블릿이 생성되고, 요청을 처리하며, 소멸되는 전체 과정입니다. 서블릿의 생명 주기는 세 가지 주요 메서드인 init(), service(), destroy() 로 구성된다.클래스 로딩 (Class Loading)인스턴스 생성 (Instantiation)초기화 (Initialization)요청 처리 (Request Processing)종료 (destroy) 1. 클래스 로딩 (Class Loading)설명: 서블릿 컨테이너는 서..

[JSP] 서블릿이란?

서블릿(Servlet)은 자바 언어로 작성된 서버 측 컴포넌트로, 웹 애플리케이션에서 클라이언트의 HTTP 요청을 처리하고 동적인 웹 페이지를 생성하여 응답하는 역할을 한다. 서블릿은 Java EE (Enterprise Edition) 사양의 일부로, 주로 HTML 페이지를 생성하고 데이터베이스와 연동하여 데이터를 처리하는 데 사용된다. ❗컴포넌트란?여기서 "컴포넌트"라는 개념은 독립적으로 작동할 수 있는 소프트웨어의 작은 단위이다. 서블릿은 웹 서버에서 독립적으로 실행되며, 클라이언트의 요청을 처리하고 응답을 생성하는 역할을 한다.예를 들어, 데스크톱 프로그램이나 모바일 앱에 사용되는 메뉴바, 툴바, 본문 영역 등이 각각의 컴포넌트로 볼 수 있다.  서블릿의 역할HTTP 요청 처리서블릿은 클라이언트로부..