전체 글 73

Spring 2일차 - DI(의존성 주입)

1일차에서 스프링의 개념에 대해 배웠다. 오늘은 어떻게 의존성을 주입하는지 스프링에서는 어떻게 DB를 연결하고 객체를 만드는지 직접 실습하면서 배워볼 것이다. 먼저 의존성 주입 테스트를 해볼건데 레스토랑, 셰프, 호텔 클래스를 만들어서 레스토랑과 호텔 객체에 셰프 객체를 주입하는 시나리오를 고려해보서 만들 것이다. 1. 생성자, setter를 이용한 주입으로 의존성 주입 구현 2. 설정 방식은 XML, 어노테이션을 통해서 처리 1. chef 클래스 만들기 - setter 기능 , toString() 을 자동생성하기 위해 @Data 를 import 해준다. @Data : Lombok의 setter를 생성하는 기능을 사용하기 위함과 생성자, toString(0등을 자동으로 생성하기 위함. 2. restaur..

Spring 1일차 - 스프링 프레임워크

>프레임 워크(Framework) - 뼈대나 근간을 이루는 코드들의 묶음 - 개발자는 각 개개인의 능력차이가 큰 직종이고, 개발자 구성에 따라 프로젝트 결과 역시 큰 차이를 낳는다. 이런 상황을 극복하기 위한 코드의 결과물이 바로 프레임워크이다. 프로그램의 기본 흐름이나 구조를 정하고 모든 팀원들이 이 구조에 자신의 코드를 추가하는 방식으로 개발하게 된다. 개발에 필요한 구조를 이미 코드로 만들어 놓았기 때문에 실력이 부족한 개발자라 하더라도 반쯤 완성한 상태에서 필요한 부분을 조립하는 형태의 개발이 가능하다. 개발자 입장에서는 완성된 구조에 자신이 맡은 코드를 개발해서 넣기 때문에 개발 시간을 단축할 수 있고, 회사 입장에서는 일정한 품질이 보장되는 결과물을 얻을 수 있다. >스프링 프레임워크(Spri..

JSP 7일차 - EL문과 JSTL

우리가 HTML 내부에 자바코드를 사용할때 스크립트 태그를 하나하나 다 작성하는 불편함을 감수해야 했었다. 이 불편함을 해결해줄 선배님들 어디있나~ 하고 봤더니 이미 만들어진 라이브러리가 있다. 그게 바로 EL문이다. 지금부터 EL문에 대해 자세히 알아보자. >EL문과 JSTL - 라이브러리로 자바 구문을 만들어 놓고 필요할 때마다 꺼내 쓰면 되기 때문에 유지보수에 편하다. - JSP페이지 내에서 자바코드와 HTML코드(태그형태)가 섞여 있으면 가독성이 떨어진다. 그러나 EL문과 JSTL문을 같이 사용하면 HTML과 태그형태로만 구성된 소스코드를 볼 수 있다. (가독성 향상) 1.EL문(Expression Language) - 값을 간결하고 간편하게 출력할 수 있도록 해주는 언어(값을 출력, 표현만 해준..

프로그래밍/JSP 2022.02.05

JSP 6일차 - DBCP, JNDI,Mybatis

우리는 지금까지 DB와 자바를 연결하기 위해서 DBConnection을 이용했다. 그런데 여기서 우리는 불편한 점을 느낀다. DBConnection의 경우에는 지었다 부셨다 지었다 부셨다를 반복해야하기 때문이다. 또한 쓸 때마다 마지막에 꼭 클로즈를 해야 한다. 쓰고 반납을 해야 다른 접속자가 쓸 수 있기 때문이다. 그러나 이 과정이 매우 불편하다. 게다가 동시접속자들이 많아지게 되면 그 접속자들의 접속을 보장할 수 없다. 이 불편함 때문에 나온 것이 DBCP이다. 이것은 다리 짓는 과정을 대신하여 지어진 다리를 그대로 갖다 쓰는 기법이다. 더 자세히 알아보자. > DBCP(DataBase Connection Pool) - 데이터베이스에 대한 연결들이 마치 수영장처럼 모여서 떠있는 곳이라는 의미이다. -..

프로그래밍/JSP 2022.01.27

JSP 5일차 - Session, Ajax

저번시간에는 쿠키에 대해 배웠는데 쿠키는 사용자의 브라우저에 저장된다. 그런데 오늘 배우게 될 세션은 그 반대로 서버에 저장하게 된다. 더 자세히 알아보자. >Session(세션) - 내장객체로서 브라우저마다 한개씩 존재하고, 고유한 SessionID 생성 후 정보를 저장한다. - 클라이언트 측에는 SessionID만 전해주고 후에 클라이언트가 정보가 필요할 땐 그 SessionID만 보내며 정보를 요청한다. 간단히 설명하자면 예를 들어 a라는 sessionID에 공간이 할당되고 데이터가 저장되게 된다.사용자가 접속하는 순간 서비스측에서는 a라는 공간을 할당하면서 너 정보 a에다가 저장할꺼야 라고 알려주기 때문에 사용자는 a가 무엇인지 안다. 사용자가 실제로 웹서핑하면서 요청보내면 보내는 요청에는 헤더정..

프로그래밍/JSP 2022.01.24

JSP 4일차 - 내장객체, 쿠키

>내장 객체 - 객체화 없이 사용할 수 있는 객체이며, jsp파일이 서블릿으로 변환될 때 웹 컨테이너가 자동으로 메모리에 할당해서 제공한다. (서블릿의 경우 메모리에 할당을 우리가 해야한다=객체를 직접생성) 예를들어 태그안에 out.write() 을 쓰면 따로 불러오지 않고도 바로 쓸 수 있다. 이것은 왜냐하면 서블릿으로 변활될때 자동으로 할당해서 제공하기 때문이다. 그러나 서블릿에서는 객체를 만들지 않으면 직접 객체를 생성해야 한다. ex) PrintWriter out = response.getWriter(); request :웹 브라우저의 요청(사용자의 요청)에 대한 정보들을 저장 response :웹 브라우저의 요청에 대한 응답 정보들을 저장 out :JSP 페이지가 응답할 HTML 의 body에 ..

프로그래밍/JSP 2022.01.21

JSP 3일차 - 액션태그

>액션 태그 - 서버나 클라이언트에게 어떤 행동을 하도록 명령하는 태그 - 페이지와 페이지 사이를 제어하거나 다른 페이지의 실행 결과 내용을 현재 페이지에 포함시키거나 자바빈즈(객체) 등 의 다양한 기능을 제공한다. : 액션태그는 XML 형식인 를 이용한다. (폼에서 입력을 한 경우 action 속성을 이용하여 값이 넘어간다. 이때 처리를 하는데 처리를 한 후 결과값으로 이동할때 는 따로 속성이 없어서 이때 쓰는게 액션태그이다. *태그 안에 html 주석 쓰면 같이 해석되서 넘어가서 오류가 발생한다. 쓰지말것. 1. 다른 페이지로 이동, 페이지의 흐름을 제어하기 위한 역할 (바로 다른페이지로 이동하게됨) 2. 현재 페이지에서 다른 페이지에 값을 전달하기 위한 역할 parameter 의 줄임말 값을 보내주..

프로그래밍/JSP 2022.01.20

JSP 2일차 - 스크립트,디렉티브 태그

>스크립트 태그 - HTML 내부에 자바 코드를 넣어 프로그래밍이 가능하도록 만들 수 있다. 1.선언문(Declaration) 자바 변수나 메소드를 정의하는데 사용되는 태그 2.스크립틀릿(Scriptlet) 자바 변수 선언 및 자바 로직 코드를 작성하는데 사용되는 태그 3.표현문(Expression) 변수,계산식, 메소드 호출의 리턴값 등을 표현해주는 태그 HTML 문서에 안에 작성한 값이 그대로 표현된다. 타입은 문자열이다. 그렇다면 sayHello("JSP")의 결과: 이렇게도 사용이 될까? 뒤에 세미콜론을 붙여서 표현문을 쓰면 과연 정상적으로 작동을 할까? 답은 아니다 이다. JSP는 코드가 해석되서 서블릿으로 바뀌어 날라간다. 그래서 서블릿으로 가면 out.println("sayHello(\"JS..

프로그래밍/JSP 2022.01.19

JSP 1일차 - JSP 란?

>웹 컨테이너 - 동적인 데이터 연산, 요청(DB)이 들어왔을 때 서버가 연산을 요청하는 곳 - 연산이 끝나면 정제된 데이터(html,json,xml,...)로 서버에 돌려준다. >JSP(Java Server Page) : HTML을 중심으로 자바와 같이 연동하여 사용하는 웹 언어이다. : HTML 코드 안에 Java 코드를 작성할 수 있도록 도와주는 언어이다. 사용자가 보는 화면은 결국 .html 파일이다. .jsp 는 html 파일이 아니다. 그러므로 코드를 작성해서 jsp 파일을 jsp 해석기를 통과해서 html 파일로 바뀌면 그게 화면에 구현되는 것이다. --> 작성해준 코드 자바코드로 바뀜 (그때 만들어지는 파일= servlet) 예전에는 서블릿으로만 개발을 했었는데 개발하는데 불편함(쌍따옴표가..

프로그래밍/JSP 2022.01.17

Javascript 5일차 - 이벤트, jquery

>이벤트(Event) - 웹 브라우저가 알려주는 HTML 요소에 대한 사건의 발생을 의미 - 웹 페이지에 사용된 자바스크립트는 발생한 이벤트에 반응하여 특정 동작을 수행 - 자바스크립트는 비동기식 이벤트 중심 프로그래밍 모델이라고 함 >이벤트 타입(=이벤트명) - 발생한 이벤트의 종류 - 가장 많이 사용하는 키보드,마우스,HTML DOM,window객체 등을 처리하는 이벤트가 많이 제공 (onclick,onkeyup, onload, ...) HTML 문서가 모두 로드되었습니다." } const changeText = function(tag){ tag.innerHTML = "변경된 문자열"; } ..