Screenshot_20190308-122724_Toss.jpg



정답은 1100만명 입니다


얼른 받아가세요!!


1) 클라이언트가 Request한다

2) servlet-context.xml에 등록 해 놓은 Dispatcher Servlet이 들어 온 요청을 가로 챈다.

3) 그 후 Handller Mapping을 사용하여 클라이언트의 요청을 처리할 컨트롤 객체를 찾는다.

4) handleRequest() 메서드를 호출하여 요청을 처리한다.

5) Controller가 처리한 결과를 ModlerAndView 객체를 리턴한다. 

6) ViewResolver로부터 응답 결과를 생성할 뷰 객체를 구한다.

7) View를 클라이언트에 전송하여 페이지 생성



이해하고 나면 간단하지만, 처음 접하는 내용이라 낯썰어서 이해하기 힘들었다. 

3일정도 과정을 반복하고 설정 코드를 보며 이해하고 구현하여 Controller, DB연동까지 테스트 하였다. 힘들었다..

'Spring' 카테고리의 다른 글

마이크로서비스에서 DDD 사용하기  (0) 2020.03.05
Spring 날짜 타입 변환  (0) 2019.06.24
HTTP Status 404 - /WEB-INF 에러  (0) 2019.02.25
Spring MVC 구성 요소  (0) 2019.02.23
Spring이란 무엇인가?  (0) 2019.02.21

<!doctype html>    -> 본 문서가 html문서임을 나타냄

<html>

<head>                                                   -> 문서 정보 <head> 태그


<title> doc tilte </title>                     -> 문서 의 title 


</head> 

<body>                                                    -> 실제 화면에 보일 내용

<h1>     first html          </h1>                        ->  제목을 나타냄 

<p>       hello</br>                                         <p> -> 본문 내용 , <br> -> 줄 바꿈

              everybody                   </p>


</body>  

</html>




TAG


<hn> 제목 <hn>  : n(1~6) n의 크기에 따라 제목의 크기와 진하기가 바뀝니다 1이 가장 크게 표시되고 6이 가장 작게 표시됨.

<p> 텍스트 </p> : 텍스트 단락을 만드는데 이떄 가장 많이 사용합니다.quote

<br> 줄바꾸기  위의 예제와 같이 줄을 바꿀때 사용

<hr> 수평 줄을 삽입 한다 , 보통 텍스트 단락을 나눌때 주제가 바뀔때 분위기 전환용으로 많이 사용

<blockquote> 인용내용 <blockquote> 텍스트보다 안으로 들여 써져서 다른 텍스트와 구별되어진다, 인용 할 때 사용

<pre> 텍스트 </pre> 소스에 표시한 공백이 그대로 표시되어진다.




<ul> <il>     <ul>                                순서없는 목록을 반들때 사용 

<li> 내용 </li>

</ul>                     






'Html,Css' 카테고리의 다른 글

html 기초 다지기  (0) 2019.02.27

HTML이란?


하이퍼텍스트 마크업 랭귀지의 줄임말로 말 그대로 해석하면 하이퍼텍스트를 마크업하는 언어입니다.

웹에서 자유롭게 오갈 수 있는 웹 문서를 만드는 언어가 html이라고 할 수 있습니다.


CSS란?


Cascading Style Sheets 약자로 html 문서의 스타일을 꾸밀때 사용하는 스타일 시트 언어입니다.


즉 html은 문서의 뼈대이고, 

css는 문서의 디자인적인 요소입니다.  글꼴이나,배경색 위치 등을 사용자가 정해서 나타 낼 수 있습니다.





Q) html을 html5라고 부르는 이유는 뭔가요?

html4 다음으로 나온 html5 다양한 기능이 추가되어 이전의 html과 구별하기 위해 html5라고 부릅니다.




Q) 프론트엔드(front-end) 백엔드(back-end) 그게 뭐죠?

웹에 구성요소는 크게 프론트엔드와 백엔드로 나누어서 개발을 합니다 프론트엔드는, 실제 웹을 구성하는요소들 사용자 입장에서 보여지는 모든 것들을 개발하는 것입니다. 백엔드는 예를들어 로그인을 하려고 아이디와 비밀번호를 입력 후 로그인 버튼을 눌럿을때, 실제로 입력 한, 아이디랑 비밀번호가 사이트 회원인지, 등록된 아이디랑 비밀번호가 맞는지 확인하여 로그인을 처리하는 모든 과정을 개발 하는 것입니다.





'Html,Css' 카테고리의 다른 글

html tag(태그) -1  (0) 2019.02.27

컴퓨터는 0과1만 이해 할 수 있다. ex) 프로그램을 키다 =1 프로그램을 끄다= 0 

그래서 사람과 컴퓨터 사이를 연결 할 수 있는 매개체가 바로 프로그래밍 언어이다. 포르그램인 언어는 기계어(어셈블리어) 부터 고급언어(자바) 등 매우 다양하다.


사람 -> 프로그래밍 -> 컴파일러 -> 컴퓨터 


자바는 흔히 말하는 OOP (객체 지향언언어이다) 객체지향언어란? 부품에 해당하는 객체들을 먼저 만들고, 이것들을 하나씩 조립해 전체 프로그램을 완성하는 개발 기법이다. 또한 가비지 컬렉션에 의한 메모리를 자바에서 직접 관리 하여준다. 또, 멀티 쓰레드를 지원하고 JVM 위에서 동작하기 떄문에 특정 OS에 종속적이지 않고 이식성이 좋으며, 보안성이 좋다. 다양한 Open 라이브러리들이 존재한다. 

자바 현재 여러 언어들 중 가장 높은 점유율을 차지한다고 한다. 

보통 자바는 웹용으로 많이 사용하는데 우리나라기준으로 정부표준프레임워크(Spring)을 사용하여 웹=자바 라고 하는게 보통 통상적인 이야기이다.


자바는 개발방식에 따라 크게 자바 애플리케이션, 자바 애플릿, 자바 서블릿 등으로 분류할 수 있다.


자바 애플리케이션 

독립적으로 실행할 수 있는 일반적인 애플리케이션이다. 대다수 개발자가 자바 프로그램을 사용 할 떄 JSWING 등으로 구현한 프로그램을 말한다.


자바 애플릿 

웹 브라우저에서 구동하는 프로그램이다. 서버로부터 애플릿을 클라이언트로 다운로드 해 웹 브라우저에서 실행한다. 자바 애플릿은 보안상 문제가 있어 폭 넓게 이용하지는 않는다.


자바 서블릿

웹 서버에서 동작하는 프로그램 클라이언트의 요청을 서버가 처리하고 결과를 서버로 다시 전송하여주는 프로그램이다. 대부분 이 방식을 사용함

'Java' 카테고리의 다른 글

clean code(클린 코드) 정리  (0) 2020.03.16
java Beans  (0) 2019.05.22
getTextField null 처리  (0) 2019.05.06

오늘 한일 : 


어제 Spring Controller Mapping 안돼던 것 해결 , mybatis를 이용한 mariaDB로 DAO Service Controller 작동 구현


내일 할일 :


Spring MVC를 사용하여 구현 할 기본적인 기능들 생각 ,도서관에서 html css 책 빌려 기초부터 다시 다지기 java는 정리만  



한줄 평 : 


오류 해결한다고 구글링 많이 함 대략 5시간 소비, 원인은 역시나 간단했다.. 

쇼핑몰 같은 것을 만드는 것 보다 하나의 아이디어를 바탕으로 비지니스 모델을 만드는 것이 좋을 것 같다.  

Controller동작 테스트 중 dispatcherservlet에 mapping이 안돼어 자꾸 오류가 발생 하였다.

코드에 이상없고 web.xml, servlet.xml도 잘 햇는데 도무지 원인을 알 수 없어 고심 하던 중..


problems에 waring(!) 하나 떠 있던 걸 아래와 같은 방식으로 해결하고


Build path specifies execution environment JavaSE-1.6. warning. There are no JREs installed in the workspace that are strictly compatible with this environment.


아래와 같이 조치하시면 warning 이 제거됩니다.


* 프로젝트 Properties 메뉴를 클릭한다.

* Java Build Path 를 클릭한 후, Libraries tab 을 클릭한다.

* "JRE System Library" 를 제거한다.

* "Add Library..." 버튼을 클릭한 후, "JRE System Library" 를 선택하고 "Next" 버튼을 클릭한다.



tomcat stop => project -clean => tomcat start

tomcat => clean 

으로 해결하였다.




'Spring' 카테고리의 다른 글

마이크로서비스에서 DDD 사용하기  (0) 2020.03.05
Spring 날짜 타입 변환  (0) 2019.06.24
Spring 동작원리  (0) 2019.02.27
Spring MVC 구성 요소  (0) 2019.02.23
Spring이란 무엇인가?  (0) 2019.02.21




Spring MVC 프로젝트를 만들고 난 후, 기본적인 구성요소들입니다. (board_list.jsp 추가로 만들었음)


각 구성요소들이 어떤 역할을 하는지 알아 보겠습니다.


pom.xml : maven의 빌드 정보를 기술 한다. 무엇으로 구성되어있는지 그 기본형을 서술한다. 다양한 프레임 워크와 라이브러리를 관리하여 준다.


web.xml : 웹프로젝트가 실행될 때 가장 먼저 참조되는 파일, 웹프로젝트의 환경설정 정보를 저장하고 있음.


  DispatcherServlet이 모든 요청을 가로챈다.



root-context.xml : 스프링의 환경설정 파일 ,데이터베이스의 연동정보 설정 ex) mybatis 


servlet-context.xml : 서블릿에 관련된 설정 ex) jsp 의 접두어, 접미어 html, css 리소스 파일 설정 정보 등


    HandlerMapping, HandlerAdapter 객체 생성되고 이어서 viewResolver 객체 생성 


home.jsp : 스크립트 언어 자바언어를 기반으로 사용하여 사용자에게 쉽고 빠르게 사용가능 하게 하여주는 언어이다. 여기서는 가장 기본적인 페이지 뷰로 작동



다음 포스팅 - 전체적인 로직 (흐름도) 




'Spring' 카테고리의 다른 글

마이크로서비스에서 DDD 사용하기  (0) 2020.03.05
Spring 날짜 타입 변환  (0) 2019.06.24
Spring 동작원리  (0) 2019.02.27
HTTP Status 404 - /WEB-INF 에러  (0) 2019.02.25
Spring이란 무엇인가?  (0) 2019.02.21

Spring란 무엇인가?


스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 불린다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있다.  


-위키백과 출처


즉 쉽게 이야기하면, 프로젝트의 규모가 커디자 보니, 개발자들의 협업 과정에서 중복되는 부분도 많고, 쉽게 수정 (유지 보수) 하기 위하여 공통 된 것들만 따로 묶어서 사용하기 편리하게 만들어진 오픈소스 프레임 워크 이다.




Spring의 특징은?


  • 경량 컨테이너로서 자바 객체를 직접 관리한다. 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다.
  • 스프링은 POJO(Plain Old Java Object) 방식의 프레임워크이다. 일반적인 J2EE 프레임워크에 비해 구현을 위해 특정한 인터페이스를 구현하거나 상속을 받을 필요가 없어 기존에 존재하는 라이브러리 등을 지원하기에 용이하고 객체가 가볍다.
  • 스프링은 제어 반전(IoC : Inversion of Control)을 지원한다. 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드를 호출한다.
  • 스프링은 의존성 주입(DI : Dependency Injection)을 지원한다. 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜준다.
  • 스프링은 관점 지향 프로그래밍(AOP : Aspect-Oriented Programming)을 지원한다. 따라서 트랜잭션이나 로깅, 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리할 수 있다.
  • 스프링은 영속성과 관련된 다양한 서비스를 지원한다. iBATIS나 Hibernate 등 이미 완성도가 높은 데이터베이스 처리 라이브러리와 연결할 수 있는 인터페이스를 제공한다.
  • 스프링은 확장성이 높다. 스프링 프레임워크에 통합하기 위해 간단하게 기존 라이브러리를 감싸는 정도로 스프링에서 사용이 가능하기 때문에 수많은 라이브러리가 이미 스프링에서 지원되고 있고 스프링에서 사용되는 라이브러리를 별도로 분리하기도 용이하다.


-위키백과 출처


특징만 딱 읽었을 때는 당최 무슨 소리인지 모르겠다..


요약하자면,


POJO 방식의 프레임 워크이다 : 여러 라이브러리 들을 지원 하기에 바로 사용이 가능하다.


IoC을 지원한다 : 코딩을 할 경우, 개발자는 여러 객체를 생성하고 소멸한다. ( ex new 연산자), 이러한 객체를 생성하고 소멸 하는 생명주기 관리를 Spring 에서 대신 관리 하여 주기때문에 개발자 입장에서는 굉장히 편하다. 


DI을 지원한다 :  데이터베이스를 연동 하는 데 있어서 jdbc를 사용하거나 mybatis, hibernate 등 라이브러리를 사용 하는 여러 경우가 있는데 바뀌거나 다른 것을 사용 할 떄 마다 쉽게 교체가 가능하다. 


AOP을 지원한다 : 예를들어 클래스가 여러개인 프로그램이 있다. 각 클래스 별로 공통인 코드(부분)이 있는데 이러한 공통된 부분들을 따로 묶어서 필요 할  때마다 쉽게 불러서 사용 할 수 있도록 해 준다.  트랜잭션은 쉽게 불러서 사용 할 수 있도록 하는 예이다.


PSA : 각 환경이 달려져도 잘 작동 할 수 있게 하여준다.


Spring MVC : 모델 컨트롤 뷰로 나누어서 유지 보수를 더 쉽게 할 수 있게 하여준다.


'Spring' 카테고리의 다른 글

마이크로서비스에서 DDD 사용하기  (0) 2020.03.05
Spring 날짜 타입 변환  (0) 2019.06.24
Spring 동작원리  (0) 2019.02.27
HTTP Status 404 - /WEB-INF 에러  (0) 2019.02.25
Spring MVC 구성 요소  (0) 2019.02.23

+ Recent posts