http://mannaedu.com/bbs/board.php?bo_table=pds&wr_id=74
(server.xml 한글데이터 처리 생략)
Spring 개발환경
https://www.youtube.com/watch?v=KkMlhnEI9ds&list=PLY9pe3iUjRrRiJeg0jw22yW1G5yzAdiqC
2019년 현재 스프링 최신 버전은 5.1.4ㅇ며 에러가 발생할 경우 하위 버전으로 설정
(Java 최신 버전은 11이지만 호환성을 위하여 1.8로 설정함)
JDK 8+ for Spring Framework 5.x
JDK 6+ for Spring Framework 4.x
JDK 5+ for Spring Framework 3.x
다운로드
STS 버전
spring-tool-suite-4-4.2.2.RELEASE-e4.11.0-win32.win32.x86_64
1. STS 다운로드
2. C: 디렉토리에 옮기기
3. STS 실행
4. 환경변수 설정
4. STS 4에서 Spring Lagacy Project를 지원하지않으므로 Eclipse MarketPlace에서
Spring Tool 3 Add-On 3.9.7. Release를 추가 설치해야 함
Help > Eclips Marketplace에서 Spring Tool 3 Add-On 3.9.8. Release 확장프로그램 설치
프로그램 기본설정
workspace바뀌면 설정 다시해야한다.
Windows - Preference -
General > Workspace > Text file encoding : other (UTF-8)
General > Editor > Text Editors - Spelling - encoding : other (UTF-8)
Web - CSS Files / Web-HTML Files / Web-JSP Files Encoding : UTF-8
JSP 인코딩 설정이 없다면 아래 소프트웨어 설치 후 재설정
Help - Install New Software
Work with : 2018-12 - http:// ~ [ Add ]
Java web 검색해서
Eclipse Java Web Developer 설치
JSP 템플릿 설정
Web JSP Files > Editor > Templates
이클립스 구버전에서는 HTML 5가 등록돼있지 않아 HTML 4.01을 HTML5 형식으로 변경해주어야했지만 이제 그럴 필요 X
Get 방식 한글데이터 처리 ( tomcat 구버전 )
Server.xml 편집
URIEncoding = "utf-8" 속성 추가 (2군데)
<Connector connectionTimeout="20000" port ="8080" prococol="HTTP/1.1"
redirectPort="8443"
URLEncoding="utf-8" />
...
<Connector port ="8009" prococol="AJP/1.3"
redirectPort="8443"
URLEncoding="utf-8" />
스프링 프로젝트 설정
설정이 복잡하므로 샘플프로젝트 받아서 진행
아래 링크에서 Spring sample 프로젝트 다운로드 받은 후 압출 풀고 import
http://mannaedu.com/bbs/board.php?bo_table=pds&wr_id=74
File - import - General > Existing Project into Workspace [ next ]
sample 디렉토리 추가
(Option에 Copy projects into Workspace 는 알아서 설정)
이 sample 프로젝트는 메이븐(maven) 프로젝트 형식
jar파일 (외부 라이브러리 ) 참조를 간단하게 처리한다.
xml에 라이브러리 이름과 버전만 연계시키면 maven 툴이 서버에서 자동으로 라이브러리를 다운받아와 쉽게 관리해줌
프로젝트를 보면 jar 파일이 하나도 없는데, jar파일은 c:/사용자/user/.m2 /repository에 모여있다.
c:/사용자/user/.m2 /repository는 메이븐에서 관리하는 외부 라이브러리 디렉토리
지금까지는 프로젝트를 만들면 하나하나 jar파일을 추가해야했는데, maven은 공유해서 사용한다.
배포될때는 jar파일을 포함해서 배포하나, 개발할때는 따로 추가할 필요가 없다. (개발시 편리)
http://mvnrepository.com (메이븐 저장소 서버)
원하는 외부소스 검색해서 소스 코드를 복사 (자동복사됨)
복사한 소스 코드를 pom.xml의 <dependency> 아래에 붙여넣는다
스프링 프로젝트 생성
-Spring Legacy Project > Spring MVC project //STS 3 확장프로그램 설치해서 추가된것
> Project name : spring01
Templates : Spring MVC project
Please specify the top-level package e.g. com.mycompany.myapp*
- 패키지 이름 : com.example.spring01 // 주소 뒤집은 형식 ex) www.mbc.com => com.mbc.www
- 메이븐 라이브러리 : 사용자/.m2 디렉토리 확인
spring01 프로젝트의 pom.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?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.example</groupId> <artifactId>spring01</artifactId> <name>spring01</name> <packaging>war</packaging> <version>1.0.0-BUILD-SNAPSHOT</version> <properties> <java-version>1.8</java-version> <org.springframework-version>5.1.4.RELEASE</org.springframework-version> <org.aspectj-version>1.6.10</org.aspectj-version> <org.slf4j-version>1.6.6</org.slf4j-version> </properties> <dependencies> | cs |
java와 springframework 버전을 변경하면 maven이 알아서 빌드해준다.
jdk 버전 수정 : Project Facets, Java compiler 버전 확인
빌드 실패해서 에러가 뜰 경우 : [ 에러 해결 방법 ]
1.
프로젝트 우클릭 - Properties > Java Compiler > JDK Compliance
Use compliance from execution environment ~ on the 'JavaBuild Path' 체크 풀고
바로 하단의 Compiler compliance level을 1.8로 바꿔준다.
Properties > Maven > Project Facets
Java Version을 1.8로 변경
프로젝트 우클릭 - Build Path 설정 확인 // JRE 더블클립 > Workspace default JRE로 변경해본다
2. 프로젝트 > Properties > Deployment Assembly > Add > Java Build Path Entries > Maven Dependencies 선택
3. pom.xml에서 스프링 버전 다시 조정해보기 (약간 낮은버전으로)
<org.springframework-version>5.1.4.RELEASE</org.springframework-version>
4. 프로젝트 clean, server clean
Project - Clean - 해당 프로젝트 체크 - clean
하단 Server 창에서 서버 우클릭 - Clean / 서버 우클릭 - Clean Tomcat Work Directory
6. 프로젝트 우클릭 - Maven - Update Project >Force Update of Snapshots/Releases도 체크 후 OK
7. STS 종료한 후 메이븐 저장소 (.m2) 삭제, STS 재시작
-sample 프로젝트에서 설정파일 복사 :
1. pom.xml 복사
2. src/main/resources/mappers 디렉토리 생성
// 기존 JavaResources - src/main/resources 폴더에 mappers 폴더 만드는 과정
// sample 프로젝트에서 mappers 폴더를 복사해와도 된다. (MemoMapper.xml 파일은 지워준다 )
3. src/main/resources/sampleMapper.xml 복사
4. src/main/resources/log4j.xml 복사
5. src/main/resources/log4jdbc.log4j2.properties 복사
6. src/main/resources/logback.xml 복사 // 이미 있는 파일은 덮어쓰기
7. mybatis-config.xml 복사
//하단 src 폴더 (sample에서 spring01로)
8. src/main/webapp/WEB-INF/web.xml 복사 // 덮어쓰기
9. src/main/webapp/WEB-INF/pring/root-context.xml 복사
10. src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml 복사 // 옮긴 후 아래처럼 코드 수정
<context:component-scan base-package="com.example.spring01" />
반드시 Java Build Path에서 tomcat 추가할 것
(실행 한번 안해보면 라이브러리 추가할 목록에 안뜰수도 있으니 다른 프로젝트로 서버 실행해보고 다시 시도)
Add Library - Server Runtime 톰캣 추가
Help - Install New Software Workwith : 2018 ~ 선택하고 java 검색
Eclipse Java EE developer tools 설치
이미 설치돼있으면 다운로드 가능 목록에 안뜬다.
바로 프로젝트의 Preperties - Deployment Assembly - [ Add ] - Java Build Path Entries - Maven Dependencies를 추가해준다.
다시 실행하면 정상 작동
한글 깨짐 발생시
src - main - webapp - WEB-INF - views - home.jsp 소스코드 수정
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>~
'Spring > study' 카테고리의 다른 글
JUnit Test 정리 (0) | 2019.05.30 |
---|---|
컨텍스트( context ) (0) | 2019.05.30 |
spring 4강 Controller와 View의 연결 방법 (0) | 2019.05.29 |
spring 3강 로깅, 데이터베이스 연결 테스트 (0) | 2019.05.28 |
spring 2강 스프링의 실행 과정 / 디렉토리 구조 / 주요 특징 (0) | 2019.05.28 |