Tôi đã viết một ứng dụng Java độc lập mà tôi đã đóng gói vào một tệp jar có một số đối số dòng lệnh, thực hiện một số tính toán hardcore và sau đó ghi kết quả vào tệp đầu ra cho luồng đầu ra mặc định trỏ đến nơi tệp có kết quả là.Chạy Java trên Máy chủ Web
Tôi hiện muốn tạo trang web về công nghệ này. Ý tưởng là người dùng có thể điền vào biểu mẫu html, đăng lên trang web, sau đó sẽ gọi ứng dụng Java, phân tích cú pháp kết quả từ ứng dụng Java và hiển thị nó cho người dùng.
Hiện nay, tôi đang sử dụng một chút PHP để thu thập dữ liệu từ các bài yêu cầu, và sau đó chỉ cần sử dụng một cuộc gọi exec:
java -jar -Xmx128m myapplication.jar command-line-arguments
Đây có phải là xấu?
Tôi có hàng nghìn lượt truy cập vào trang web mỗi ngày và mỗi lần thực thi ứng dụng Java có thể mất 30 giây đến một phút, vì vậy tôi không muốn quá kém hiệu quả. Nó có vẻ như sẽ có một giải pháp tốt hơn là phải gọi Java trực tiếp cho mọi yêu cầu.
Tôi tiếp tục nghe những thứ như java servlets, beans, tomcat, glassfish, v.v., nhưng tôi không hiểu chúng là gì và chúng sẽ mang lại lợi ích cho tôi như thế nào. Điều này làm tôi có được gì? Kết quả nhanh hơn vì Java JVM không phải được tạo mỗi khi tôi chạy ứng dụng? Sử dụng bộ nhớ ít hơn? Tôi rõ ràng muốn nó chạy nhanh nhất có thể với ít dấu chân bộ nhớ nhất có thể.
Vậy, cách tiếp cận tốt nhất mà tôi có thể thực hiện ở đây là gì? Tôi không muốn viết lại một cách nghiêm túc ứng dụng của mình vì có rất nhiều mã (vì vậy viết lại nó cho C hoặc C++ không nằm trong câu hỏi).
Cảm ơn.