- 이클립스 자바
- 이클립스는 자체적으로 자바를 가지고 있다.
- plugins 폴더 안에 자체 java(17 version)가 내장되어 있다.
- 자바 환경 설정 절차
1. java 다운로드 및 압축 풀기
2. 작업할 공간에 복사 붙여넣기
3. jdk-11의 경로 복사
4. 시스템 환경 변수 편집 → 환경변수 → 사용자 변수 → 새로 만들기
5. 변수이름: JAVA_HOME, 변수값: jdk-11 경로
6. 시스템 환경 변수 편집 → 환경변수 → 사용자 변수 → path 선택 → 새로 만들기
7. %JAVA_HOME%\bin : 방금 지정한 java_home 디렉토리 내부의 bin 파일을 실행한다는 의미
8. cmd창에서 java --version 으로 버전 확인
- Apache Maven 설치 절차
1. Apache Maven 다운로드 : Binary zip archive로 설치 진행 및 압축 풀기
2. 내부 파일 C드라이브로 이동
3. maven/bin 까지의 경로 복사
4. 시스템 환경 변수 편집 → 환경변수 → 사용자 변수 → path 선택 → 새로 만들기
5. 경로 붙여넣기
6. cmd창에서 mvn -version 으로 버전 확인
- Eclipse Spring 전용 설정
1. 이클립스 다운 : 다운로드 후 압축 풀기
2. 내부의 eclipse 폴더를 eclipse_spring 으로 변경 후, workspace와 동일한 폴더안으로 이동
3. jdk-11 폴더의 bin 폴더까지의 경로 복사
4. eclipse_spring 폴더의 eclipse.ini 파일 선택 → 메모장으로 열기
5. plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.2.v20220201-1208/jre/bin 해당 문자열을 복사한 경로로 바꾼다.
↪ (주의사항) 경로 문자열에서 \ 문자를 /로 바꾼다._
6. 지정한 java를 eclipse에서 사용할 수 있다.
- 환경 설정
1. preferences -> enc -> workspace, css, html, jsp 모두 encoding -> UTF-8로 변경
2. preferences -> font -> 폰트 크기 바꾸기
3. 하단 server 우클릭 -> Apache Tomcat 서버 잡기
4. 왼쪽 탭의 servers 선택 -> server.xml -> port 8888로 변경
5. 서버 실행해보기
- 구조
src>main>webapp>WEB-INF>views>home.jsp : 처음 실행되는 파일 (뷰)
src>main>java>패키지명>HomeController.java : 처음 실행되는 응답 객체 (컨트롤러)
- 설명
@Controller : 이 객체로 클라이언트의 요청에 대해서 응답하겠다는 의미
@RequestMapping("/") : 해당 context 에 root 요청이 왔을 때, 이 메소드로 응답하겠다는 의미
- @RequestMapping() 메소드
여기서 리턴한 문자열의 접두어로 "/WEB-INF/views/"가 붙고, 접미어로 ".jsp"가 붙어서
"/WEB-INF/views/"+"home"+".jsp"을 의미하게 된다.
결과적으로 "/WEB-INF/views/home.jsp"
가 되어서 해당 jsp 페이지로 forward 이동 되어 응답하게 된다.
- home() 메소드 파라미터
- 필요하다면 HttpServletRequest, HttpServletResponse를 선언해 놓기만 해도 자동으로 forward 된다.
- @RequestMapping() 메소드는 여러 개 작성할 수 있다.@Controller public class HomeController { @RequestMapping("/") public String home(HttpServletRequest req) { req.setAttribute("fortuneToday", "운이 너무나도 좋은 평생이네요!"); // "home"은 home.jsp를 의미한다. // 만약 "/private/home" 이라면 // /WEB-INF/views/private/home.jsp 파일로 forward 이동한다. return "home"; } }