Back

    [Spring] 파일업로드, 파일다운로드 (1)

    ✨ 학원 다닐 때 파일 업로드, 다운로드를 1도 이해 못 한 상태로 그냥 코드 따라 치기 했었는데 업무중 다중 파일 업로드, 파일 다운로드할 일이 생겨서 며칠을 삽질했다 ^.^... 내가 보려고 기록해두는 다중파일업로드..! 얼른 파일 관리쯤은 유틸로 만들어두고 5초 만에 휙 가져다 쓰는 머쨍이 개발자가 됐으면 좋겠다 🔥🔥 1. pom.xml 설정 추가하기 commons-fileupload commons-fileupload 1.4 2. context.xml에 MultipartResolver 등록 - 다중파일 업로드를 위해서는 MultipartResolver를 등록해야 한다. - 서치한 레퍼런스들은 보통 dispatcher-context.xml에 빈을 등록했었는데, 본 프로젝트의 경우 기존에 있던 cont..

    RESTApi / XML로 데이터 응답하기

    👀 구구절절 서론 RestApi를 이용하여 API를 만드는 업무 도중 xml로 데이터를 반환해야 할 일이 생겼다. xml방식을 만들어보기는 커녕 사용해본 적도 없었기 때문에 소스를 분석하고 자료를 찾는데에만 거의 하루를 쏟은 것 같다. xml만 응답하는 것이 아니라, 파라미터를 통해 format형식을 받아 xml 또는 json으로 나눠서 반환해줘야 했고, 두가지 방식으로 진행했는데, 1. 설정을 통해서 컨트롤러에서 직접 파라미터를 받지 않고도 모든 api 호출 형식에 format을 나눠서 받아 사용할 수 있도록 해주는 것 2. 컨트롤러에서 직접 파라미터를 받아 xml과 json을 나눠서 각각 응답해주는 것 첫번째 방식은 설정싸움이었기 때문에 이해해서 사용한다기 보다는 검색과 기존 소스를 통해서 많은 도움..

    Oracle / Inner, Outer Join

    ⭐ JOIN : 두 개 이상의 테이블을 하나 이상의 조건을 걸어서 해당된 조건을 가진 값들을 하나의 ROW로 가져오는 것 ⭐ INNER JOIN : 조건이 일치하는 값이 두 테이블에 모두 존재할 때 조회되는 것 (NULL값을 포함하지 않는다) SELECT * FROM TABLE T1 INNER JOIN TABLE T2 --INNER 생략 가능 ON (T1.KEY = T2.KEY) --두 테이블을 연결할 조건 명시 ⭐ OUTER JOIN (LEFT / RIGHT / FULL) : 조건을 만족하지 않아도 기준이 되는 테이블에 해당하는 데이터를 모두 보여주는 것 - OUTER JOIN은 조인 USING, ON 조건절을 필수적으로 사용해야 한다. - LEFT JOIN (LEFT OUTER JOIN) : A테이블..

    오라클 기본(2)

    ✨ ORDER BY ⭐ 데이터 정렬하기 ORDER BY 컬럼명 : 문자, 숫자, 날짜를 정렬할 수 있다. 오름차순: ASC (default) 내림차순: DESC ORDER BY는 비용(cost)이 많이드는 작업이다 (CPU와 memory를 많이 쓴다. 순서 select 절 3 from 절 1 where 절 2 order by 절 4 ⭐ 정렬 방법 여러가지 사용 가능 ORDER BY 컬럼명 ASC, 컬럼명 DESC, 컬럼명 ASC... 답변형 게시판을 만들 때 필수로 사용된다. Grouping의 원리이다. select job, deptno from emp order by job asc, deptno desc; ✨ JOIN RDBMS(Relational DataBase Management System) : ..

    JSP 기초

    ⭐ JSP페이지: UI (HTML+CSS+JavaScript) + JAVA코드 - JAVA코드는 (스크립트릿) 안에 구현한다 - 기자인 코드와 서버로직 코드를 가지고있는 페이지이다. ⭐ JSP 동작 방식의 특징 - 프로세스 방식이 아닌 스레드 방식으로 실행 - 클라이언트의 요구를 처리하는 기능은 최초 한 번만 메모리에 로드 - 클라이언트가 동일한 기능을 요구하면 기존에 사용한 기능 재사용 ⭐ JSP 구성요소 1. 선언부: page 지시자 (사용언어, 인코딩, import 등) 2. 스크립트요소 스크립트릿 JSP 내부에 자바코드 삽입시 사용 표현식 출력 결과에 값을 넣을 때 사용 ( =을 response) 선언부(scope page) JSP 페이지 내부에 자바 메소드를 선언 (공통자원 정의) 3. 지시어(..

    JDBC 기초

    ⭐ JDBC(Java Database Connectivity) : 자바에서 데이터베이스에 접속할 수 있도록 하는 자바API : JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다 ⭐ 오라클 연결해서 데이터 SELECT하기 [ 연결 > 명령 > 명령구문생성 > 명령 실행 > 결과처리 ] (1) 오라클의 JDBC드라이버(ojdbc6.jar)를 WEbContent > WEB-INF > lib에 저장한다. - JDBC 드라이버 : java.sql의 인터페이스들을 상속하여 메소드의 몸체를 구현한 클래스 파일들 (2) 객체 생성 //인터페이스 생성 Connection conn = null; Statement stmt = null; ResultSet rs = null; //연결 conn = Dr..

    서블릿 기초 (Servlet)

    ⭐ 서블릿이란? : 서버쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스 ⭐ 특징 서버쪽에서 실행되면서 기능을 수행한다 기존의 정적인 웹 프로그램의 문제점을 보완하여 동적인 기능을 제공한다 스레드 방식으로 실행된다 자바의 특징(객체 지향)을 가진다 독자적으로 실행되지 못하고 톰캣과 같은 JSP/Servlet 컨테이너에서 실행된다. 컨테이너의 종류에 상관없이 실행된다 보안기능을 적용하기 쉽다 웹브라우저에서 요청시 기능을 수행한다 ⭐ Servlet : JAVA로 만든 웹서비스파일! - ## 웹이 가지고 있는 자원들을 자바가 사용하고자 하는 것 ## - 조건: JAVA 파일이 extends HttpServlet (상속) 하고있어야 한다 - servlet은 url에서 바로 요청할..

    Oracle 기본 (1)

    1. 데이터 출력하기 [전체 출력] SELECT * FROM 테이블명; [특정 컬럼 데이터 출력] SELECT 컬럼명 FROM 테이블명; ⭐ SELECT 컬럼명 FROM 테이블명; ⭐ ' * ' (아스타): 모든 정보(= all) ⭐ 쿼리문은 대소문자를 구분하지 않는다. ⭐ '문자열 데이터'는 엄격하게 대소문자를 구분한다. 2. 컬럼명에 가명칭(AS/alias/별칭) 부여하기 select empno 사번, ename 이름 from emp; select empno as "사 번", ename as "이 름" from emp; 3. 테이블의 데이터형 체크하기 오라클에서는 특정 컬럼에는 특정 형태의 데이터만 담을 수 있다. ⭐ 오라클 데이터형 CHAR(size) : 총길이 2000byte까지 (영문 2000자..

    클래스의 개념 (Java)

    ⭐ 클래스란? '객체를 정의하는 틀/설계도' 라고 할 수 있다. 유사한 특징을 지닌 객체들의 속성을 묶어 놓은 집합체이다. 즉, 동일한 속성과 행위를 수행하는 객체 집합이다. 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있다. 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스(instance)라고 한다. 클래스로부터 객체를 만드는 과정을 인스턴스화라고 한다. 하나의 클래스로 여러 개의 인스턴스(객체)를 만들 수 있다. ⭐ 클래스의 구성 요소 [필드(속성) + 함수(기능)] + 생성자 함수 자바에서 클래스는 멤버로 속성을 표현하는 필드와, 기능을 표현하는 메소드를 가진다. 또한 클래스는 생성자를 가진다. (생성자: 생성된 객체의 필드를 초기화해주는 메소드) ⭐ 필드: 클래스에 포함된 변수를 ..