Tomcat là gì? Tại sao Spring Boot lại sử dụng tomcat theo mặc định?

Apache Tomcat là một Java servlet container mã nguồn mở triển khai một số API được Java định nghĩa như Java Servlet, JavaServer Pages (JSP) và WebSocket.

Tomcat được phát hành lần đầu tiên vào năm 1998, Tomcat bắt đầu với mục tiêu trở thành một reference implementation (nghĩa là tomcat sẽ triển khai toàn bộ các yêu cầu từ các API mà nó tham chiếu đến, ở đây là Java Servlet và JSP) cho Java Servlet và JSP. Mặc dù giờ đây là không còn là một reference implementation của một trong 2 công nghệ này, Tomcat vẫn là một Java Server được sử dụng rỗng rãi nhất với khả năng vận hành và mở rộng tuyệt vời của nó. 

Tomcat là loại máy chủ gì?

Hệ sinh thái Java hỗ trợ một số loại máy chủ, vì vậy hãy phân biệt chúng và xem Tomcat phù hợp với những loại nào:

  • Servlet container – một trình triển khi của Java Servlet sử dụng để lưu trữ cho các ứng dụng Java Servlet.
  • Web server – là một máy chỉ được thiết kế để cung cấp các tập tin từ máy chủ cho bên ngoài giống với Apache.
  • Java enterprise application server là một triển khai toàn diện của Java EE (nay là Jakarta EE).

Về cơ bản, Tomcat là một servlet và JSP container. Một Java servlet đóng gói code và logic nghiệp vụ và xác định cách các request và response nên được xử lý trong một máy chủ Java. JSP là một công nghệ server-side render dùng để phát triển các trang web thông qua các trang servlet và JSP, Tomcat sẽ xử lý phần định tuyến.

Tomcat cũng chứa công cụ Coyote, là một máy chủ web. Nhờ có Coyote, chúng ta có thể mở rộng Tomcat để có thể triển khai Java enterprise, capabilities và cả Java Persistenct API (JPA). Tomcat cũng có một phiên bản mở rộng, được gọi là TomEE, bao gồm nhiều tính năng cho doanh nghiệp hơn.

Tải và cài đặt Tomcat trên Win 10

Có nhiều phiên bản của Tomcat với các tính năng khác nhau trên trang chủ của nó. Bạn có thể chọn phiên bản theo yêu cầu của mình, nhưng khuyên bạn nên tải xuống phiên bản ổn định mới nhất.

Bước 1: Vào trang chủ của Tomcat https://tomcat.apache.org/download-90.cgi#9.0.38

Bước 2: Tải xuống và bắt đầu quá trình cài đặt

Bước 3: Khi quá trình cài đặt bắt đầu, chọn nút Next như hình bên dưới:

Bước 4: Chọn vào Button có tiều đề I Agree

Bước 5: Chọn Next.

Bước 6: Nhập username và password và chọn Next.

Bước 7: chọn tiếp Next.

Bước 8: Chọn nút Install

Đợi cho quá trình cài đặt hoàn tất, sau đó chọn nút Finish. Lưu ý nó có thể yêu cầu bạn khởi động lại máy.

Bây giờ bạn có thể khởi động Tomcat bằng cách nhấp vào biểu tượng của nó, và bạn có thể start và stop server thông qua giao diện:

 

Ưu điểm của Tomcat

Tomcat có một số ưu điểm nổi bật như:

  • Open-source – Nghĩa là mọi người có thể tải và cài đặt miễn phí, điều này giúp các developer giảm đi phần chi phí đáng kể khi phát triển dự án.
  • Gọn nhẹ – Nó thực sự là một ứng dụng rất nhẹ, cung cấp tất cả các chức năng cần thiết và tiêu chuẩn cần thiết để vận hành một máy chủ, có nghĩa là nó cho tốc độ tải và đăng ký lại rất nhanh so với các lựa chọn thay thế khác nhau của nó.
  • Linh hoạt – Tomcat cung cấp các tuỳ chọn tuỳ chỉnh, khả năng mở rộng, tính linh hoạt do vậy người dùng có thể chạy nó theo bất kỳ cách nào mà họ muốn mà không có một vấn đề gì xảy ra.
  • Ổn định – Nó là một trong những nền tảng ổn định nhất hiện nay để xây dựng và triển khai các ứng dụng trên máy chủ. Chạy độc lập với cài đặt Apache, do đó nếu có lỗi với Tomcat khiến nó ngừng hoạt động, phần còn lại của máy chủ vẫn sẽ hoạt động bình thường.
  • Tài liệuNó có sẵn một số tài liệu tuyệt vời, bao gồm một loạt các hướng dẫn trực tuyến có sẵn miễn phí mà người dùng có thể tải xuống hoặc xem trực tiếp trực tuyến, điều này làm cho nó trở thành một trong những lựa chọn tốt nhất để đáp ứng yêu cầu của một máy chủ ứng dụng trong hầu hết mọi java-web-application.

Nhược điểm của Tomcat

  • Nó không nhanh bằng Apache nếu chúng ta đang làm việc với các trang tĩnh.
  • Nó có một số vấn đề như rò rĩ bộ nhớ.
  • Một vài vấn đề với việc cài đặt SSL.
  • Giao diện không thân thiện với người dùng.

Spring Boot – Tomcat

Khi bạn chạy ứng dụng của mình, Spring Boot sẽ tự động tìm kiếm và nếu bạn có Spring MVC controller, nó sẽ tự động nhúng Apache Tomcat 7 vào theo mặc định. Đây là một minh chứng cho thấy Tomcat hiện tại vẫn còn rất hữu dụng nên Spring Boot mới đưa nó vào vào làm Servlet container mặc định.

Mặc định Spring Boot sẽ sử dụng Tomcat 7, nếu bạn muốn sử dụng các phiên bản khác chẳng hạn như Tomcat 8 thì chỉ việc cấu hình trong maven thông qua thuộc tính tomcat.version.

<properties>
  <tomcat.version>8.0.3</tomcat.version>
</properties>

Nguồn tham khảo

https://en.wikipedia.org/wiki/Reference_implementation

https://www.javatpoint.com/what-is-tomcat

https://www.infoworld.com/article/3510460/what-is-apache-tomcat-the-original-java-servlet-container.html

https://spring.io/blog/2014/03/07/deploying-spring-boot-applications

 

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x