티스토리 뷰
기억나는 것만 먼저 작성
0. 초기 설정
sts-bundle 있는 파일에서
STS.txt 파일
-vm C:\Program Files\jdk-11.0.2\bin (자바설치 경로)
맨위에 추가해줘야함
+ 자바 설정 경로 찾기
시스템 속성 > 고급 > 환경 변수에서 찾기
그리고
스프링저장폴더/.metadata/plugins 에서
org.springsource.ide.eclipse.commons.content.core 폴더에
파일 추가! (파일추가할땐 실행 종료해야함)
그리고 STS 실행 하기
File > NEW > Spring Legacy Project 선택 > Spring MVC Project 눌러서
생성 안되면 스프링저장폴더 싹 지우고 다시 반복 , 재부팅도 해보고
0. 초기 설정
프로젝트 우클릭하고 가장 아래에 Properties 선택
Project Facets에서 Dynamic Web Module 4.0 (=Servelt)
Java 11 으로 변경 하고 Apply
Server는 Tomcat v9.0 선택하고 Apply
JavaBuildPath 에서 Libraries 선택하고 Classpath 클릭,
우측에 Add Library 클릭하면 다음과 같은 화면이 나온다.
JUnit 선택하고 Next
Finish 누르고 다시 Apply
마지막으로 Targeted Runtimes 에서 apache -tomcat 9.0.46 선택하고 Apply
Apply and Close 를 누르면
기본 초기 설정이 끝나고
프로젝트의 오류 표시도 사라짐
1. pom.xml 초기 설정
복붙 시
xml 파일의 groupId , artifactId , name 을 변경
* pom.xml 설정 시 오타가 나도 안보이니 조심하기
* 여기 까지 기존 설정은 동일함!
xml 파일들을 삭제하고 java 파일로 생성할 수 있다. 그건 Spring02 초기설정에서 확인 할 것*
2. Spring 실행 시 web.xml 파일을 참조해야한다.
filter 설정한듯.
여기도 오타 조심
3. src/main/webapp/WEB-INF/spring/servlet-context.xml
에서
component-scan : 패키지 하위 요소들을 스캐닝
** component : controller, service, repository 등 Spring Container에서 관리하는 클래들을 의미
그냥 component = 클래스
이 설명을 보면 아래 코드가 그래도 이해가 될 듯
<!-- component-scan : com.mokcoding.ex01 패키지에 하위 요소들을 스캐닝
component는 controller, service, repository 등 Spring Container
에서 관리하는 클래스들을 의미.
-->
<context:component-scan base-package="com.mokcoding.ex01" />
4. jsp servlet 과의 차이를 보기 위해 단계별로 단축,,,더 단축한 코드를 보여주겠음
패키지 : com.mokcoding.ex01.controller
클래스명 : ExampleController1
@RequestMapping = @GetMapping 을 사용
page1과 page2 페이지를 불러올 것
package com.mokcoding.ex01.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
// POJO (Plain Old Java Object)
@Controller // @Component도 가능
// @Controller로 선언된 객체는 Spring Container에서 관리
@RequestMapping("/example1") // 상위경로
public class ExampleController1 {
// 로그를 사용하기 위한 객체
private static final Logger logger =
LoggerFactory.getLogger(ExampleController1.class);
// @RequestMapping : 특정 메소드를 요청에 대한 처리가 가능하도록 만드는
// 어노테이션. URL, HTTP Method 등의 속성을 갖고 있음
@RequestMapping(value="/page1", method=RequestMethod.GET)
// = @GetMapping("/page1")
public String page1() {
logger.info("page1()");
return "example1/page1"; // jsp 경로 및 파일 이름(= view name)
// WEB-INF/views/example1/page1.jsp 로 찾아감
// (servlet-context.xml에 설정되어 있음)
}// end page1()
@GetMapping("/page2") // short cut
public void page2() {
logger.info("page2()");
// return 타입이 void 인 경우는 URL 매핑을 통해서 view를 찾음
}// end page2()
}// end ExampleController1
실행하기는 서버 재시작하면 된다.