JSP vs Servlets
Servlet là một thành phần phần mềm phía máy chủ được viết bằng Java và chạy trong môi trường vùng chứa tương thích được gọi là vùng chứa Servelt (như Apache Tomcat). Servlet chủ yếu được sử dụng trong việc triển khai các ứng dụng web tạo ra các trang web động. Tuy nhiên, chúng có thể tạo ra bất kỳ loại nội dung nào khác như XML, văn bản, hình ảnh, clip âm thanh, tệp PDF, Excel theo lập trình.
Một Servlet được viết để tạo một số HTML có thể trông như thế này:
public class MyServlet mở rộng HttpServlet {
protected void doGet (yêu cầu HttpServletRequest, phản hồi HttpServletResponse) ném ServletException, IOException {
PrintWriter w=response.getWriter ();
w.write (“”);
w.write (“”);
Ngày d=mới Ngày ();
w.write (d.toString ());
w.write (“”);
w.write (“”);
}
}
Đoạn mã trên chứa hỗn hợp mã nguồn HTML và Java. Như vậy không phải là rất dễ đọc và dễ bảo trì. JSP là viết tắt của JavaServer Pages cung cấp một giải pháp thay thế tốt hơn. Ví dụ: sau đây là một đoạn mã JSP dẫn đến kết quả đầu ra giống hệt nhau:
Tác giả trang web thấy JSP dễ viết và dễ bảo trì hơn. Tuy nhiên, các tệp JSP được dịch thành Servlet bởi một vùng chứa Servlet tại thời điểm các tệp JSP được truy cập lần đầu tiên. Tuy nhiên, các nhà viết luận lý kinh doanh thấy Servlet dễ làm việc hơn.
Một ứng dụng web nhận được yêu cầu sẽ kích hoạt việc thực thi một số logic nghiệp vụ và sau đó tạo ra một trang web kết quả làm phản hồi. Trong các ứng dụng web ngày nay, việc kiểm soát chu trình xử lý yêu cầu tổng thể chủ yếu do các Servlet đảm nhận. Là giai đoạn cuối cùng trong quá trình xử lý một yêu cầu, một Servlet như vậy thường giao trách nhiệm tạo HTML động cho JSP.