Backend/Backend 공통
[Backend]IntelliJ(인텔리제이) 서버 실행 시, 로그 창 비교
들어가며 인텔리제이(IntelliJ)에서 서버를 실행하면 서버와 관련된 정보 및 로그를 보여주는 창인 "Services" 창이 있음. 이 창에서는 실행시킨 서버에 대한 로그를 볼 수 있는데, 거기엔 "Server" 탭과 "Tomcat Localhost Log" 탭, 그리고 "Tomcat Catalina Log" 탭이 있음. 처음에는 그냥 서버 실행하면 먼저 활성화되는 Server 탭의 로그만 봤고, 거기에 있는 로그들이 전부인 줄 알았음. 누가 이걸 볼지는 모르겠지만, 나와 같은 실수를 최대한 빨리 고치기를 바라며 이 글을 쓰게 됐음 ! 서버 실행시, 로그 창 비교 Server 탭 얘는 현재 프로젝트에서 설정한 서버 구성과 관련된 정보를 보여줌. 서버의 이름, 상태(실행 중인지 중지된 상태인지), 호스트..
[Backend]Servlet의 Life Cycle(생명주기)
Servlet Life Cycle 서블릿 클래스는 javaSE에서의 class와는 다르게 main method가 없다. 즉 객체의 생성부터 사용(method call)의 주체가 사용자가 아닌 Servlet Container(Servlet Engine이라 함. 얘를 WAS라 함 우리는 WAS 중에 톰캣이라는 애를 씀)에게 있다. 클라이언트가 요청을 하게되면 Servlet Container는 Servlet 객체를 생성(한번만)하고, 초기화(한번만)하며 요청에 대한 처리(요청시마다 반복)를 하게 된다. 또한 Servlet객체가 필요없게 되면 제거하는 일까지 Contatiner가 담당하게 된다. (WAS가 쓰레드를 처리해줘서 가능). 웹페이지에 드가는 사람이 한명일 수는 없자너 서블릿의 생명주기 메서드 init..
[Backend]Eclipse에서 동적 웹 프로젝트 및 서블릿 생성하기
동적 웹 프로젝트(Dynamic Web Project)란? 말 그대로 동적인 웹 프로젝트이다. PHP, JSP, ASP, Servlet 등과 같은 파일들을 만드는 프로젝트이다! 그럼 이제 Eclipse에서 어떻게 생성을 하는지 볼게여 Dynamic Web Project 생성 방법 아 맞다 그리고 이거 동적 웹 프로젝트 생성할 때는 Perspective를 Java EE 버전으로 바꾸고 마우스 우클릭을 해야 이 사진처럼 보임!!! 서블릿(Servlet)이란? 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술 클라이언트가 어떤 요청을 하면 그에 대한 결과를 응답해주어야 하는데, 이런 역할을 하는 자바 프로그램이라고 보면 됨!!! src에는 ja..
[Backend]Web Architecture
Web Architecture 우리가 지금 사용하고 있는 웹 페이지는 이렇게 생겼음 클라이언트가 서버에 요청을 함 -> 그 요청이 괜찮은? 가능한? 요청인지 서버에 물어봄 -> 가능하면 서버에서 로직을 처리하고 데이터를 줌(응답) 뭐 이런식으로 굴러감 웹서버는 접속, 응답 처리 밖에 못해서 어플리케이션 서버(Web Container)가 필요함 어플리케이션 서버는 language 실행 가능(로직 처리) 요즘은 웹서버랑 어플리케이션 서버랑 같이 감(WAS라고 함) 우리는 톰캣이라는 WAS를 쓸 것임(WAS에는 웹로직, 웹스퀘어, 제우스 등 많은 서버가 있음) → 자바, 스프링은 얘네 다 쓸 수 있음) 순서? data get - 데이터를 받아라~ logic - 로직을 처리하기 위함 비즈니스 로직(데이터베이스 ..