"Tôi đây. Theo yêu cầu, bây giờ tôi sẽ cho bạn biết cách viết máy chủ web đầu tiên của bạn."

"Máy chủ web giống như một hệ điều hành. Bản thân nó không có giá trị. Nó có giá trị vì bạn có thể chạy các chương trình web đặc biệt (servlet) trên đó. "

"Đó là những servlet xử lý các yêu cầu đến từ người dùng."

"Họ xử lý các yêu cầu như thế nào? Làm cách nào để tôi chạy chương trình của mình bên trong máy chủ web?"

"Để viết servlet của riêng bạn, lớp của bạn phải kế thừa lớp HttpServlet. Sau đó triển khai các phương thức doGet() và doPost() của nó. Khi một yêu cầu đến từ người dùng, máy chủ web sẽ tạo một trong các đối tượng servlet của bạn và gọi doGet() của nó hoặc nó gọi phương thức doPost(), tùy thuộc vào loại yêu cầu đến từ trình duyệt."

"Nhưng làm thế nào để chương trình của tôi vào được máy chủ web?"

"Đơn giản thôi. Bạn viết chương trình, biên dịch nó, và đặt nó vào một thư mục đặc biệt trong thư mục mà bạn đã cài đặt Tomcat."

"Servlets là một chủ đề lớn và thú vị, nhưng riêng biệt. Vì vậy, hôm nay tôi sẽ không giải thích điều đó với bạn. Tôi sẽ nói với bạn một chút về điều gì đó khác."

"JSP là một loại servlet rất thú vị được gọi là. Chúng giống như PHP."

"Hãy viết và chạy chương trình web đơn giản nhất có thể bằng JSP."

"Hãy làm đi! Tôi đã sẵn sàng."

"Vậy chúng ta bắt đầu đi."

Bước 1: Tạo một dự án web mới

Chạy một ứng dụng web đơn giản - 1

"Xong."

Bước 2: Đặt loại mô-đun thành Mô-đun Java. Đặt loại ứng dụng thành Ứng dụng web và chỉ định JDK.

Chạy một ứng dụng web đơn giản - 2

"Xong."

Bước 3: Đặt tên cho dự án

Chạy một ứng dụng web đơn giản - 3

"Xong."

"Bạn sẽ thấy một dự án trống mới."

"Hầu như trống rỗng. Nó sẽ bao gồm một tệp có tên là index.jsp. Hãy tìm nó."

Bước 4: Tìm tệp JSP

Chạy một ứng dụng web đơn giản - 4

"Tìm thấy nó."

"Tuyệt. Đây là nơi chúng ta có thể viết mã của servlet."

"Nhưng trước tiên hãy cấu hình IntelliJ IDEA một chút."

"Bạn có thể chạy các servlet trong Tomcat trực tiếp từ IntelliJ IDEA. Và gỡ lỗi chúng, nếu cần. Về cơ bản, nó cực kỳ tiện lợi và tuyệt vời. Bạn sẽ đánh giá cao nó khi đến lúc."

"Tôi tin bạn. Vậy tiếp theo là gì?"

"Chúng tôi sẽ 'dạy' IntelliJ IDEA cách chạy mô-đun web (ứng dụng của chúng tôi) trong Tomcat."

Bước 5: Chọn 'Chỉnh sửa cấu hình' trong menu

Chạy một ứng dụng web đơn giản - 5

"Xong."

Bước 6: Tạo cấu hình mới bằng cách nhấp vào dấu cộng

Chạy một ứng dụng web đơn giản - 6

"Xong."

Bước 7: Cho biết những gì sẽ chạy (Máy chủ Tomcat, Cục bộ)

Chạy một ứng dụng web đơn giản - 7

"Chỉ định tên cho cấu hình trong trường Tên, được đánh dấu màu đỏ."

"Cổng mà Tomcat sẽ khởi chạy servlet được biểu thị bằng màu xanh lục."

"Chúng tôi cũng cần cho IntelliJ IDEA biết vị trí của Tomcat. Nhấp vào nút Cấu hình..."

Bước 8: Tạo cấu hình chạy

Chạy một ứng dụng web đơn giản - 8

"Bây giờ bạn cần chọn thư mục chứa Tomcat:"

Bước 9: Chỉ định vị trí của Tomcat

Chạy một ứng dụng web đơn giản - 9 Chạy một ứng dụng web đơn giản - 10 Chạy một ứng dụng web đơn giản - 11

"Xong."

"Bạn sẽ nhận được một cái gì đó như thế này:"

Bước 10: Kết quả cấu hình

Chạy một ứng dụng web đơn giản - 12

"Bây giờ chúng ta cần kết nối dự án của mình với Tomcat."

Có quá nhiều việc phải làm. Thật tốt là tôi đã có những hướng dẫn chi tiết như vậy."

"Bạn đặt cược! Tôi cố gắng cho bạn của tôi."

"Bây giờ hãy nhấn nút Fix và IDEA sẽ tự làm mọi thứ."

Bước 11: IDEA kết nối dự án và Tomcat

Chạy một ứng dụng web đơn giản - 13

"Xong."

"Tuyệt vời. Thêm một nhận xét. Cổng 8080 có lẽ đã bị chiếm dụng. Rốt cuộc, Tomcat bắt đầu chạy ngay sau khi cài đặt."

"IntelliJ IDEA có thể thêm các servlet vào một dự án đang chạy, nhưng để đơn giản, hiện tại, nó sẽ khởi động một máy chủ Tomcat mới mỗi lần."

"Vì vậy, chúng tôi sẽ có một số Tomcats chạy?"

"Yep. Và mỗi cái cần có cổng riêng. Vì vậy, hãy thay đổi cổng 8080 thành cổng 8888 trong cài đặt dự án."

"4 phần tám. Tôi thích nó."

Bước 12: Đổi port thành 8888

Chạy một ứng dụng web đơn giản - 14

"Xong."

"Tuyệt. Chúng ta đã hoàn tất cài đặt."

"Vậy, tiếp theo là gì?"

"Bây giờ, hãy thay đổi tệp index.jsp của chúng ta một chút"

"Viết gì đó vào đó, ví dụ như, «Sức mạnh cho động vật giáp xác!»"

Bước 13: Thay đổi index.jsp

Chạy một ứng dụng web đơn giản - 15

"Không, tôi muốn viết «Sức mạnh cho robot!»"

"Tuyệt. Bây giờ chỉ còn một chút việc phải làm."

Bước 14: Chạy servlet và Tomcat

Chạy một ứng dụng web đơn giản - 16

"Nhật ký Tomcat và dấu vết ngăn xếp sẽ hiển thị. Nhật ký sẽ không có lỗi."

"Một cái gì đó như thế này:"

Bước 15 - Nhật ký Tomcat

Chạy một ứng dụng web đơn giản - 17

"Đồng thời, IDEA sẽ mở trình duyệt có URL tới servlet của bạn."

"Bạn sẽ nhận được một cái gì đó như thế này:"

Bước 16: Thay đổi index.jsp

Chạy một ứng dụng web đơn giản - 18

"Yep. Đó là những gì tôi có. Tuyệt!"

"Và bây giờ hãy nhập URL sau vào trình duyệt:"

http://localhost:8888/index.jsp

"Không có gì thay đổi."

"Đừng nói vậy."

Bước 17: Thay đổi index.jsp

Chạy một ứng dụng web đơn giản - 19

"Bây giờ trình duyệt hiển thị tệp index.jsp mà bạn đã thấy trong IntelliJ IDEA."

"Cái tôi đã đổi?"

"Đúng."

"Nhưng nếu chỉ tên miền được chỉ định trong yêu cầu của trình duyệt chứ không phải phần còn lại của yêu cầu, thì trình xử lý mặc định sẽ được gọi. Trong trường hợp của chúng tôi, đây là index.jsp."

"Giả sử bạn có ba tệp: index.jsp , apple.jsp , google.jsp . Đây là cách mọi thứ sẽ hoạt động:"

Lời yêu cầu Phản ứng
http://localhost:8888 index.jsp
http://localhost:8888/ index.jsp
http://localhost:8888/index.jsp index.jsp
http://localhost:8888/apple.jsp apple.jsp
http://localhost:8888/ samsung.jsp Thông báo lỗi: Không tìm thấy Servlet
http://localhost:8888/google.jsp google.jsp
http://localhost:8888/ chỉ mục Thông báo lỗi: Không tìm thấy Servlet

"Tôi hiểu điều đó."

"Bilaabo, lâu nay bạn vẫn nói rằng JSP rất tuyệt vời. Nhưng chúng rất giống với các trang HTML thông thường. Mọi thứ hoàn toàn giống nhau."

"Chà, không phải tất cả. Hãy thử thêm văn bản sau vào JSP:"

mã 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>

"Bạn có thể nhúng mã Java vào trong một trang JSP, và nó sẽ chạy!

"Mã Java trong một trang JSP được gọi là scriptlet và được đặt trong các thẻ <% và %>"

"Ái chà."

"OK. Tôi sẽ đi viết một vài trang JSP của riêng tôi."

"Cảm ơn rất nhiều, Bilaabo."

"Và cảm ơn bạn, bạn của tôi!"