본문 바로가기

Language56

[Spring] 스프링 기초 Spring 스프링의 정의 스프링이란 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크이다. 프레임워크란 프로그램의 골격이 되는 기본 코드를 제공하고, 소프트웨어 개발을 간소화하기 위해 개발되었다. 개발자는 프레임워크를 기반으로 소스코드를 작성하여 소프트웨어를 완성시키면 된다. 또한 스프링은 EJB(Enterprise JavaBean)기반 개발에서 POJO(Plain Old Java Object) 기반 개발이 가능하게 해준다. 스프링의 특징 경량 컨테이너 스프링은 EJB와 같이 복잡한 순서를 거치지 않아도 간단하게 이용할 수 있다. 자바 객체를 직접 관리하며 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리한다. (만들어질 당시는 경량이지만 지금은 아니다.) DI (Dependency Injection, 의존.. 2020. 2. 10.
[Java] 마이바티스 MyBatis 마이바티스 MyBatis 마이바티스란 자바의 데이터 베이스 프로그래밍을 좀 더 간편하게 할 수 있도록 도와주는 개발 프레임워크*이다. JDBC를 통해 데이터 베이스에 액세스 하는 작업을 캡슐화하고 일반 SQL 쿼리, 저장 프로시저 및 고급 매핑을 지원하여 모든 JDBC 코드 및 매개변수의 중복 작업을 제거한다. 프로그램 코드와 SQL 쿼리가 완전히 분리되어 코드가 간결해지고 유지보수성이 향상된다는 장점이 있다. * 개발 프레임 워크란 개발자가 원하는 기능 구현에만 집중하여 빠르게 개발할 수 있도록 기본적으로 필요한 기능을 갖추고 있는 것으로 라이브러리가 포함되어 있다. 개발자는 프레임 워크가 정의해 놓은 규칙을 준수하며 사용해야 한다. 마이바티스 사용하기 마이바티스를 사용하기 위해서는 JAR파일을 클래스.. 2019. 12. 25.
[JSON] 제이슨 JSON JSON이란 JSON(JavaScript Object Notation)은 "속성, 값(name, value)" 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. 경량(LightWeight)의 DATA 교환 방식이며 이 형식은 사람과 기계 모두 이해하기 쉽다. JSON은 특정 언어에 종속되지 않고 독립적이지만 대부분의 프로그래밍 언어에서 JSON 포맷의 데이터를 핸들링할 수 있는 라이브러리를 제공한다. 자바스크립트에서 객체를 만들 때 사용하는 표현식이며 비동기 브라우저/ 서버 통신(Ajax)을 위해, 넓게는 XML을 대체하는 주요 데이터 타입이다. 쉽게 말해, 네트워크를 통해서 데이터를 주고 받을 때 사용되는 경량의 데이터 교환 방식이다. JSO.. 2019. 12. 19.
[JSP] 자바빈 JavaBean 자바빈 JavaBean 자바빈이란 자바로 작성된 컴포넌트들이다. JSP 프로그래밍에서는 DTO, DAO 클래스 객체를 JSP 페이지에서 사용하기 위해 사용하다. 영역에 작성하지 않고, 코드가 간결하기 때문에 쉽고 편리하게 작성이 가능하다. 사용 1: 자바빈 객체 생성 자바빈 객체 생성 2019. 12. 14.
[JSP] El / JSTL El Expression Language JSP 내에서 속성 값을 쉽고 간편하게 출력하기 위해 제공된 언어이다. 기존 사용 기본적으로 JSP 문서 내에서 속성 값을 불러오는 방식은 request객체에 담긴 값을 변수에 저장한 다음 를 사용해서 값을 불러오는 형식이다. EL 사용 ${abc } ${parameter.abc } EL은 이러한 불편함을 감소시켜주기 위해 제공된 언어로, ${ } 를 사용한다. EL은 Scope에서 알아서 값을 찾아오는 방식이다. 작은 Scope에서 큰 Scope로 가면서 값을 찾아서 불러온다. (page - request - session - application) JSTL Java Standard Tag Library EL이 속성 값을 다루는 역할을 했다면 JSTL은 연산이나.. 2019. 12. 14.
[JSP/Servlet] 객체범위 Scope 객체범위 scope JSP와 Servlet에는 page, request, session, application 4가지 객체 범위가 있다. 객체범위는 생명주기 동안에 객체를 어느 범위까지 접근할 수 있는지를 설정해준다. 상단의 그림과 같이 application이 가장 넓은 범위를 가지고 page가 가장 좁은 범위이다. page 해당 페이지 내에서만 적용된다.클라이언트의 요청을 받으면 JSP 페이지가 응답된다.Page는 해당 페이지 내에서만 객체를 공유한다. 지역변수 같다.pageContext 라는 내장 객체를 사용해서 값을 다룰 수 있다.forward 되더라도 해당 페이지에 지정된 변수를 사용할 수 없다. request하나의 요청을 받고 응답을 보낼 때(다음 페이지)까지 적용된다.JSP : request .. 2019. 12. 9.
[JSP] 서블릿 기초 Servlet 서블릿 Servlet 이란? 자바 서블릿은 자바를 사용하여 웹 페이지를 동적으로 생성하는 서버 측 프로그램을 뜻한다. 자바 서블릿은 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종이다. 서블릿은 JSP와 비슷한 점이 있지만, JSP는 HTML 문서 내에 Java코드를 포함하고 있고 Servlet은 Java 코드 내에 HTML 코드를 포함하고 있다는 점에서 차이가 있다. /* Servlet : JAVA 코드 내부에 HTML 코드 삽입 */ PrintWriter out = response.getWriter(); out.print("Hello Servlet"); /* JSP : HTML 내부에 JAVA 코드 삽입 */ Hello JSP Java 코드 내부에 HTML을 작성하는 방법이 그 반대(JS.. 2019. 12. 9.
[Java] 세션 Session 세션 Session 세션은 javax.servlet.http 패키지의 HttpSession 인터페이스를 구현해서 사용한다. 로그인을 기준으로 설명하자면, 로그인된 사용자의 상태(정보)를 저장해 두고 상태를 유지한다. 주요 메소드 setAttribute session.setAttribute("객체이름", 객체); 세션 속성에 객체를 담는 역할을 하는 메서드이다. 들어가는 객체가 무엇이 될지 모르므로 자동으로 최상위 클래스인 Object 형으로 UpCasting(업 캐스팅)된다. getAttribute session.getAttribute("객체이름"); setAttribute 메서드에서 담아준 객체를 받아오는 역할을 한다. 이때 UpCasting(업 캐스팅)된 객체를 다시 DownCasting(다운 캐스팅.. 2019. 12. 4.
[JSP] Redirect/ Forword 차이점 Redirect/ Forword Redirect와 Forword는 현재 페이지에서 다른 페이지로 이동시키는 '페이지 전환' 기능이다. 둘은 목적은 같지만, 차이점이 있다. Redirect Web Container(웹 서버)는 Redirect 명령이 들어오면 웹 브라우저에게 다른 페이지로 이동하라고 요청한다. 요청을 받은 웹 브라우저는 URL을 지시된 페이지 주소로 바꾸고 그 주소로 이동한다. 이동한 페이지에서는 Request 객체와 Response 객체가 새로 생성된다. Foward WebContainer(웹 서버)내에서 페이지 이동하며 실제로는 다른 페이지로 이동했지만 웹 브라우저에는 최초에 호출한 URL이 표시되고, 이동한 페이지의 URL의 정보를 볼 수 없다. 또한 현재 페이지와 Foward에 의해.. 2019. 12. 3.