Trong bài này tôi sẽ hướng dẫn các bạn cài đặt, cấu hình Tomcat Server và triển khai ứng dụng Jersey REST web service lên Tomcat Server.
Cài đặt và cấu hình Tomcat Server
Tomcat là một phần mềm mã nguồn mở được cung cấp bởi Apache. Tomcat là một ứng dụng máy chủ (Application Server). Tomcat nổi tiếng vì gọn nhẹ và thường được sử dụng trong quá trình phát triển một ứng Web trên nền tảng Java Servlet.
Tomcat được sử dụng để triển khai các ứng dụng Java Web trong thực tế và hoàn toàn có thể tin tưởng vào sự ổn định của nó.
Trong phần tiếp theo tôi sẽ hướng dẫn bạn cài đặt và cấu hình Tomcat, với hệ điều hành Windows, Linux.
Download Tomcat
Các bạn có thể download phiên bản mới nhất của Tomcat là 9.x tại đây: https://tomcat.apache.org/download-90.cgi
Lựa chọn tải về file zip, nó phù hợp cho tất cả các hệ điều hành khác nhau ( Windows, Linux, …).
Cài đặt Tomcat
Sau khi bạn download được 1 file zip, hãy giản nén nó ra một thư mục nào đó.
Để chạy được Tomcat, máy tính của bạn phải cài đặt Java >= 8 và cấu hình vị trí Java cho Tomcat.
Mở file startup.bat nằm trong thư mục bin của Tomcat. (Với hệ điều hành Linux/Ubuntu sẽ là file startup.sh). Nếu bạn đã cấu hình biến môi trường JAVA_HOME thì có thể bỏ qua bước này.
Thêm vào một đoạn cấu hình:
# Với Windows set JAVA_HOME="C:\Program Files\Java\jdk1.8.0_152" # Với Linux/Ubuntu JAVA_HOME="/usr/lib/jvm/open-jdk"
Tiếp theo bạn cần cấu hình các user được phép sử dụng Tomcat. Mở file tomcat-users.xml trong thư mục conf của Tomcat:
Tomcat đã định nghĩa định nghĩa trước 4 vai trò (role) sau:
- manager-gui : allows access to the HTML GUI and the status pages.
- manager-script : allows access to the text interface and the status pages.
- manager-jmx : allows access to the JMX proxy and the status pages.
- manager-status : allows access to the status pages only.
Một user có thể có một hoặc nhiều vai trò. Bây giờ tôi sẽ khai báo một user có username là “gpcoder” và password là “gpcoder-pwd” và có 4 vai trò trên (mỗi vai trò phân cách nhau bởi dấu phẩy).
<role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="gpcoder" password="gpcoder-pwd" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
Cấu hình port
Tomcat mặc định sử dụng port 8080, nếu bạn muốn sử dụng port khác có thể mở file server.xml trong thư mục conf của Tomat.
Cấu hình charset mặc định (UTF-8)
Đôi khi bạn triển khai một ứng dụng lên Tomcat, nhưng UTF-8 không làm việc. Bạn có thể cấu hình UTF-8 là charset mặc định choTomcat.
Mở file catalina.bat trong thư mục bin của Tomcat (Hoặc catalina.sh nếu bạn đang sử dụng hệ điều hành Linux/Ubuntu). Thêm vào đoạn cấu hình sau:
# Với Windows set JAVA_OPTS=-Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 # Với Linux/Ubuntu JAVA_OPTS=-Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8
Chạy Tomcat
Để chạy Tomcat, Double click chuột vào startup.bat trong thư mục bin của Tomcat (hoặc startup.sh nếu bạn sử dụng hệ điều hành Linux/Ubuntu).
Trên trình duyệt, truy cập vào địa chỉ: http://localhost:8080
Mặc định có một vài ứng dụng đã được triển khai sẵn trên Tomcat. Trong đó ứng dụng /manager (Tomcat Manager Application) là quan trọng nhất, nó giúp bạn quản lý Tomcat. Bạn có thể truy cập vào nó bằng cách click vào button Manager App hoặc gõ trực tiếp link: http://localhost:8080/manager
Tomcat yêu cầu bạn phải đăng nhập. Hãy đăng nhập với username/password đã khai báo ở bước trên.
Nếu bạn không nhập đúng tài khoản, bạn sẽ nhận được thông báo lỗi như sau:
Nếu truy cập thành công, bạn sẽ thấy giao diện sau:
Các ứng dụng khác bạn có thể gỡ bỏ (Undeploy) nếu thấy không cần thiết sử dụng.
Ứng dụng / (Welcome to Tomcat) đang sử dụng Context-Path mặc định. Bạn có thể Undeploy nó, để sử dụng Context-Path mặc định cho một ứng dụng khác.
Triển khai ứng dụng Jersey REST web service lên Tomcat
Đóng gói web project
Tôi sẽ sử dụng lại project đã tạo ở bài viết “Làm thế nào để Test Jersey Rest API với JUnit?” để hướng dẫn các bạn đóng gói project.
Click chuột phải lên project -> Run As -> Maven install.
Chờ Eclipse build xong:
Hoặc sử dụng command line: mvn clean install tại thư mục gốc của project (thư mục chứa file pom.xml).
Sau khi đã build success, các bạn sẽ có được một file war tại thư mục target của project.
Triển khai ứng dụng lên Tomcat
Mình muốn triển khai ứng dụng lên Context-Path / , nên cần Undeploy ứng dụng đã cài tại Context-Path này.
Tiếp theo, chúng ta sẽ tiến hành deploy ứng dụng lên Context-Path / :
- Nhập Context-Path: /
- Nhập đường dẫn đầy đủ tới file .war hoặc upload file .war
- Nhấn nút Deploy.
Ứng dụng đã được Deploy lên Tomcat:
Bây giờ mình có thể test API tại địa chỉ: http://localhost:8090/api/orders/1
Bài viết đến đây là hết. Cám ơn các bạn đã quan tâm và theo dõi!