"여기 있습니다. 요청에 따라 이제 첫 번째 웹 서버를 작성하는 방법을 알려 드리겠습니다."

"웹 서버는 운영 체제와 같습니다. 그 자체로는 가치가 없습니다. 특별한 웹 프로그램(서블릿)을 실행할 수 있기 때문에 가치가 있습니다. "

"이 서블릿은 사용자로부터 오는 요청을 처리합니다."

"요청을 어떻게 처리합니까? 웹 서버 내에서 프로그램을 어떻게 실행합니까?"

"자신의 서블릿을 작성하려면 클래스가 HttpServlet 클래스를 상속해야 합니다. 그런 다음 doGet() 및 doPost() 메서드를 구현합니다. 사용자로부터 요청이 오면 웹 서버는 서블릿 객체 중 하나를 생성하고 doGet()을 호출합니다. 또는 브라우저에서 오는 요청 유형에 따라 doPost() 메서드를 호출합니다."

"하지만 내 프로그램이 어떻게 웹 서버에 들어가나요?"

"간단합니다. 프로그램을 작성하고 컴파일한 다음 Tomcat을 설치한 디렉토리의 특수 폴더에 넣습니다."

"서블릿은 크고 흥미롭지만 별개의 주제입니다. 그래서 오늘은 이에 대해 설명하지 않겠습니다. 다른 것에 대해 조금 말씀드리겠습니다."

"JSP는 매우 흥미로운 서블릿 유형입니다. PHP와 비슷합니다."

"JSP를 사용하여 가능한 가장 간단한 웹 프로그램을 작성하고 실행해 봅시다."

"하자! 준비됐어."

"그럼 시작하겠습니다."

1단계: 새 웹 프로젝트 만들기

간단한 웹 애플리케이션 실행 - 1

"완료."

2단계: 모듈 유형을 Java 모듈로 설정합니다. 애플리케이션 유형을 웹 애플리케이션으로 설정하고 JDK를 지정합니다.

간단한 웹 애플리케이션 실행 - 2

"완료."

3단계: 프로젝트 이름 지정

간단한 웹 애플리케이션 실행 - 3

"완료."

"빈 새 프로젝트가 표시되어야 합니다."

"거의 비어 있습니다. index.jsp라는 파일이 하나 포함됩니다. 찾으십시오."

4단계: JSP 파일 찾기

간단한 웹 애플리케이션 실행 - 4

"그것을 발견."

"좋습니다. 여기에서 서블릿의 코드를 작성할 수 있습니다."

"하지만 먼저 IntelliJ IDEA를 조금 구성해 봅시다."

"IntelliJ IDEA에서 Tomcat의 서블릿을 직접 실행할 수 있습니다. 필요한 경우 디버깅할 수 있습니다. 기본적으로 매우 편리하고 훌륭합니다. 때가 되면 감사하게 될 것입니다."

"나는 당신을 믿습니다. 그래서 다음은 무엇입니까?"

"우리는 Tomcat에서 웹 모듈(애플리케이션)을 실행하는 방법을 IntelliJ IDEA에 '가르칠' 것입니다."

5단계: 메뉴에서 '구성 편집'을 선택합니다.

간단한 웹 애플리케이션 실행 - 5

"완료."

6단계: 더하기 기호를 클릭하여 새 구성 만들기

간단한 웹 애플리케이션 실행 - 6

"완료."

7단계: 실행할 항목 표시(Tomcat 서버, 로컬)

간단한 웹 애플리케이션 실행 - 7

"빨간색으로 표시된 이름 필드에 구성 이름을 지정하십시오."

"Tomcat이 서블릿을 시작할 포트는 녹색으로 표시됩니다."

"또한 IntelliJ IDEA에 Tomcat이 있는 위치를 알려야 합니다. Configure 버튼을 클릭하세요..."

8단계: 실행 구성 만들기

간단한 웹 애플리케이션 실행 - 8

"이제 Tomcat이 있는 폴더를 선택해야 합니다."

9단계: Tomcat의 위치 지정

간단한 웹 애플리케이션 실행 - 9 간단한 웹 애플리케이션 실행 - 10 간단한 웹 애플리케이션 실행 - 11

"완료."

"당신은 다음과 같은 것을 얻어야 합니다:"

10단계: 결과 구성

간단한 웹 애플리케이션 실행 - 12

"이제 프로젝트를 Tomcat에 연결해야 합니다."

해야 할 일이 너무 많습니다. 이렇게 자세한 지침이 있어서 다행입니다."

"당연하지! 나는 내 친구를 위해 노력한다."

"이제 수정 버튼을 누르면 IDEA가 자체적으로 모든 작업을 수행합니다."

11단계: IDEA는 프로젝트와 Tomcat을 연결합니다.

간단한 웹 애플리케이션 실행 - 13

"완료."

"좋습니다. 댓글 하나 더. 포트 8080은 이미 사용 중일 것입니다. 결국 Tomcat은 설치 직후 실행되기 시작했습니다."

"IntelliJ IDEA는 실행 중인 프로젝트에 서블릿을 추가할 수 있지만 단순성을 위해 지금은 매번 새 Tomcat 서버를 시작합니다."

"그래서 여러 Tomcat을 실행하게 됩니까?"

"네. 그리고 각각의 포트가 필요합니다. 따라서 프로젝트 설정에서 포트 8080을 포트 8888로 변경하겠습니다."

"48. 좋아."

12단계: 포트를 8888로 변경

간단한 웹 애플리케이션 실행 - 14

"완료."

"좋습니다. 설정은 끝났습니다."

"그래서, 다음은 무엇입니까?"

"이제 index.jsp 파일을 약간 변경하겠습니다."

"예를 들어 "갑각류에게 힘을!"

13단계: index.jsp 변경

간단한 웹 애플리케이션 실행 - 15

"아니, 차라리 «로봇에게 힘을!»이라고 쓰겠어!"

"좋아. 이제 할 일이 조금 남았어."

14단계: 서블릿 및 Tomcat 실행

간단한 웹 애플리케이션 실행 - 16

"Tomcat 로그 및 스택 추적이 표시되어야 합니다. 로그에 오류가 없어야 합니다."

"이 같은:"

15단계 - Tomcat 로그

간단한 웹 애플리케이션 실행 - 17

"동시에 IDEA는 서블릿에 대한 URL이 있는 브라우저를 열어야 합니다."

"당신은 다음과 같은 것을 얻어야 합니다:"

16단계: index.jsp 변경

간단한 웹 애플리케이션 실행 - 18

"그래. 그게 내가 가진거야. 멋지다!"

"그리고 이제 브라우저에 다음 URL을 입력하십시오."

http://localhost:8888/index.jsp

"아무것도 바뀌지 않았다."

"그런 말 하지마."

17단계: index.jsp 변경

간단한 웹 애플리케이션 실행 - 19

"이제 브라우저에 IntelliJ IDEA에서 본 index.jsp 파일이 표시됩니다."

"내가 바꾼 거?"

"예."

"그러나 브라우저의 요청에 도메인만 지정되고 나머지 요청에는 지정되지 않으면 기본 핸들러가 호출됩니다. 우리의 경우 이것은 index.jsp입니다."

" index.jsp , apple.jsp , google.jsp 의 세 가지 파일이 있다고 가정합니다 . 작동 방식은 다음과 같습니다."

요구 응답
http://로컬 호스트:8888 index.jsp
http://로컬호스트:8888/ index.jsp
http://localhost:8888/index.jsp index.jsp
http://localhost:8888/apple.jsp apple.jsp
http://localhost:8888/ samsung.jsp 오류 메시지: 서블릿을 찾을 수 없음
http://localhost:8888/google.jsp google.jsp
http://localhost:8888/ 인덱스 오류 메시지: 서블릿을 찾을 수 없음

"나는 이해."

"Bilaabo, 당신은 오랫동안 JSP가 훌륭하다고 말해왔습니다. 그러나 JSP는 일반 HTML 페이지와 매우 유사합니다. 모든 것이 정확히 동일합니다."

"음, 전부는 아닙니다. JSP에 다음 텍스트를 추가해 보십시오."

JSP 코드
<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<html>
<head>
<title>Amigo says hi</title>
</head>
<body>
<%--This is still HTML--%>
<%
// But I can write Java code here

String s = "Power to robots!";
for(int i=0; i<10; i++)
{
 out.println(s);
 out.println("<br>");
}

%>
<%--and this is HTML again--%>
</body>
</html>

"JSP 페이지에 Java 코드를 삽입하면 실행됩니다!

"JSP 페이지의 Java 코드는 스크립틀릿이라고 하며 <% 및 %> 태그로 둘러싸여 있습니다."

"워."

"좋아. 내 자신의 JSP 페이지 몇 개를 작성할게."

"고마워요, 빌라보."

"그리고 고마워요, 친구!"