본문 바로가기

KOSA FullStack 교육

(40)
KOSA fullstack 교육 (spring MVC fullstack 실습) 서버가 가동하면서 꼭 읽어야 할 것 1. 서버 가동 성공 여부 Started Workshop02Application in ... seconds이게 없으면 서버가 꺼지거나 중간에 에러 터진 것2. Tomcat(WAS) 정상 기동 여부Tomcat started on port 9000내부적으로 Tomcat 서버가 정상적으로 실행됐고, 포트 번호가 9000임3. MyBatis 설정 오류 여부 4. LiveReload 작동 여부HTML/CSS 변경 시 자동으로 반영되는 개발 편의 기능5. Spring 컨텍스트 정상 생성Root WebApplicationContext: initialization completed 스프링 IoC 컨테이너가 정상적으로 Bean들을 로딩했다는 뜻 정적쿼리문 -> 동적쿼리로 바꾸기 I..
KOSA fullstack 교육(Spring MVC Full stack 실습) SpringMVC 실습 (이클립스 환경) starter project 생성- spring mvc- spring dev tools 라이브러리 추가하고 생성, pom.xml에 해당 내용 추가결과 페이지 jsp, html 생성을 위한 빌드 properties 파일 환경설정 spring.application.name=boot02_springMVCserver.port=9000spring.mvc.view.prefix=/WEB-INF/views/spring.mvc.view.suffix=.jsp prefix는 View 이름 앞에 붙는 경로 접두사예: 컨트롤러에서 return "home";이라고 하면→ 실제 호출되는 JSP 경로는 /WEB-INF/views/home.jsp suffix는 View 이름 뒤에 붙는 파일 확..
KOSA fullstack 교육 (SpringBoot in Eclipse) 개발자 작업 순서 db → vo → sqlmapconfig 설정문서 → 단위테스트→ DAO/ DAOImpl → Service/ ServiceImpl 까지 구현해놓고, front 부분을 만들면 된다 그 다음 조립하기! controller 한마디로 Presentaion Layer는 front부분, BusisnessLogic Layer는 백엔드 부분이라고 볼 수 있다. DI순서가 컴포넌트 작성 순서이다. 즉 개발자가 코드를 작성하는 순서이다. SqlMapConfig를 만들어서 SqlSessionFactory에 꽂고,SqlSession에 꽂고 DAO에 꽂고Service에 꽂는다. 여기서 꽂는다는 것은 생성하고 DI 한다라는 의미이다. 맨~ 뒷부분부터 만든다. (=DI 순서) 하지만 함수를 호출하는 순서는 거..
KOSA fullstack 교육(MyBatis) SSR사용자의 요청을 서버(Spring)에서 받아서 HTML을 만들어서 전달이 구조도는 전형적인 SSR 기반 아키텍처JSP가 서버에서 렌더링되어 HTML로 변환된 후 브라우저에 전달됨 CSR이 구조에서 CSR을 사용하려면 프론트엔드를 React, Vue 등으로 별도 개발함Spring은 백엔드 API 서버로만 동작하고,브라우저는 JavaScript로 구성된 화면을 렌더링 (HTML은 텅 빈 상태로 전달됨)비동기가 이 방식이다. 데이터만 보내서 거기서 작업을 하는 형식 Bean 을 사용한다면 이렇게 6개의 Bean을 만들어야 한다. 색에 따라 분류하였다. 그렇다면 Bean생성에 관해서 더 자세히 그림을 그려보자 (이번엔 빈을 다른 동그라미로..) mybatis로 간단한 스프링 실습을 해보자!! (l..
KOSA fullstack 교육(Ajax 실습, myBatis) 알고리즘을 이용한 간단한 ajax 실습을 해보았다. 먼저 최빈값 알고리즘을 이용해서 문자열 중에 가장 많은 문자열을 출력하는 알고리즘을 servlet을 통해 찍어보자 Count.java Kickboard.java 단어세기 입력 문자열 : 가장 많이 나온 단어 : Kickboard 입력 파일명: 갈수 있는 경로의 수 : 기본 코드가 있고 다음은 구현된 최빈값 알고리즘과 킥보드 알고리즘이다. package com.algo;import java.util.HashMap;import java.util.HashSet;import java.util.StringTokenizer;public class Count { public String exe..
KOSA fullstack 교육(Ajax) 어제 컴포넌트화한 사진이다. 컴포넌트는 java class로 이루어져있다는 것이 가장 중요하다. 전통적 MVC VS Spring MVC전통 MVC Spring MVC 설명FrontControllerDispatcherServlet모든 요청의 진입점. 요청을 받아 적절한 컨트롤러로 전달ControllerFactoryHandlerMapping어떤 컨트롤러(Handler)가 요청을 처리할 지 매핑 HandlerAdapter컨트롤러 실행을 위한 어댑터Controller@Controller, @RestController요청을 처리하는 실제 비지니스 로직 담당 동기 VS 비동기과거에는 모든 입력 칸을 채운 후 회원가입을 시도했을 때, 서버 오류나 유효성 실패가 발생하면 사용자가 입력한 데이터가 모두 사라..
KOSA fullstack 교육 (JSTL, Factory Method Pattern) WAS의 파일 구조 Jsp 파일에 대해 조금 더 얘기해보면,안에 데이터를 출력한다. 그런데 서블릿에서 어떤 데이터를 setAttribute하는지에 따라 데이터가 달라진다 -> 동적인 프로그램이다-> 그렇지만 태그 중심이다. EL은 바인딩된 이름(속성 이름)만 집어넣으면은 ${이름}으로 바로 가져오기 위해 탄생한 애다.“JSP에서 데이터를 꺼내기 위한 간단한 문법” 으로 만들어짐EL 실습 el1.jspAttribute에 바인딩된 값 EL로 받아오기해당 JSP파일은 서블릿으로 생각해주세요... el1_view.jsp (기존방식)Result JSP Page1. JSP에서 원래 사용했던 방식으로 데이터 받아서 출력Request에 바인딩한 값: Session에 바인딩한 값: el1_view.jsp (el..
KOSA fullstack 교육(Cookie, Session) Cookie Cookie는 Map 방식이지만, 기존 Map과는 다르게 value값에 객체 저장이 안되고 String으로 저장해야한다. Servlet에서 web 브라우저로 보내져서 브라우저에 저장이 된다. Session세션에 바인딩 해야하는 경우가 딱 두 가지 있다. (1. 로그인 2. 회원정보 수정)서버는 각 사용자에게 고유한 세션(JSESSIONID)을 부여브라우저는 이 ID를 쿠키로 저장하고 이후 요청마다 함께 전송서버는 JSESSIONID를 통해 어떤 사용자인지 식별하고 상태(로그인, 장바구니 등)를 유지함쿠키는 클라이언트와 서버 간 “식별자 역할”을 하는 유일한 통신 수단 Cafe Member 관리 프로그램을 그림으로 구조도를 그려보자 그림으로 그려보면 서블릿이 한 메소드당 하나씩 만들어..