기본 화면설정전체화면 : (현재 커서 위치에서) ctrl + m글자확대 : ctrl + shift + + 글자축소 : ctrl+ shift + - Java Editor 실행 단축키한줄삭제 : ctrl + d여러줄 삭제 : (해당 부분을 드래그한 후) ctrl + d코
git : 분산 버전 관리 시스템(DVCS)소프트웨어 개발 과정에서 소스 코드의 변경 사항을 추적하고 관리하는 데 사용됩니다. git을 사용하면, 여러 개발자가 동시에 작업할 수 있으며, 변경 내용을 효과적으로 병합하고 관리할 수 있습니다.Git Hub : git 을
간단한 구조로 되어있는 대부분 Server에서 데이터를 처리하고 클라이언트는 UI를 담당구조가 간단하여 속도가 좋은 특징이 있으나 확장성은 조금 떨어진다. 📍 용어 정리 클라이언트(Client) : 웹 서비스를 이용하는 사용자서버(Server) : 웹 서비스를 제공하
CS환경이 배포가 어렵다는 단점을 보완한 모델브라우저만 있으면 어디서는 쉽게 접근 가능하다.OS와 브라우저의 제품에 상관없이 어디서는 동작 가능브라우저만 있으면 어디서는 쉽게 접근 가능📍 브라우저마이크로소프트 엣지 Edge, 크롬 Chrome, 사파리 Safari 등
개발자가 개발한 웹사이트를 올려놓을 인터넷 상의 공간을 임대해 주는 서비스이다.웹 서버의 일부 공간을 할당받아, 자료를 올려놓으면 누구나 인터넷 상으로 해당 페이지를 볼 수 있다.도메인은 건물의 건물명이라 볼 수 있다.125.209.222.142 라는 ip주소는 ww
1. tomcat 설치하기 Apache Tomcat 다운로드 하기 자바 버전에 맞춰서 다운로드 해야한다. 2. jsp 환경설정 > * 🗝️🗝️PC에서 포트번호 확인하기 * 2-1. 동적 웹 프로젝트 생성하기 프로젝트 패널에서 "Dynamic Web Proje
1. Servlet Container 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술이다. 간단히 말해서, 서블릿이란 자바를 사용하여 웹을 만들기 위해 필요한 기술이다. 클라이언트가 요청하면 그 결과를
동적페이지로 쉽게 접근하기위해 브라우저에서 사용하는 방법하나의 어플리케이션이 생성되고 소멸될 때까지 계속 유지하나의 웹브라우저의 정보를 유지하기 위한 세션 정보를 저장브라우저 종료시에 종료, 클라이언트 로그인 정보를 저장브라우저마다 한 개씩 존재하고, "고유한 세션 I
JavaServePagesHTML 코드에 자바코드를 넣어 동적 웹 페이지를 생성하는 웹 어플리케이션 도구이다.jsp가 실행되면 자바 서블릿으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한
MVC패턴 (MVC1 model, MVC2 model -> Spring Boot)M : Model: 사용자가 원하는 데이터나 정보를 제공V : View: 보여지는 화면C : Controller: 사용자의 요청을 처리하고, 그 요청에 따른 전체적인 흐름을 제어3-1. M
DTO(Data Transfer Object) / VO(Value Object)양쪽으로 전송되어 오고가는 데이터를 담은 객체, jsp에서는 Bean이라고 부른다.여러 데이터들을 포장해서 만든 데이터 포장 객체사용자가 입력한 값을 객체 형태로 받을 수 있게 클래스 구성
1. DB connection > * ✔ DB connection을 위한 사전 설정 * Oracle DB서버에 연결할 계정이 필요하다. (최고관리자 계정을 통해 계정을 생성한다) DBeaver에서 서버에 생성된 계정을 connection한 후, jsp프로젝트에 연결할
JSP의 표준액션 태그를 통해 접근할 수 있는 자바클래스.멤버변수(필드)와 setter, getter메서드로 이루어져 있다. 객체를 생성할 때 java로 표현 : Member m = new Member();jsp 액션태그로 표현 : <jsp:useBean clas
비동기적 통신 - Ajax (vs. 동기적 통신)Asynchronous javascript And XML빠르게 동작하는 웹페이지를 만들기 위한 개발 기법이다. Ajax는 웹페이지의 전체를 다시 로딩하지 않고도 웹페이지의 일부분만 갱신할 수 있고 백 그라운드 영역에서 서
MyBatis (vs iBatis : 이전버전)1-1. MyBatis란?객체지향 언어인 자바의 "관계형 데이터베이스 프로그래밍을 좀 더 쉽게" 할 수 있게 도와주는 개발 프레임워크로서, JDBC를 통해 데이터베이스에 엑세스하는 작업을 캡슐화하고 일반 SQL쿼리, 저장
EL문과 JSTLJSP페이지 내에 자바 코드와 HTML코드가 섞여있으면 가독성이 떨어진다. EL문과 JSTL문을 사용하면 HTML과 같은 태그로만 구성된 일관된 소스코드를 볼 수 있다는 장점이 있다. 3-1. EL문 (Expression Language)값을 간결하고
프론트 컨트롤러 프론트 컨트롤러 서블릿 하나로 클라이언트 요청을 받는다프론트 컨트롤러가 클라이언트의 요청에 맞는 컨트롤러를 찾아 호출해 준다. 컨트롤러에 대한 공통 로직에 처리가 가능하다. 프론트 컨트롤러를 제외한 나머지 컨트롤러는서블릿을 사용하지 않아도 된다.
경로HTML부분에서 ${pageContext.request.requestURL}: http://localhost:8081/project1/abc.jsp${pageContext.request.scheme}: http${pageContext.request.serv
'뼈대나 근간'을 이루는 코드들의 묶음(프레임)으로 프로그램의 기본 흐름이나 구조를 정하고, 이 구조에 자신의 코드 추가하는 방식으로 개발할 수 있도록 하는 프로그래밍의 기본 틀을 의미한다.개발에 필요한 구조 제공 + 필요한 부분을 조립라이브러리란 자주 사용되는 로직을
SOLID는 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리하였다. SRP : 단일책임 원칙(Single responsibility principle)OCP : 개방-폐쇄 원칙(Open/Closed principle)LSP : 리스코프 치환
https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html타임리프는 백엔드 서버에서 JSP처럼 HTML을 동적으로 랜더링하는 용도로 사용된다.타임리프는 순수 HTML을 최대한 유지하는 특징이 있다. 순수
필터는 서블릿이 지원하는 특정 요청을 처리하는 기능이다.HTTP에서의 요청 > WAS > 필터 -> 서블릿 -> 컨트롤러 필터를 적용하면 필터가 호출된 다음에 서블릿이 호출된다.모든 고객의 요청로그를 남기는 요구사항이 있다면 필터를 사용하면 된다.참고로 필터는 특정 u
JPA(Java Persistence API)는 기존의 반복적인 코드는 물론이고, 기본적인 SQL문도 JPA가 직접 만들어서 실행해준다.JPA를 사용하면, SQL과 데이터 중심의 설계에서 객체중심의 설계로 전환가능하다.JPA를 사용하면, 개발 생산성을 크게 높일 수 있
엔티티를 매핑할 때는 애너테이션을 이용하여 각 요소들을 매핑한다.객체와 테이블 매핑 : @Entity, @Table필드와 컬럼매핑 : @Column기본키 매핑 : @Id연관관계매핑 : @ManyToOne, @JoinColumn @Entity가 붙은 클래스는 JPA가 관
JPA에서 다양한 쿼리 방법을 지원하는 데 한계가 있고, 특히 검색쿼리 (select)를 실행할 때 복잡한 쿼리문을 가지므로 좀 더 직관적으로 이해하기 쉬운 Query 개념을 소개해본다. JPQL, JPA Criteria(java 표준스펙에서 제공하는 자바 코드를 짜서
JPQL은 검색에 대한 null 처리가 너무 복잡하기 때문에 검색 쿼리에 대한 더 좋은 유지관리를 위해 QueryDSL을 사용한다.먼저, QueryDSL에 대한 라이브러리를 추가한다. (gradle방식)implementation 'com.querydsl:querydsl