[네이버클라우드캠프] 71일차. Java EE 환경 구축 및 Tomcat 서버, Gradle, Eclipse IDE를 활용한 웹 애플리케이션 개발
* Java SE vs Java EE vs Java ME
Java EE는 기업용 App을 제작 및 실행하기위한 도구와 라이브러리, API를 제공한다.
JAVA EE 특징은 다음과 같다.
* JAVA EE는 JAVA SE를 포함하지 않는다.
1. 많은 수의 동시 사용자 처리
: C/S 기술이 필요 -> Servlet/Jsp, JSTL, JSF 등
2. 자원을 효율적으로 관리
: 자원관리, 풀링 기술 필요 -> 트랙잭션 관리, DB 커넥션툴 등
3. 시스템 확장에 용이
: 시스템 학장에 용이 : 분산 시스템 기술 -> EJB, WerService 등
* Java EE : 웹어플리케이션, 분산App 등과 관련된 표준 API 제공
* Java EE : 웹어플리케이션, 분산App 등과 관련된 표준 API 제공
매우 중요 !!
JavaEE는 기술 규격에 따라 제작 회사나 서버에 구속 받지 않는다.
즉, 서버 교체가 쉬우며 App개발에 일관성이 있다.
* Java EE와 Application server
Java EE - Technologies
https://www.oracle.com/java/technologies/javaee/javaeetechnologies.html#javaee7
Java EE - Technologies
Java EE 5 Technologies Java Platform, Enterprise Edition 5 (Java EE 5) focuses on making development easier, yet retains the richness of the J2EE 1.4 platform. Offering features such as JavaServer Faces (JSF) technology and web services APIs, Java EE 5 mak
www.oracle.com
* Java EE 버전 - 하위기술 버전
매우중요 !!
구현 톰캣 서버에 따라서 해당 서버가 지원 가능한 기술들의 하위 버전 사용이 권고된다.
해당 버전의 상위 버전의 경우에는 새로운 클래스/메서드/인터페이스 등이 추가되어 있기 때문에
호환성 및 안전성의 문제가 발생할 수 있다.
* Java EE와 Jakarta EE
* Web Application 개발 준비 - windows
① 톰캣 설치
https://tomcat.apache.org/download-90.cgi
Apache Tomcat® - Apache Tomcat 9 Software Downloads
Welcome to the Apache Tomcat® 9.x software download page. This page provides download links for obtaining the latest version of Tomcat 9.0.x software, as well as links to the archives of older releases. Unsure which version you need? Specification version
tomcat.apache.org
# 톰캣 ?
Tomcat은 TCP(Transmission Control Protocol)를 기반으로 동작하는 웹 서버와 서블릿 컨테이너입니다.
② Tomcat 서버 설정
conf/tomcat-users.xml
③ PATH 환경 설정 변수에 bin 등록
④ http://localhost:8080/ 홈페이지를 통해 설치 확인
귀여운 톰캣(?)이 반겨준다 ..
localhost/manager 로 로그인을 하면 오류가 발생한다.
tomcat-user.xml 파일을 수정해주고 다시 로그인하면 접속이 된다 !
① 프로젝트 폴더 생성
② gradle init
#간단하게 인사 문구 출력해보기
package eomcs.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
@WebServlet("/hello")
public class HelloServlet implements Servlet {
ServletConfig config;
@Override
public void init(ServletConfig config) throws ServletException {
// 서블릿 컨테이너(톰캣)가 인스턴스를 생성한 후 즉시 호출 함.
System.out.println("HelloServlet.init() 호출됨");
this.config = config;
}
@Override
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException {
// 클라이언트가 요청할 때 마다 서블릿 컨테이너가 호출함.
System.out.println("Hello! 호출");
res.setContentType("text/html;charset=UTF-8");
PrintWriter out = res.getWriter();
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<meta charset='UTF-8'>");
out.println("<title>환영!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello, world!</h1>");
out.println("</body>");
out.println("</html>");
}
@Override
public void destroy() {
// 서블릿 컨테이너가 종료되기 직전에 호출함.
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}
}
#build.gradle 설정
#gradle 빌드를 통해서 war 파일 생성
# 생성된 war 파일을 tomcat의 webapps 에 옮긴 후 start 배치 파일 실행
# 출력결과
* JavaEE 도입
* 서버루트 설정
* Myapp을 tomcat을 통해서 웹에 띄워보기
1. server.xml 수정하기
2. tomcat-users.xml 수정하기
tomcat manager에 로그인하기 위해서 user 정보를 입력하여 xml을 수정해준다.
3. gradle build 를 입력하여 build 파일 생성
4. tomcat의 wepbapps에 myapp.war 이동
5. startup 배치 파일로 톰캣 서버 실행
6. 주소창에 지정된 포트 번호로 이동하여 접속
* Eclipse IDE에서 톰캣 서버 테스트 환경 구축하기