Backend/Web 15

MVC Model2

MVC Model 2는 JSP와 서블릿을 기반으로 하는 웹 애플리케이션 아키텍처 패턴으로, Model-View-Controller(MVC) 구조를 사용하여 서버 측에서 요청과 응답을 처리하는 방식입니다. MVC Model 2는 비즈니스 로직, 데이터, 프레젠테이션(화면) 로직을 명확히 분리하여, 유지보수와 확장성이 높은 구조를 제공합니다. 이 패턴은 Java 웹 애플리케이션에서 JSP와 서블릿의 역할을 명확히 나누고, 데이터 흐름을 구조화합니다.MVC Model 2의 주요 구성 요소Model (모델):비즈니스 로직과 데이터베이스와의 상호작용을 담당합니다.DAO(Data Access Object)와 DTO(Data Transfer Object)를 사용하여 데이터를 관리합니다.서블릿이 처리한 데이터는 모델을..

Backend/Web 2024.11.13

MVC Model1

Model 1의 구조Model 1은 JSP 페이지가 모델(Model), 뷰(View), 컨트롤러(Controller)의 역할을 모두 수행하는 단일화된 구조로 이루어져 있습니다. 즉, 사용자 요청을 받아서 비즈니스 로직을 수행하고, 결과를 사용자에게 반환하는 작업을 모두 JSP가 처리합니다.Model 1의 구성 요소Model (모델):데이터나 비즈니스 로직을 담당하는 객체를 뜻하며, JSP 페이지 내에서 직접 데이터를 처리하거나 JavaBean을 사용하여 데이터를 저장하고 관리합니다.데이터베이스와의 상호작용이 필요한 경우, DAO와 DTO 클래스를 사용할 수 있습니다.View (뷰):최종적으로 사용자에게 보여질 화면을 렌더링하는 역할을 합니다. Model 1에서는 JSP가 View를 담당하며, 데이터와 로..

Backend/Web 2024.11.13

터미널에서 서버 종료하기

인텔리제이에서 강제 종료 후 톰캣을 다시 실행하여 보니Disconnected from server  인터넷에 찾아보니 인텔리제이는 강제종료가 되었지만 서버는 종료되지 않아 따로 서버를 종료해야 했습니다 터미널을 이용하거 서버를 종료하는 방법은 매우 간단합니다. >>터미널>>사용중인 포트번호로 검색lsof -i :[포트번호]>>결과COMMAND    PID    USER    FD     TYPE          DEVICE SIZE/OFF NODE NAME >>서버 종료kill -9 [PID번호] 서버를 종료 할 수 있습니다.

Backend/Web 2024.11.13

WEB.xml /@WebServlet

Web.xmlweb.xml의 주요 역할서블릿 매핑: 서블릿 클래스와 URL 경로를 연결하여 특정 URL 요청이 들어올 때 해당 서블릿이 실행되도록 합니다.필터와 리스너 설정: 요청 전/후 작업을 처리하는 필터와 애플리케이션 상태 변화에 대한 이벤트 처리를 담당하는 리스너를 설정할 수 있습니다.초기화 매개변수 설정: 애플리케이션과 서블릿에 필요한 초기 매개변수를 설정할 수 있습니다.보안 설정: 보안 설정을 통해 특정 URL에 접근 권한을 부여하거나, 인증을 적용할 수 있습니다.기본 web.xml 구조web.xml 파일은 WEB-INF 폴더에 위치하며, 웹 애플리케이션의 설정을 XML 형식으로 정의합니다.import jakarta.servlet.ServletException;import jakarta.ser..

Backend/Web 2024.11.12

Servlet⭐️

이전글) [Backend/Web] - JSP(Java Server Page)/Sevelt 17.11 Uploading Files with Java Servlet Technology - Java Platform, Enterprise Edition: The Java EE Tutorial (Release 7)  서블릿(Servlet)은 Java 기반의 웹 애플리케이션에서 클라이언트의 요청을 처리하고, 필요한 데이터를 처리한 후 클라이언트에게 응답을 보내기 위해 사용되는 서버 측 프로그램입니다. 서블릿은 Java EE 또는 Jakarta EE 플랫폼에서 지원하는 기술로, HTTP 프로토콜을 사용하여 웹 서버와 클라이언트 간의 통신을 관리합니다.서블릿의 역할과 동작 원리서블릿은 주로 컨트롤러의 역할을 수행하며, ..

Backend/Web 2024.11.12

[JSP] include 액션 태그와 디렉티브 | forward, JavaBean 액션태그

include 액션태그 액션 태그는 JSP 페이지에서 다른 JSP 파일을 실행 시점에 동적으로 포함하는 방법입니다. 액션 태그의 특징실행 시점에 포함: 는 요청이 들어올 때마다 포함된 JSP 파일을 로드하므로, 포함된 파일이 변경되면 JSP를 다시 컴파일할 필요 없이 즉시 반영됩니다.동적 콘텐츠 포함에 적합: 주로 사용자 정보, 최신 게시물, 실시간 데이터 등을 표시하는 동적 콘텐츠 포함에 유용합니다.파라미터 전달 가능: 태그를 사용하여 포함된 JSP 파일에 파라미터를 전달할 수 있어, 동적인 데이터 처리가 가능합니다. //파일경로 지정 //name,value 속성을 사용하여 파라미터 이름과 값을 지정 후 전달.  디렉티브의 특징정적 포함: 컴파일 시점에 포함 파일의 내용을 현재 JSP 파일에 ..

Backend/Web 2024.11.11

[JSP]DTO & DAO⭐️

DTO (Data Transfer Object) - 데이터 전송 객체DTO는 Data Transfer Object의 약자로, 데이터를 운반하는 역할을 하는 객체입니다. DTO는 주로 여러 계층(예: 데이터베이스, 서비스, 웹 등) 간에 데이터를 전달할 때 사용됩니다.DTO의 주요 특징순수한 데이터만 저장: DTO에는 오직 데이터와 그에 해당하는 getter/setter 메서드만 존재합니다.비즈니스 로직 없음: 계산이나 처리 등의 복잡한 로직은 포함하지 않으며, 단순히 데이터를 담고 전달하는 역할만 합니다.데이터 구조를 정의: 각 필드는 데이터베이스의 컬럼이나 비즈니스 로직에서 필요로 하는 데이터와 매핑됩니다.public class UserDTO { private int userId; priva..

Backend/Web 2024.11.11

인텔리제이 Apache Tomcat 설정하기

IntelliJ Ultimate에서 Apache Tomcat 서버 주소 수정하기 & 콘솔 한글 출력IntelliJ에서 JSP 프로젝트를 실행할 때, Tomcat 서버의 URL이나 애플리케이션 컨텍스트(Application Context)를 수정해야 할 경우가 있습니다. 이를 통해 특정 URL로 접근이 가능하도록 설정할 수 있습니다. TL;DR[IntelliJ Tomcat 서버 주소 변경]Services 탭에서 Tomcat Server 선택 후 Edit ConfigurationServer 탭에서 URL 수정 (예: http://localhost:8080/WebEx02/)Deployment 탭에서 Application context 수정 (예: /WebEx02)설정 저장 후 Tomcat 서버 재시작 인텔리제..

Backend/Web 2024.11.08

[JSP] JDBC 연동

Maven Central에서 라이브러리 찾기1. Maven Central 웹사이트 접속Maven Central Repository: https://mvnrepository.com/에 접속합니다.2. 라이브러리 이름 검색페이지 상단의 검색 창에 원하는 라이브러리 이름이나 의존성 이름을 입력합니다.예를 들어, MariaDB JDBC 드라이버를 찾으려면 mariadb java client 또는 mariadb라고 입력하고 Enter를 누릅니다.3. 검색 결과에서 원하는 의존성 선택검색 결과 중에서 원하는 라이브러리를 찾습니다.원하는 라이브러리의 이름을 클릭하면 해당 라이브러리의 상세 페이지로 이동합니다.4. 버전 선택상세 페이지에서는 사용 가능한 버전 목록이 있습니다. 필요한 버전을 클릭하면 의존성 정보를 확인..

Backend/Web 2024.11.08

JSP(Java Server Page)/Sevelt

Servlet 이란?Servlet은 Java 클래스의 일종으로, 웹 서버에서 실행되는 서블릿 컨테이너(Servlet Container) 내에서 동작하며, 클라이언트(주로 웹 브라우저)의 요청을 처리하고 응답을 생성합니다. Servlet은 HTTP 요청 및 응답을 처리하기 위해 HTTP 프로토콜을 사용하며, 데이터베이스와의 상호작용, 비즈니스 로직 처리, 데이터 연산 등을 수행하여 클라이언트에게 동적인 HTML 페이지나 JSON 데이터를 전달할 수 있습니다.Servlet의 주요 개념서블릿 컨테이너: Servlet은 서블릿 컨테이너(Servlet Container)라고 불리는 서버 환경에서 동작합니다. 서블릿 컨테이너는 웹 서버와 함께 작동하며, 클라이언트의 요청을 받아 적절한 서블릿 인스턴스를 호출하고, ..

Backend/Web 2024.11.07