Để deploy một ứng dụng Java web lên một Java Server Runtime bất kỳ, thông thường chúng ta cần phải package nó thành một tập tin .war file, sau đó thì copy tập tin này vào một thư mục được chỉ định của Java Server Runtime. Java Server Runtime khi start sẽ tự động deploy ứng dụng cho chúng ta. Apache Tomcat là một Java Server Runtime và nó cũng không ngoại lệ. Trong bài viết này, mình sẽ hướng dẫn các bạn làm thế nào để deploy ứng dụng Java web lên Apache Tomcat các bạn nhé!
Đầu tiên, mình sẽ tạo mới một Spring MVC Maven project để làm ví dụ:
Các bạn có thể chạy ứng dụng ví dụ này lên với Maven sử dụng Eclipse Jetty như mình đã đề cập trong bài viết Tạo ứng dụng Spring MVC sử dụng Maven
Để deploy ứng dụng này với Apache Tomcat, các bạn cần phải biết version nào của Apache Tomcat phù hợp với ứng dụng bằng cách dựa vào thông tin Java version và Jakarta EE version mà ứng dụng đang sử dụng.
Ứng dụng ví dụ của mình đang sử dụng Java 17 và Spring framework 6.x với Jakarta EE version 9 nên Apache Tomcat version mà các bạn cần sử dụng là 10.x trở lên. Các bạn có thể tham khảo thêm ở đây để biết cách cài đặt Apache Tomcat các bạn nhé.
Mình đã cài đặt Apache Tomcat rồi:
Bây giờ, mình sẽ sử dụng command “mvn package” để build source code của ứng dụng thành tập tin .war file.
Để deploy ứng dụng ví dụ, mình sẽ copy tập tin springmvc-0.0.1-SNAPSHOT.war này vào thư mục webapps của thư mục Apache Tomcat. Các bạn sẽ thấy Apache Tomcat tự động deploy ứng dụng như sau:
Như các bạn thấy, một thư mục cùng tên với tên của tập tin .war file đã được tạo mới. Nội dung của thư mục này được extract từ tập tin .war file đó các bạn!
Chúng ta truy cập đến trang chủ của Apache Tomcat sử dụng địa chỉ http://localhost:8080/, thế nhưng đối với ứng dụng thì chúng ta cần thêm tên thư mục vừa được thêm mới để có thể truy cập đến ứng dụng. Ví dụ mình có thể truy cập đến ứng dụng của mình sử dụng địa chỉ http://localhost:8080/springmvc-0.0.1-SNAPSHOT/, kết quả của mình như sau: