https://github.com/spring-attic/toolsuite-distribution/wiki/Spring-Tool-Suite-3
sts-3.9.18.RELEASE 파일만 c java 폴더에 넣기
java 폴더에 workspace-legacy 생성
STS.exe 실행
이클립스에 스프링 라이브러리를 한 번에 다 설정해 놓은 것이 legacy (레거시) 임
Spring Legacy Project
템플릿은 sping MVC project
패키지 명 : 회사 이름임
finish
처음에는 오류 뜨는게 맞음 - 패키지 설치하는데 시간이 소요
서버 필요함 (왼쪽 하단)
프로젝트 오른쪽 마우스 클릭해서 Properties 에서 project Facets 수정
Dynamic Web Module 과 java 버전 수정
에러 없어짐
pom.xml 열어보면
properties 에 java-version 11로 수정
org.springframework-version 5.3.20 으로 수정해 줘야 함
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.demo</groupId>
<artifactId>sample</artifactId>
<name>LegacyProject</name>
<packaging>war</packaging>
<version>1.0.0-BUILD-SNAPSHOT</version>
<properties>
<java-version>11</java-version>
<org.springframework-version>5.3.20</org.springframework-version>
<org.aspectj-version>1.6.10</org.aspectj-version>
<org.slf4j-version>1.6.6</org.slf4j-version>
</properties>
아래에 plugin 도 11 버전으로 수정
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>11</source>
<target>11</target>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
메이븐 업데이트
웹 개발에 필요한 라이브러리 추가됨
webapp-> views 화면구현
web.xml (기본 설정되어있음)
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee https://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Processes application requests -->
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
web .xml 에 한글 필터 추가적으로 붙여줘야함
<!-- 파라미터 UTF-8 인코딩 필터 설정 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
web.xml 안의 내용
1. root-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- Root Context: 웹 프로젝트에 필요한 객체들을 선언 -->
</beans>
스프링 프로젝트를 시작할 때 필요한 객체들을 여기에 선언한다.
2. DispatcherServlet
모든 요청을 DispatcherServlet 에서 먼저 받는다.
-> 그 요청을 필요한 Controller에 나눠줌
기본 설정이 appServlet에서 받겠다고 되어있음(web.xml )
servelt-context.xml
서블릿과 관련된 객체들을 선언하는 곳
어노테이션 컨트롤러를 설정할 수 있게 한다.
resources 폴더 위치
만약 resources 안에 css 폴더를 만들었음
그럼 css 폴더 위치를 지정할건데 , 그러면 위치가 /resources/css/****
서블릿에서 처음 요청을 받을 때 컨트롤러 요청인지 확인해보고 아니면,
resources 폴더 아래에서 찾음
어노테이션 컨트롤러를
com.demo.sample 에서 스캔해서 찾음
'BACKEND > Spring' 카테고리의 다른 글
DB연결 - 책 입력 기능(INSERT) (0) | 2023.10.19 |
---|---|
LegacyProject 시작하기 , DB 연결을 위한 라이브러리 추가 (1) | 2023.10.19 |
DI - 자동 주입 (1) | 2023.10.19 |
DI 생성자 주입 (1) | 2023.10.18 |
bean 객체의 생명 주기 - 소멸 (0) | 2023.10.18 |