Chúng ta thường sử dụng các Java server runtime để chạy các ứng dụng Java web như Tomcat, Jetty, … Từ Java version 18 thì mặc định Java cũng hỗ trợ chúng ta có thể chạy một server runtime sử dụng command jwebserver. Mặc định, command jwebserver sẽ chạy một web server với địa chỉ http://127.0.0.1:8000/ và khi các bạn đi đến địa chỉ này, nó sẽ hiển thị danh sách thư mục, tập tin ở thư mục mà bạn đã chạy command này.
Ví dụ của mình như sau:
Kết quả:
Có bốn option mà các bạn có thể sử dụng để thay đổi địa chỉ IP mà server sẽ chạy (option -b), port (option -p), thư mục root của server (option -d) và output log format (option -o). Output log format có thể là none, info, verbose, mặc định là info.
Ví dụ mình có thể chạy command như sau:
1 |
jwebserver -b localhost -d /Users/khanh/Documents/code/huongdanjava.com/ -o verbose |
Kết quả:
Khi request tới http://127.0.0.1:8000/, các bạn sẽ thấy rất nhiều dòng log được hiển thị như sau:
Đó là bởi vì mình đã sử dụng output log format là verbose đó các bạn!
Cũng phải nói với các bạn rằng, web server chạy bằng command jwebserver này hiện tại vẫn còn nhiều hạn chế. Nó chỉ hỗ trợ HTTP/1.1, chưa support HTTPS và chỉ có GET và HEAD HTTP method được hỗ trợ thôi nha các bạn!