Spring은 Jsp로 실행했을 때와 주소 형식이 다릅니다.
[JSP] - http://IP:Port/ProjectName/FileName
[Spring] - https://IP:Port/top-level package의 마지막자리/FileName
Spring의 package명이 같으면 프로젝트가 달라도 주소가 같아질 수 있어서
에러 발생할 확률이 높으니 top-level package는 이름이 중복되지 않도록
주의해야 합니다.
Spring 프로그램 실행은 프로젝트 자체를 선택 후
ctrl + f11을 눌러서 Run on Server를 클릭하면 됩니다.
Spring 이전에는
애플리케이션을 구현하기 위해서 EJB(Enterprise JavaBeans)를 사용했습니다.
EJB의 기술이 점점 발전하면서 성능이 그만큼 느려지게 되었고,
기능을 추가할수록 더욱더 복잡해지게 되었는데
개발자들은 'EJB' 사용 시절을 '겨울'에 빗대어서 표현했습니다.
'겨울'이 끝나고 '봄'이 찾아왔다해서 Spring이라 이름짓게 되었습니다.
Spring이 등장하면서 Java의 문법을 사용해서 기능을 구현하자라는 것이 목표였고
Java의 문법을 사용하기 때문에 '간단해서 진입장벽이 낮다'라고 했습니다.
Spring의 모토는 POJO인데 POJO란 Plain Old Java Object
즉, Java의 기본으로 돌아가자는 의미입니다.
즉 객체지향을 기초로 한 설계가 이어지게 됩니다.
사실상 Spring없이도 웹구현이 가능하지만
기능 구현에만 집중해서 빠르게 개발할 수 있도록
기본적으로 필요한 '뼈대'를 제공해주는 것입니다.
이 역할을 하는 것이 Framework입니다.
이와 대조되는 것이 Library인데
Framework는 프로그램의 필요한 '뼈대'를 제공해주는 것이고,
Library는 프로그램을 제작시에 필요한 기능을 제공해주는 것입니다.
Library는 우리가 사용하고 싶을 때 찾아서 사용하면 됩니다.
(ex: json-simple.jar, cos.jar, ...)
요약하자면 Framework는 도구를 틀안에서 개발자가
이용할 수 있게 도와주는 역할을 하고,
Library는 사용자가 필요할 때 직접 호출해서 쓸 수 있는
도구라고 생각하면 됩니다.
Spring을 사용하려면 구조를 알아야하는데
Java Resources에는 "src/main/java"가 있고
"src/main/resources"가 있습니다.
src/main/java는 자바의 영역으로 Java의 코드를 작성하고
src/main/resources는 자원의 영역으로 DB(SQL)파일이나 MyBatis(XML)파일 등이 들어옵니다.
src/main/webapp/WEB-INF 폴더는
웹의 중요한 파일들이 노출되지 않도록 만든 폴더입니다.
Spring이라는 폴더 안에 root-context.xml이라는 파일이 있는데
워크스페이스 전체에 대한 설정을 할 때 사용합니다.
appServlet폴더 안에 servlet-context.xml파일은
사용하고 있는 이 프로젝트에 대한 설정 파일입니다.
views폴더는 말 그대로 눈으로 볼 수 있는 View를 작성하는 공간입니다.
(JSP, HTML) 등등..
web.xml 파일은 프로그램 실행시 함께 따라가는 설정들을 모아둔 파일입니다.
클라이언트의 요청을 처리하는 [DispatcherServlet],
웹 애플리케이션 단위 설정을 불러오는 [ContextLoaderListner],
클라이언트의 요청을 DispatcherServlet으로 가기전에
거치는 부분인 [Filter]가 있습니다.
pom.xml은 필요한 라이브러리들을 maven의 중앙저장소에서
가져와서 관리해주는 파일입니다.
'Spring > 이론' 카테고리의 다른 글
[Spring] POST요청 (0) | 2025.02.11 |
---|---|
[Spring] Autowired (0) | 2025.02.10 |
[Spring] Bean (0) | 2025.02.10 |
[Spring] Annotation (0) | 2025.02.10 |
[Spring] 초기 세팅 (0) | 2025.02.10 |