티스토리 뷰

* 스프링 프레임워크를 위한 개발툴 2가지 방법


1. 스프링 사이트에 들어간후 자신의 운영체제에 맞는 STS를 다운로드 합니다.

(저는 스프링 사이트를 선호합니다.) 


설치 후 sts-3.7.3.RELEASE 폴더 안에 있는 STS.exe를 실행시키면 됩니다.


http://spring.io/tools/sts/all

 


2. 이클립스 - Eclipse Marketplace - STS를 검색하여 다운로드 합니다.






*스프링 프로젝트의 시작하는 대표적인 2가지 방법




스프링 프로젝트를 생성하는 방법은 File메뉴안에


1.Spring Starter Project

2.Spring Legacy Project (Spring Project)


가있습니다.



1.Spring Starter Project 란?


2014년에 개발된 Spring Boot라는 스프링의 하위 프로젝트를 이용해서 작성하는 방법으로 개발자가 복잡한 설정 없이 모든 개발 환경이 준비되기 때문에 전혀 경험이 없는 개발자라도 쉽게 웹 프로젝트를 생성하여 실행할 수 있습니다.

장점 : 별도의 설정이 필요없다. WAS가 없다.

단점 : JSP 설정은 별도로 한다.


==> 입문자가 사용하기에 적합하다.



2.Spring Legacy Project


1.Spring Starter Project보다 조금 더 복잡하지만 실무에서 많이 사용하는 개발 방식입니다.

WAS나 기타 설정을 직접 설정하는 부분이 많기 때문에 웹 프로그래밍이나 JDBC 프로그래밍에 대한 경험이 개발자가 사용하는 것이 좋습니다.


장점 : 실무에서 많이 사용한다. 모든 버전의 스프링에서 사용할 수 있다.

단점 : 초반 테스트 환경 구성등이 어렵다. WAS와 연동시 결과 확인등의 많은 리소스를 소모


==> 웹 프로그래밍 및 JDBC프로그래밍에 대한 경험이 있는자. (실무에서 주로사용)




*WAS(Web Application Server)란 무엇일까?? (초보자를 위한 간단한 설명)


-혹시 웹 개발하면서 제우스나 톰캣 같은 것을 사용해 본 신적이 있으신가요?
 톰캣, 제우스 등을 바로 WAS라고 부릅니다.


WAS 역할은 여러 웹 클라이언트의 요구를 웹 서버 혼자 감당하기 힘들기 때문에 구조적으로 웹 서버 기능을 분리한 것으로 서버로부터 요청되어지는 서블릿과 jsp같은 서버사이드요청에 대해서 서블릿은 인스턴스 jsp는 서블릿으로 컨벌팅 , 과정을 거쳐 이를 서버에 올려서 요청과 응답을 처리하는 역할을 합니다.



서블릿 :
자바 기반으로 이루어진 웹 프로그래밍 언어. 클래스부분(화면출력)을 HTML(뷰)에넣은것

 ==>자바코드에서 HTML을 넣는다


JSP : HTML(뷰)안에 JAVA코드를 넣은것


==>JSP혼자서 보이는것이 아니라 WAS가 JSP를 읽고난후 자동으로 servlet를 생성한다(우리눈에는안보인다) 서블릿코드들이 생성되어 html을 읽어 화면에 보이는것 


J2EE : J2EE는 클라이언트/서버 환경이나 웹 환경의 서버 단에서 수행되는 프로그램을 자바로 구현하

       고자 할 때 사용하는 자바 기술이다.



*WAS를 이용해서 어떻게 웹 어플리케이션이 동작되는가?


-Spring을 배우려는 사람들은 보통 웹 프로젝트를 개발하고 싶어 하는 분들이 많을 거 같아 웹 애플리케이션의 동작원리를 간단히 설명해드리겠습니다.


1)웹 애플리케이션의 동작원리

  -서버는 반드시 DB와 연결되어야합니다.(DB에 정보들이 있기 때문이죠^^)

  -클라이언트의 요청을 어떻게 받을 것인가?


클라이언트가 서버에요청 ->웹서버 -> 웹 어플리케이션 서버(WAS) ->데이터베이스 -> 웹 어플리케이션 ->웹서버 ->응답 하는 원리입니다.


WAS의 목적은 위에서 설명한 것처럼 클라이언트의 요청들이 많아지면 웹 서버 혼자 감당하기 힘들어지기 때문에 웹 서버의 기능을 분리한 것입니다.


따라서 웹 서버는 화면에 보여지는 CSS같은 것을 보여주고 WAS에서는 자바 코드 등을 해석해주므로 웹서버 기능을 분리시킨 것이라 이해하시면 됩니다.

톰캣(WAS의 한종류)같은 경우는 서버와 웹어플리케이션서버의 기능들을 동시에 사용하기 때문에 톰캣만 사용해도 구현이 가능했던것입니다.



 



*나머지 특징들은 나중에 깊게 배우기 때문에 그때가서 설명드리겠습니다.

여기에서 포스팅을 마치겠습니다.

궁금하거나 잘못된 부분이있다면 알려주시면 감사하겠습니다.*

 

댓글