물리적 서버에 다음 프로그램들을 설치하여 사용한다.
Server : Spring
자바/JSP와 같은 자바 플랫폼을 위한 프레임워크로 Java VM 위에서 돌아가며 아파치 라이선스 2.0을 따라는 오픈 소스 프레임워크다. 대한민국 전자정부 표준프레임워크의 기반 기술로도 사용된다. 동적인 웹 사이트를 개발하기 위한 기술이다. Model, View, Controller를 분리한 디자인 패턴을 만든다.
Web : Apach Tomcat
아파치 소프트웨어 재단에서 개발한 서블릿 컨테이너(또는 웹 컨테이너)만 있는 웹 어플리케이션 서버다. 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공한다. -> JSP(Java Server Pages)와 Servlet이 실행할 수 있는 환경을 제공.
정확히는 잘 모르겠지만 기존 아파치에서 톰캣이 추가되어 기능이 더 많아진게 아파치 톰캣이라 한다. 아파치라는 집합을 포함하는 더 커다란 집합이 아파치 톰캣이다 뭐 그런 구조랄까...?
DB : SQLite
MySQL이나 PostgreSQL과 같은 데이터베이스 관리 시스템이지만 서버가 아니라 응용 프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스다. 구글 안드로이드 운영 체제에 기본 탑재된 데이터베이스이기도 하다.
1. Spring 주소 복사하기
Spring 3를 사용하기 위해 다음 주소로 이동한다.
github.com/spring-projects/toolsuite-distribution/wiki/Spring-Tool-Suite-3
자신의 이클립스 버전을 확인한 다음 dmg 파일을 다운 받아 설치한다.
이클립스 4.5 버전으로 아래의 주소로 다운 받는다.
윈도우 환경인 경우는?
p2 repositories 항목에 가서 자신의 이클립스 버전에 맞는 주소를 복사한다.
이클립스 4.15 버전으로 아래의 주소를 사용한다.
https://download.springsource.com/release/TOOLS/update/3.9.12.RELEASE/e4.15/
2. Eclipse에 Spring 설치하기
아까 다운 받은 STS 파일을 실행한 후 이클립스 Workspace를 선택한다. (이 때 이클립스를 종료한 상태여야한다.)
윈도우 환경인 경우는?
Help > Install New Software에서 'Add...'를 누르고 해당 주소를 붙여넣고 적당한 이름을 붙인 다음 Add
계속 다음다음.... 하면 설치된다.
이제부터는 이클립스를 실행할 때 '이클립스 IDE'말고 STS로 실행할거다.
윈도우 추가 진행 사항
Window > Preferences > Web > CSS, HTML, JSP
UTF-8으로 인코딩 변경
Window > Preferences > General > Workspace UTF-8으로 인코딩 변경
3. Apache Tomcat 설치하기
에서 Alpha 버전이 아닌 최신 버전을 다운로드한다.
Core -> zip을 다운로드하고 적당한 폴더에 풀어준다. (응용 프로그램에 넣는게 경로가 간단해 덜 귀찮다...)
설정에서 'Runtime'를 입력 후 Server 아래 있는 'Runtime Environments'에 가서 'Add'버튼을 누른다.
'tomcat'을 검색 후 다운로드 받은 버전을 선택한다.
톰캣이 있는 폴더를 지정해준다.
'Finish'를 누른 후 'Apply and Close'를 해주면 끝.
포트번호 변경하기
톰캣 폴더 -> conf -> server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
8099 로 변경(원하는 포트로 변경하면 됩니다.)
여기서 바꾸고 저장하는게 더 쉽다.
서버 추가하기
Window -> Show View -> Other... -> Server
콘솔창 옆에 서버탭이 보인다.
우클릭 하고 새 서버를 추가한다
4. 프로젝트 시작하기
프로젝트명이 겹치는 것을 막기 위해
com.Apple.프로젝트이름
으로 생성.
프로젝트 폴더 > src/main/java > com.KOPO.SpringTest > HomeController.java
package com.KOPO.SpringTest;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* Handles requests for the application home page.
*/
@Controller
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
/**
* Simply selects the home view to render by returning its name.
*/
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
logger.info("Welcome home! The client locale is {}.", locale);
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
model.addAttribute("serverTime", formattedDate );
return "home";
}
}
프로젝트 폴더 > src > main > webapp > WEB-INF > views > home.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page session="false" %>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>
Hello world!
</h1>
<P> The time on the server is ${serverTime}. </P>
</body>
</html>
상단에 다음 문구를 추가하면 한글 깨짐이 해결된다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
서버를 가동하면 / 경로로 접속하며 'home.jsp'페이지를 띄운다.
이번에는 다른 페이지를 추가해보자.
src > main > webapp > WEB-INF > views에 새 jsp파일을 생성한다.
body 부분에 텍스트를 추가하고 저장한다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
Hello Polytech!
</body>
</html>
그리고 HomeController에 해당 페이지를 추가해준다.
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String hello(Locale locale, Model model) {
return "NewFile";
}
추가된 모습은 다음과 같다.
package com.KOPO.SpringTest;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* Handles requests for the application home page.
*/
@Controller
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
/**
* Simply selects the home view to render by returning its name.
*/
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
logger.info("Welcome home! The client locale is {}.", locale);
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
model.addAttribute("serverTime", formattedDate );
return "home";
}
// 추가한 부분
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String hello(Locale locale, Model model) {
return "NewFile";
}
}
저장한 후 주소를 /hello로 접속해보자.
한글 깨짐 해결하기
.jsp 파일 상단에 다음을 추가한다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
Sqllite 설치하기
직접 다운로드 받아도 되지만 Building 도구를 사용하고 있기 때문에 명시만 해주면 알아서 설치를 한다.
프로젝트 폴더 안에 보면 'Maven Dependencies'가 보인다. 얘가 Building 도구다.
그러면 패키지 최하단에 pom.xml에 들어가서 dependencies 안에 다음을 추가한 다음 저장한다.
<dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>3.27.2.1</version> </dependency>
이클립스 우측 하단에 막대가 올라가며 알아서 설치가 된다.
'개발자 > Java' 카테고리의 다른 글
Java (자바) 상점 만들기 (0) | 2020.05.24 |
---|---|
Java (자바) 실습 Spring을 이용해 DB 생성하고 밀어넣고 조회하기 (0) | 2020.05.22 |
Java (자바) Queue (큐), Stack (스택) (0) | 2020.05.12 |
Java(자바) java.lang.NullPointerException 에러 (0) | 2020.05.12 |
Java (자바) 포맷팅 및 문자열 분리 예제 (0) | 2020.05.10 |