본문 바로가기

Spring

Spring 설치 / 세팅 (Dynamic web project)

● Spring 의 Project별 특징

[Spring]
: jdk 16이하
Maven Project
=> xml 기반의 Spring을 사용하는 프로젝트(서버 - Tomcat (8.5)기반 -> Linux 기반) : 단독서버

Spring legacy Project
=> properties 기반으로 Spring을 사용하는 프로젝트 (서버 - VM ware 기반)
 : VM ware (Linux : Ubuntu) => Docker  : 클라우드 서버 이용

Maven 쓰면 클라우드 서버 미사용, vmware 쓰면 클라우드서버 쓴다고 보면 됨

[Spring Boot 기반] : jdk 17이상
① Spring starter Project
=> Spring(v3.0이하 JDK-16 이하), Spring-Boot(v3.0이상 - JDK-17부터)
=> VM ware (Linux : Ubuntu)

∴ Spring Boot 사용시 클라우드 서버 사용한다고 보면 됨
   (boot는 vmware 기반 => vmware 는 클라우드서버 쓰니까)

→ 미리 라이브러리 뭐 쓸지 정해서 세팅해줘야함

kotlin - 어플
groovy - 윈도우 어플
packaging -> 배포파일 형태

 

● Spring 세팅법 요약 정리

1. Window → Preference → encode → UTF- 8설정
2. Install/update => checbox 해제
3. Run/Debug → Console => 1000000으로 설정
4. Project 를 생성하는 형태 → Maven Project 생성
          - Create a simple project 체크 하며, use default 를 체크
          - Group Id, Artifact Id 동일한 이름으로 생성 , Packinging war변경
5. Project 우클릭 -> Properties 로 이동
          - Java Build Path => JRE 11, Server(Apache tomcat 8.5x) 를 라이브러리에 추가
          - 주의사항) HttpRequest 사용시 빨간색 밑줄 다운받은 서버 삭제 후 새로 다운로드하여
            라이브러리에 추가
          - Java Compiler 에서 java-11 버전으로 변경
          - Project Facets : Java 버전 11로 변경, Dynamic web Module 3.1로 변경
          - Web Project Settings => context 를 ' / ' 로 변경
6. pom.xml 에 필요한 라이브러리 모두 추가
7. web.xml생성 및 해당 web.xml 을 수정함 (Dispatcher언어셋 수정 및 입력)
8. /WEB-INF/webpage.xml 생성 (단, spring bean configuration File로 XML을 생성)
          - bean, context, mvc 체크 후 최신 버전 형태로 생성을 해야함
9. Server restart 진행Controller생성 (일반 class로 생성)
10. @Controller, @RequestMapping("/생성할do.do") 이용하여 웹페이지가 출력되는지 확인
11. lombok 사이트 및 pom.xml 해당 라이브러리 추가 및 설치
12. STS3를 재실행 후 class를 생성하여 @Setter @Getter을 이용하여 메소드가 자동 생성이 되는지
      확인

 

● Spring 세팅 상세 ( new project 생성

① default 하게 세팅

 


- groupid :ex) kr.co.choongang
- artifact id : jar 로 배포시 사용 ex) kr.co.choongang -> 주로 도메인을 따서 만듬
- Parent Project : 관리자 페이지 있을 때 사용

maven project 생성

③ 모든 spring 은 pom.xml 에 오타나거나 pom.xml 이 없으면 작동안됨

 

● properties 설정

① java build path설정
 
 - 아래 이미지 처럼 jdk 버전 잡아주기
 - server runtime 도 apache로 잡기



② java compiler 설정
 
- jdk 버전 맞춰주기



③ Project Facets 설정

- java 8 이상이면 Dynamic Web Module은 3.1 이상 사용 
- runtime 도 apache로 잡음



④ web project settings

- 실행 시킬 때 경로에 /webspring/ 한번 더 쓰고 들어가야하므로 ' / ' 로 바꿈

 

 

● pom.xml 설정

- maven repository 에서 필요한 라이브러리 다운받아 pom.xml로 로드
- 모두 로드 후 적용 후 restart 해줘야함(pom.xml에서는 restart 대신 프로젝트 우클릭 후 maven 의 update project 클릭)
- dependencies 태그 : spring에 사용되는 모든 라이브러리를 관리하는 태그

① maven-war-plugin 라이브러리 로드

- 배포 파일에 맞춰서 해당 압축파일을 생성하는 라이브러리 (얘만 bild 태그 안의 plugin 태그 안에 생성 나머지는 dependencies에 생성)
- 아래 빨간 박스 안의 text 복사



② pom.xml 수정

- 빨간 박스 안 태그 생성 후 복사한 텍스트 붙여넣기

 



③ tomcat catalina 다운

- 사용중인 tomcat 버전에 맞춰서 들어간 후 아래의 텍스트 복사
- dependencies 태그 안에 붙여넣기



④ web MVC 로드

- spring 은 무조건 mvc 형태로 제작하기 때문에 필요함
- 텍스트 긁어와서 dependencies 태그 안에 복붙


⑤ Mysql 연결 라이브러리 (DB)

- 텍스트 긁어와서 dependencies 태그 안에 복붙


 

 


⑥ spring + Mysql 연결 라이브러리 (DB)

- 텍스트 긁어와서 dependencies 태그 안에 복붙




⑦ JSTL (JSP UPDATE 버전) 라이브러리 로드

- JSTL 검색하면 동일한 jstl 2개 뜨는데, 그 중 에러 안뜨는 걸로 로드
- 텍스트 긁어와서 dependencies 태그 안에 복붙

 



⑧ mail을 사용하는 라이브러리

- jdk 8이상일 경우 오류 발생하므로 activation 도 로드해줌
- 텍스트 긁어와서 dependencies 태그 안에 복붙

 

 



⑨ Lombok 라이브러리 설치

- Getter, Setter 를 @을 이용하여 보다 쉽게 메소드를 생성하는 API
- pom.xml 에도 추가해주고 , lombok 사이트 접속해서 다운로드 받은 후 cmd를 이용하여 설치 후 STS IDE를 재 실행해줘야함
 
     ⓐ maven 에서 설치 -  POM.XML 에 추가
pom.xml 에 추가


     ⓑ google 에 lombok 검색 후 설치
     - 설치 후 d 드라이브로 이동

lombok 사이트에서 다운로드
      ⓒ cmd 에서 실행
이미지와 같이 cmd에서 실행

     ⓓ specify location 클릭 후 select
          - installer 뜨면 이미지와 같이 sts 선택


   ⓔ install 후 빠져나가기



     ⓕ sts 재실행

     ⓖ getter, setter 가 자동으로 생성 되는지 확인




⑩ 로드 한 라이브러리 적용하기

- 프로젝트 우클릭 후 maven 의 update project 클릭
- Force update 체크 후 적용 해줌


⑪ 잘 로드 되었는지 확인

- java class파일 아무렇게나 생성 후 아래의 노란색 코드 작성 시 에러 없다면 문제없음

 

 

● web.xml 설정

① 첫 줄 http 를 https 로 변경

② 코드 작성

- dispatcher 사용이유 : web @(Controller) 을 사용하기 위한 xml 로드 파일 구현 
                                     -> servlet 일 경우 do 를 생성하기 위해서 지속적으로 태그를 사용하는 형태였으나 Spring                                             으로 변화하면 bean에서 관리하도록 변환됨
- load-on-startup : param-value 에 사용되는 xml 파일을 첫 번째로 읽어서 사용
- servlet-mapping 부분 : 보안 맵핑을 사용(view 출력형태)
                                         url-pattern : ' / ' (webapp에서 jsp를 실행가능) or ' /* ' (webapp에서 jsp실행불가능 - do                                             를  거쳐야 접근가능)



③ 언어셋 세팅

④ 서버 가동 후 문제 없다면 ok

 

spring bean file 생성

spring 은 기본으로 mvc형태의 web 프레임 워크이므로 beans, context, mvc 를 사용
- beans : 의존성 여부를 체크하는 소스코드 
- context(자바 class를 의미), mvc(jsp로 출력하는 형태)

① web.xml 우클릭 후 아래와같이 other 클릭


② spring bean configuration file 클릭

- 클릭 후 file name을 webpage.xml 로 작성 후 next 클릭

 


③ next 후 아래와 같이 뜬다면 제대로 로드된것, 

④ 필요한 것 최신 버전으로 설정

⑤ finish 클릭 하면 webpage.xml 생성됨

- 생성 후 web.xml 의 param-value 값을 수정
- controller가 있는 xml파트가 아래의 박스임


- 수정 후 add & remove 에서 서버 추가 해주고 서버 restart

 

● webpage.xml 파일 수정 -> controller xml 파트

① @를 일반 class 파일에 사용할 수 있도록 하기 위해 코드 변경

 

② 코드 추가 작성 - webpage.xml 속성 추가
    <!-- @를 일반 class 파일에 사용할 수 있도록 하겠다는 것 -->
    <annotation-driven></annotation-driven>
    <!-- 모든 파일을 사용할 수 있도록 적용. 
    단 , resource에 특정파일을 적용 시 해당 파일 속성만 적용되도록 함. -->
    <resources location="/" mapping="/**"></resources>
    <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- prefix : view 페이지를 보여줄 경로, suffix : view 페이지 파일 속성명 -->
        <beans:property name="prefix" value="/"></beans:property>
        <beans:property name="suffix" value=".jsp"></beans:property>
    </beans:bean>
	<!-- class를 로드하는 부분(controller) -->
    <beans:bean class="webspring.mainpage"></beans:bean>
    </beans:beans>

'Spring' 카테고리의 다른 글

Database 연결 (Spring)  (0) 2024.07.09
JSTL 사용법  (0) 2024.07.09
Spring 의 Controller  (0) 2024.07.09
웹 경로에서 프로젝트 명 빼기  (0) 2024.07.08
Spring 기초  (0) 2024.07.08