"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
"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.
"Xong."
Bước 3: Đặt tên cho dự án
"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
"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
"Xong."
Bước 6: Tạo cấu hình mới bằng cách nhấp vào dấu cộng
"Xong."
Bước 7: Cho biết những gì sẽ chạy (Máy chủ Tomcat, Cục bộ)
"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
"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
"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
"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
"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
"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
"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
"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
"Đồ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
"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
"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:"
<%@ 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!"
GO TO FULL VERSION