Purple Bobblehead Bunny

java 19

[Spring] DAO, Mapper

🚀 Spring Framework로 프로젝트를 진행하고자 해서 패키지 구조를 짜는 도중 의문점이 생겼다 이전 프로젝트에서 패키지 구조를 Controller.java / Service.java / Mapper.java / Mapper.xml 로 사용을 했다. 이 구조가 스프링 공부를 하고 첫 프로젝트의 구조였다. 다른 구조를 찾아봤더니 Controller.java / Service.java / DAO.java / Mapper.xml 로 짜여져 있었다. 육안으로만 확인하면 Mapper.java와 DAO.java만 바꾸면 된다 생각을 하지만 자세히 보면 Mapper.java는 인터페이스 형태이고 DAO.java는 인터페이스와 클래스가 결합이 된 형태이다.그 외 다른 점이 분명 있을 것이다. 두 가지를 비교해보..

Backend/SPRING 2023.02.03

[SpringBoot] 에러 페이지 설정

개발 시 많이 보게 되는 페이지.. 에러가 발생하게 되면 해당 에러에 맞는 에러 페이지를 보여주도록 설정한다. 에러 페이지를 관리 할 Controller를 생성하여 ErrorController 인터페이스를 상속받아 에러 컨트롤러를 생성한다. package com.jun.study import org.springframework.boot.web.servlet.error.ErrorController; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import javax.servlet...

Backend/SPRINGBOOT 2023.01.09

[Spring] 스프링 프레임워크, Spring FrameWork

🚀 Spring 흔히 spring이라고 부르지만 정확한 명칭은 스프링 프레임워크(Spring Framework)이 정확한 표현이다. 자바(JAVA) 플랫폼을 위한 오픈 소스(Open Source) 어플리케이션 프레임워크(FrameWork) 자바 개발을 편리하게 해주는 오픈 소스 어플리케이션 프레임워크 자바 개발을 위한 프레임워크로 종속 객체 생성, 조립해주는 도구 자바로 된 프레임워크로 자바 SE로 된 자바 객체(POJO)를 자바 EE에 의존적이지 않게 연결해주는 역할 🚀 스프링 특징 1) 경량 컨테이너로서 자바 객체를 직접 관리 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다. 2) 스프링은 POJO(Plain Old Java Object) 방식의 ..

Backend/SPRING 2022.07.11

[JSP] JDBC

JDBC(Java Database Connectivity) 자바 프로그램과 관계형 데이터 베이스를 연결하는 인터페이스 - JDBC 라이브러리는 관계형 데이터베이스에 접근하고 SQL 쿼리문을 실행하는 방법을 제공한다. JDBC 드라이버 테스트 Connection 객체 DB를 연동 해 여러 작업을 하기 위해 필요. DriverManager 객체의 getConnection 메서드를 호출하여 매개값으로 호스트 이름과 포트,SID의 접속 정보가 들어있는 url, 접근할 테이블이 있는 계정의 아이디, 비밀번호를 받아 Connection 객체를 생성한다. Class 클래스의 forName 메서드 입력한 클래스를 불러오는 메서드로, 그 클래스에 접근 가능하게 해준다. ojdbc6.jar 안의 oracle.jdbc 패키..

Backend/JSP SERVLET 2022.07.02

[JSP] 쿠키, Cookie

쿠키(Cookie) 클라이언트와 웹 서버 간의 상태를 지속적으로 유지하는 방법 쿠키는 상태 정보를 클라이언트에 저장 ex) 어떤 웹 사이트를 처음 방문한 사용자가 로그인 인증을 하면 아이디와 비밀번호를 기록한 쿠키가 만들어지고 그 다음부터 사용자가 동일한 사이트에 접속하면 별도의 절차 없이 쉽게 접속이 가능 클라이언트의 일정 폴더에 정보를 저장하기 때문에 웹 서버의 부하를 줄일 수 있다. 웹 브라우저가 접속했던 웹 사이트에 관한 정보와 개인 정보가 기록이 되기 때문에 보안에 취약하다. 쿠키의 동작 과정 생성 단계 쿠키는 주로 웹 서버 측에서 생성 생성된 쿠키는 응답 데이터에 함께 저장되어 웹 브라우저에 전송 저장 단계 웹 브라우저는 응답 데이터에 포함된 쿠키를 쿠키 저장소에 보관 쿠키는 종류에 따라 메모..

Backend/JSP SERVLET 2022.06.30

[JSP] form

form tag 사용자의 요청이나 데이터를 전송하는 기능 태그 내에 입력된 정보를 한 번에 서버로 전송이 되고, 입력된 정보와 나온 결과로 설정된 페이지를 보여준다. 1. form action // 01GetMethod.jsp 제목 : 색상 : 빨강 주황 노랑 기타 화면에 띄울 제목을 input의 text 타입으로 받고, submit 타입의 input 태그로 form 태그 안의 있는 내용들을 전송할 수 있다. // 01Result.jsp 01GetMethod.jsp 에서 받은 내용들을 request.getParameter()로 전달을 받고, 전달받은 내용을 String 타입의 변수로 저장을 하여, 표현식을 통해 화면에 보여지게 한다. 01GetMethod.jsp 파일에서 제목 입력, 색상 선택 후 전송 ..

Backend/JSP SERVLET 2022.06.26

[JAVA] ServerSocket

Socket JAVA에서 서버 프로그램을 개발할 때 쓰이는 클래스 Socket 클래스는 client에서 서버로 접속 하거나 Server에서 accept 하는데 필요한 클래스이다. 원격지에 있는 프로그램 간 연결에 사용한다. Socket 관련 클래스 / 함수 · Socket 클라이언트가 서버에 연결요청에 사용 · SocketServer 클라이언트의 연결요쳥을 받아 세션을 형성 · InputStream() 데이터를 받기 위해서 사용되는 함수 · OutputStream() 데이터를 보내기 위해서 사용되는 함수 ServerSocket, Socket 클래스의 주요 메서드 메서드 설명 Socket accept() · 클라이언트의 Socket 객체가 생성될 때 까지 블로킹 되는 메서드 · 클라이언트의 Socket객체..

Backend/JAVA 2022.05.02

[JAVA] HashMap

HashMap은 인터페이스 종류 중 하나로써 Key, Value 값으로 데이터를 저장하는 형태를 가지고 있다. 여기서 Map은 Key와 Value를 쌍으로 묶어 저장하는 컬렉션 클래스를 구현하는 데 사용이 된다. --> Key,Value 값으로 저장하는 List 형태의 조상 Hashtable, HashMap, LinkedHashMap, SortedMap, TreeMap 등 Map 종류는 다양하다. hashing(해싱)이라는 검색 방법을 사용하기 떄문에 많은 양의 데이터를 검색하는 데 있어서 유용하다. 여기서! HashMap의 Value값은 중복저장이 가능하지만, Key는 중복 저장이 불가능하고, 기존의 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대체를 한다. Map 컬렉션..

Backend/JAVA 2022.04.27

[JAVA] 상속(Inheritance)

자바는 상속(Inheritance)라는 개념이 존재한다. 부모 클래스(상위클래스)와 자식 클래스(하위 클래스)가 있고, 자식 클래스는 부모클래스를 선택해서, 그 부모의 멤버를 상속을 받아 그대로 쓸 수 있게 된다. 이미 준비가 되어 있는 클래스를 재 사용을 해서 만들 수 있기 때문에 효율적이고,시간 절약도 된다. 하지만 몇 가지 제한이 있다. 부모 클래스의 private 접근 제한을 갖는 필드 밑 메소드는 자식이 물려 받을 수 없다 부모와 자식 클래스가 서로 다른 패키지에 있다면,default 접근 제한을 갖는 필드, 메소드도 자식이 물려 받을 수 없다. (접근제한자) 그 이외의 경우는 모두 상속의 대상 상속 받는 자식 클래스 명 옆에 extends를 붙이고, 상속할 부모 클래스명을 적는다. 자바는 다중..

Backend/JAVA 2022.04.22

[JAVA] Singleton Pattern

싱글톤 패턴 어떤 클래스가 최초 한번만 메모리를 할당하고(static) 그 메모리에 객체를 만들어 사용햐는 디자인 패턴 생성자의 호출이 반복적으로 이뤄져도 실제로 생성되는 객체는 최초 생성된 객체를 반환 class C05Company { int x; int y; int z; //싱글톤 패턴 코드 시작 private static C05Company instance = new C05Company(); private C05Company() {} public static C05Company getInstance() { if(instance==null) instance=new C05Company(); return instance; } //싱글톤 패턴 끝 instance라는 전역변수를 선언하는데, static을 줌..

Backend/JAVA 2022.04.21