본문 바로가기
네이버클라우드/JAVA 웹 프로그래밍

JAVA 60일차 (2023-08-16) 자바 프로그래밍_59. 서블릿 컨테이너 삽입하기_개인프로젝트 - 마트 관리 시스템

by prometedor 2023. 8. 16.
## 59. 서블릿 컨테이너 삽입하기

- 웹 애플리케이션에 서블릿 컨테이너를 포함시키는 방법

 

tomcat embed jasper 라이브러리 추가

https://central.sonatype.com/

 

Maven Central

Official search by the maintainers of Maven Central Repository.

central.sonatype.com

=>

=>

=>

ㄴ [Copy to clipboard] 선택

=>

build.gradle

ㄴ build.gradle 스크립트 파일의 dependencies 에 붙여넣기

=>

ㄴ gradle 재설정

=>

ㄴ 프로젝트 Refresh 해주기

=>

ㄴ 라이브러리 추가됨을 확인

 

 

 

ㄴ report 패키지에 App.java 라는 클래스 생성하기

=>

https://kaminion.tistory.com/41

 

embed tomcat 설정하기

인텔리제이(Intellij)에서 내장톰캣을 사용하려면 얼티밋버전이어야한다는데, 사실 얼티밋버전이 아니더라도 내장톰캣을 사용할 수 있다! (조금 귀찮기는 하지만) 난 참고로 얼티밋 버전이지만

kaminion.tistory.com

ㄴ 해당 블로그 참고

=>

ㄴ 해당 코드 복사

=>

App.java

ㄴ 복사한 코드 붙여넣기

=>

Command + Shift + O 실행

=>

ㄴ java.io.File 를 import 해주기

=>

App.java

ㄴ 예외처리 해주기

=>

App.java

ㄴ 서버 시작을 확인하기 위한 출력문 추가

=>

App.java

ㄴ 톰캣 서버 구동시키는 객체 준비하기

ㄴ 서버의 포트 번호 설정하기

=>

App.java

ㄴ 톰캣 서버를 실행하는 동안 사용할 임시 폴더를 지정해주도록 함

=>

App.java

ㄴ 톰캣 서버의 연결 정보를 설정

ㄴ Tomcat 서버의 Connector 설정을 변경하여 URI(Uniform Resource Identifier) 인코딩을 UTF-8로 설정

    ㄴ 웹 애플리케이션에서 URL에 사용되는 문자열을 올바르게 처리하기 위한 설정

=>

App.java

ㄴ 해당 코드 제거

=>

App.java

=>

App.java

ㄴ 해당 변수 제거하고 아래처럼 직접 넣어주도록 함

=>

App.java

=>

App.java

ㄴ 웹 애플리케이션을 루트 컨텍스트로 설정하기

=>

App.java

ㄴ 웹 애플리케이션의 기타 자원 등록하도록 함

ㄴ 해당 코드 주석 처리 해두기

=>

App.java

ㄴ 웹 애플리케이션을 환경 정보에 등록하도록 함

=>

App.java

ㄴ 톰캣 서버 구동하는 코드 

=>

App.java

ㄴ 톰캣 서버를 구동한 후 종료될 때까지 JVM을 끝내지 말고 기다리도록 함

=>

App.java

ㄴ 서버 종료를 확인하기 위한 출력문 추가

 

 

ㄴ App.java 를 실행하기

=>

=>

=>

App.java

=>

=>

=>

 

App.java

=>

App.java

 

App.java

=>

App.java

=>

=>

App.java

ㄴ 서블릿 클래스는 bin/main 에 있으므로 코드 수정

=>

App.java

ㄴ additionWebInfClass 변수를 제거하고 직접 대입하기

=>

App.java

ㄴ 웹 애플리케이션 설정 정보를 웹 애플리케이션 환경 정보에 등록하도록 함

=>

ㄴ App.java 중지 후 다시 실행

=>

=>

=>

=>

=>

=>

=>

=>

=>

 

BoardAddServlet.java

ㄴ uploadDir 을 출력 해보기 위해 코드 추가

=>

App.java 재시작

=>

=>

=>

=>

=>

=>

=>

=>

=>

 

 

HomeServlet.java

ㄴ MyApp2 -> MyApp3 로 변경

=>

App.java 중지 후 재실행

=>

ㄴ 서버를 중지하고 다시 실행해야 변경됨

=>

App.java

=>

App.java

=>

HomeServlet.java

ㄴ MyApp3 -> MyApp4 로 변경 후 저장

=>

ㄴ 서버를 재시작하지 않아도 알아서 재실행됨

=>

ㄴ 브라우저만 새로고침 해주면 반영됨