Máy chủ web cần một JSP engine (container) để xử lý các trang JSP. JSP container chịu trách nhiệm chặn các yêu cầu đối với các trang JSP. Hướng dẫn này sử dụng Apache có JSP container tích hợp để hỗ trợ phát triển trang JSP.
JSP container làm việc cùng với máy chủ web để cung cấp môi trường runtime và các dịch vụ khác mà JSP cần. Nó hiểu cách xử lý các phần tử đặc biệt là một phần của JSP.
Sơ đồ sauแสดง vị trí của JSP container và các file JSP trong ứng dụng web.

Xử lý JSP
Các bước sau giải thích cách máy chủ web tạo trang web sử dụng JSP:
Giống như trang thông thường, trình duyệt gửi yêu cầu HTTP đến máy chủ web.
Máy chủ web nhận ra yêu cầu HTTP là cho trang JSP và chuyển tiếp nó đến JSP engine. Điều này được thực hiện bằng cách sử dụng URL hoặc trang JSP kết thúc bằng .jsp thay vì .html.
JSP engine tải trang JSP từ đĩa và chuyển đổi nó thành nội dung servlet. Quá trình chuyển đổi này rất đơn giản: toàn bộ văn bản mẫu (template text) được chuyển thành các câu lệnh
println()và tất cả các phần tử JSP được chuyển thành mã Java. Mã này triển khai hành vi động tương ứng của trang.JSP engine biên dịch servlet thành một lớp thực thi (executable class) và chuyển tiếp yêu cầu gốc đến servlet engine.
Một phần của máy chủ web gọi là servlet engine tải lớp Servlet và thực thi nó. Trong quá trình thực thi, servlet tạo ra đầu ra ở định dạng HTML. Đầu ra này được chuyển tiếp đến máy chủ web bởi servlet engine bên trong một phản hồi HTTP.
Máy chủ web chuyển tiếp phản hồi HTTP đến trình duyệt của bạn dưới dạng nội dung HTML tĩnh.
Cuối cùng, trình duyệt web xử lý trang HTML được tạo động bên trong phản hồi HTTP hoàn toàn giống như xử lý một trang tĩnh.
Tất cả các bước trên có thể thấy trong sơ đồ sau:

Thông thường, JSP engine kiểm tra xem servlet cho file JSP đã tồn tại chưa và xem ngày sửa đổi của JSP có cũ hơn servlet hay không. Nếu JSP cũ hơn servlet được tạo ra, JSP container giả định JSP chưa thay đổi và servlet đã tạo vẫn khớp với nội dung JSP. Điều này làm cho quy trình hiệu quả hơn so với các ngôn ngữ kịch bản khác (như PHP) và do đó nhanh hơn.
Về cơ bản, một trang JSP chỉ đơn giản là một cách khác để viết servlet mà không cần phải là chuyên gia lập trình Java. Trừ giai đoạn chuyển đổi, trang JSP được xử lý hoàn toàn như một servlet thông thường.