* 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 버전 - 하위기술 버전
매우중요 !!
구현 톰캣 서버에 따라서 해당 서버가 지원 가능한 기술들의 하위 버전 사용이 권고된다.
해당 버전의 상위 버전의 경우에는 새로운 클래스/메서드/인터페이스 등이 추가되어 있기 때문에
호환성 및 안전성의 문제가 발생할 수 있다.
* Java EE와 Jakarta EE
* Web Application 개발 준비 - windows
① 톰캣 설치
https://tomcat.apache.org/download-90.cgi
# 톰캣 ?
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에서 톰캣 서버 테스트 환경 구축하기