학원/강의

*72일차 (server 시작)

pringspring 2022. 5. 10. 23:47

@Tomcat

  • Web Application Server 중 하나 
  • 웹서버 역할

1. 설치

https://tomcat.apache.org/download-90.cgi - Core에서 zip파일 다운로드 - dev에 옮긴 후 압축해제

 

2. 폴더

  • bin / startup.bat & shutdown.bat 
  • conf : 설정파일들
  • lib  : 톰캣 실행시 필요한 자바프로그램들
  • log /temp
  • webapps :  was = web container(실제 앱들을 담아준다) → 톰캣을 통해 서비스한다. 
  • work : jsp를 위한 공간

 

3. 포트번호 변경

  • 톰캣= 8080=오라클
  • conf/server.xml/line:69에서 port="9090" 으로 변경

 

4. CATALINA_HOME

  • dev/apache-tomcat 환경변수를 카탈리나 홈으로 부름

 

5. 2에서의 startup실행

  • localhost:9090 으로 접속 후 톰캣페이지가 로딩되면 성공

 

@톰캣을 이클립스 통해 제어함

 

  • 포트번호만 다르게 주면 동시에 돌리기 가능

 

1. Window - Preferences - Server - Runtime..~ - Add - v9.0 - 이 때 create local은 클릭X

위치는 dev/apache-tomcat(카탈리나홈)으로 잡음

 

2.지역서버 만들기

  • Servers탭에서 No servers..~ 클릭
  • Server's host name : localhost (변경X)
  • Server name : hello-web-server

 

3. package explorer - New - Dynamic Web Project

  • Project name : hello-web
  • Dynamic Web Module Version : Servlet Version
  • web project를 만들때는 jdk , tomcat을 참조함 (java project는 jdk만 참조)
  • Context root : app 별칭
  • Context path/application name/application alias 같은 말

 

 

4. webapp = webroot  directory

  • 브라우저에 접속했을 때 여기서부터 시작한다.
  • 루트가 되는 디렉토리
  • Ctrl+N - index.html 생성

💥오류발생💥

느낌표  : 참조하는 환경이 오류났을때 표시됨

  • Properties - Java Build Path - Libraries - 17버전 제거

  • Project Facets - Java 11로 변경
  • web.xml에서 느낌표가 있다면 alt + ↑↓로 해줌

 

 

5.실행(연결방법)

  • Ctrl+F11로 run하는거 아님
  • 만든 프로젝트를 지역서버로 연결하고 톰캣을 run함
  •  
  • Servers탭 - Add and Remove

-서버탭에서 연결된 서버 더블클릭후

  • localhost:9090/web으로 접속 - Hello World 화면이면 성공
  • 꼭 체크해야됨

 

6. 언어(영어) 변경

한칸띄고 작성


 

1. webapp - servlet 폴더생성

 

 

2. GET 방식 : doGet

  • TestPersonServlet1.java 파일 참조

 

 

 

 

3. POST 방식 : doPost

  • TestPersonServlet2.java 파일 참조
  • 한글부분이 깨져서 utf-8 추가

 

 

 

 

 

 

4. 소스파일보기

  • 톰캣다운로드 페이지 - zip파일 다운로드

 

  • 압축해제 안하고 dev폴더로 이동

 

 

💥오류발생💥

꼭 체크되어있어야 함


 

@Servlet 생명주기

 

-객체 생성 ,초기화 후 요청을 처리하는 주기를 가짐

  • 생명자 호출
  • @PostConstruct 메소드 호출
  • init(ServletConfig) 호출
  • 실제요청시 GenericServlet#service 호출 - 전송방식별 분기
  • doGet | doPost 호출
  • destory 호출
  • @PreDestory 호출