"Chào, Amigo!"

"Xin chào, Bilaabo! Hôm nay chúng ta làm gì?"

"Hôm nay tôi sẽ cho bạn biết cách cài đặt máy chủ web Tomcat."

Cài đặt và cấu hình Tomcat - 1

"Máy chủ web là gì? Máy chủ thông thường là gì?"

"Có một cách để các chương trình tương tác được gọi là mối quan hệ máy khách-máy chủ. Máy chủ phục vụ các yêu cầu của máy khách. Máy khách gửi yêu cầu của họ đến máy chủ và máy chủ sẽ đáp ứng chúng và trả về kết quả."

"Hãy tưởng tượng một nhân viên bán hàng phục vụ khách hàng trong một cửa hàng. Trong trường hợp này, nhân viên bán hàng thực sự là người phục vụ, khách hàng của cửa hàng là khách hàng và sản phẩm mà nhân viên bán hàng bán ra là kết quả của việc xử lý yêu cầu (kết quả công việc của người phục vụ) ."

"Nói cách khác, người phục vụ là người phục vụ các yêu cầu/đơn đặt hàng/nhu cầu của khách hàng, phải không?"

"Đúng."

"Được rồi, vậy máy chủ web là gì?"

"Máy chủ web là một chương trình phục vụ các yêu cầu trang từ trình duyệt của người dùng."

"Khi bạn nhập một URL cụ thể vào trình duyệt, yêu cầu sẽ chuyển đến máy chủ, máy chủ sẽ xử lý yêu cầu, tạo một trang web và gửi lại cho trình duyệt."

Cài đặt và cấu hình Tomcat - 2

"Máy chủ web là máy chủ. Trình duyệt là máy khách. URL là yêu cầu. Trang web là kết quả của quá trình xử lý yêu cầu."

"À. Tình hình đang dần trở nên rõ ràng hơn. Nói cách khác, máy chủ web là một chương trình (?) tạo ra các trang cho trình duyệt. Đúng không?"

"Đúng."

"Hãy lấy một URL thông thường:"

Phân tích cú pháp URL
http://codegym.cc/alpha/api/contacts ? _ _ _ _ userid=13&filter=none&page=3
Mô tả các phần của URL
codegym.cc  là  tên miền  tên (địa chỉ) duy nhất của một máy tính trên Internet
http  là  giao thức  để liên lạc giữa máy khách và máy chủ
alpha/api/contacts  là yêu cầu của máy chủ web hoặc yêu cầu đối với một trang web trên máy chủ
userid=13 &filter=none & page=3  là yêu cầu máy chủ web hoặc yêu cầu đối với một trang web trên máy chủ

"Xem đi. Chúng ta lấy một cái máy tính và kết nối nó với Internet."

"Sau đó, chúng tôi mua một tên miền cho nó."

"Sau đó, chúng tôi chạy một máy chủ web trên đó."

"Bây giờ bạn có thể gửi yêu cầu đến máy chủ web này từ bất kỳ trình duyệt nào bằng cách nhập URL có tên miền của nó."

"Tôi nghĩ rằng tôi hiểu."

"Tôi sẽ chia sẻ một phép loại suy để làm cho mọi thứ rõ ràng hơn một chút."

Phân tích cuộc hội thoại URL
Tiếng Việt : // Jason / đưa cho tôi thư mục ? số = 13
Mô tả các phần của URL
Jason  là tên duy nhất của một máy tính trên Internet
Tiếng Anh  là giao thức để giao tiếp giữa máy khách và máy chủ
chuyển cho tôi thư mục  là yêu cầu máy chủ web hoặc yêu cầu cho một trang web trên máy chủ
number=13  là một chuỗi có các tham số yêu cầu

"À. Điều đó thực sự rõ ràng hơn. Cảm ơn."

"Đó không phải là tất cả. Đôi khi một số máy chủ web chạy trên một máy tính. Để phân biệt chúng, chúng được đánh số."

"Hãy nghĩ về một miền như một tòa nhà. Nếu một gia đình sống trong tòa nhà, thì bạn sẽ viết một cái gì đó như «5 St. khi gửi thư cho họ."

"Bây giờ hãy tưởng tượng rằng một số gia đình sống trong tòa nhà."

"Giống như một tòa nhà chung cư?"

"Chính xác! Nó rất giống nhau. Cảm ơn vì sự tương đồng."

"Bên trong tòa nhà, có nhiều căn hộ. Một số căn hộ không có người ở. Một số bị máy chủ web chiếm dụng. Và khi bạn gửi yêu cầu đến máy chủ web, bạn cũng phải chỉ định số căn hộ. Trong một URL, số này được gọi là số Hải cảng."

"Ví dụ:"

http://codegym.cc:80/alpha/api/contacts ? _ _ _ _ userid=13&filter=none&page=3
http://codegym.cc:8080/alpha/api/contacts ? _ _ _ _ userid=13&filter=none&page=3
http://codegym.cc:443/alpha/api/contacts ? _ _ _ _ userid=13&filter=none&page=3

"Trên thực tế, tất cả các máy chủ đều là các tòa nhà chung cư. Và mỗi máy chủ có 65.000 căn hộ (cổng)."

"Tại sao lại là 65.000?"

"Hai byte được sử dụng để biểu thị số cổng. 65536 là giá trị số nguyên lớn nhất dài hai byte."

"Mỗi giao thức (http, https, ftp, ...) có cổng mặc định riêng."

"Nếu số căn hộ (cổng) không được chỉ định, thì cổng mặc định của giao thức sẽ được sử dụng."

"Nếu giao thức là http thì cổng là 80. Nếu giao thức là https thì cổng là 443, v.v."

"Nói cách khác, các mục sau đây là tương đương:"

URL Nó thực sự có nghĩa là gì
http://www.mail.google.com _ http://www.mail.google.com : 80
http://codegym.cc _ http://codegym.cc : 80
http://codegym.cc/alpha _ http://codegym.cc : 80 /alpha
https://codegym.cc/api?x _ https://codegym.cc : 443 /api?x

"Nếu cổng là 444, nhưng giao thức là https thì sao?"

"Tôi đã nói với bạn rồi. Nếu cổng không được chỉ định, thì nó được xác định dựa trên giao thức. Nếu nó được chỉ định, thì cổng được chỉ định sẽ được sử dụng."

"Tôi hiểu rồi."

"Bạn biết con người đôi khi sử dụng đại từ thay vì tên: tôi, bạn, anh ấy, …?"

"Ừ, nhưng con người vốn dĩ rất kỳ lạ. Tôi cố gắng không chú ý đến điều đó."

"Chà, máy tính cũng có tên miền nghĩa là 'tôi'. Đó là 'máy chủ lưu trữ'."

"Nếu bạn nhập localhost trong trình duyệt của mình, trình duyệt sẽ truy cập vào máy tính của bạn."

"Và nếu bạn đã cài đặt một máy chủ web, thì nó sẽ gửi một trang web tới trình duyệt."

"Thật tuyệt! Tôi muốn khởi động một máy chủ web và mở các trang trong trình duyệt."

"Hãy cho tôi biết cách làm điều đó, Bilaabo. Làm ơn!!! Bạn là bạn của tôi, phải không?"

"Bilaabo sẽ làm bất cứ điều gì cho một người bạn."

"Nghe này."

Bước 1
Cài đặt Bộ công cụ phát triển Java (JDK)
Kết quả
JDK đã được cài đặt

"Bilaabo, tôi là lập trình viên cấp 30. Tôi đã cài đặt JDK từ lâu rồi!"

"Tốt, vậy chúng ta tiếp tục đi."

Bước 2
Tải xuống Tomcat 9
Gợi ý 1:
Sử dụng Google
Gợi ý 2:
Trang web Apache Tomcat chính thức
Gợi ý 3 (liên kết trực tiếp cho người dùng Windows):
Tải xuống Apache Tomcat

"Hiểu rồi."

"Tuyệt vời."

Bước 3
Cài đặt Tomcat 9
Sử dụng cài đặt cài đặt mặc định.
Đừng thay đổi bất cứ điều gì.
Màn hình 3
Cài đặt và cấu hình Tomcat - 3
Màn hình 4
Cài đặt và cấu hình Tomcat - 4

"Ở đây bạn có thể đặt tên và cổng của máy chủ web. Mặc định là cổng 8080.
Đừng thay đổi bất cứ điều gì. Hãy để nguyên mọi thứ."

Màn hình 5
Cài đặt và cấu hình Tomcat - 5

Chỉ định thư mục cài đặt JDK

màn hình 6
Cài đặt và cấu hình Tomcat - 6
Màn hình 7
Cài đặt và cấu hình Tomcat - 7

"Yep. Tôi chỉ cần nhấp vào Tiếp theo và thế là xong."

"Tuyệt. Bây giờ bạn đã cài đặt và chạy một máy chủ web Tomcat 9, lắng nghe các yêu cầu trên cổng 8080. Đây là cổng tiêu chuẩn để phát triển phần mềm."

"Được rồi, tôi có Tomcat, nhưng làm thế nào tôi có thể viết một chương trình cho nó?"

"Tôi muốn nó tạo ra thứ gì đó thú vị—một loại trang web thú vị nào đó."

"OK, tôi sẽ cho bạn biết làm thế nào để làm điều đó sau một thời gian nghỉ ngắn."