(Cập nhật tháng 3 năm 2020)
Trước hết, "Java EE" kể từ tháng 9 năm 2019 đã được đổi tên thành " Jakarta EE ", bắt đầu từ phiên bản 8. Trong lịch sử, cũng có thuật ngữ "J2EE" bao gồm các phiên bản 1.2 cho đến 1.4. "Java EE" bao gồm các phiên bản 5 đến 8. Xem thêm Nền tảng Java, Phiên bản doanh nghiệp, Lịch sử trên Wikipedia .
Chính xác thì tôi cần học gì?
Tôi cho rằng bạn đã quen thuộc với các công nghệ phía máy khách như HTML , CSS và JS , vì vậy tôi sẽ không đi sâu vào chi tiết đó. Tôi cũng cho rằng bạn đã quen thuộc với Java cơ bản. Thực hiện theo Hướng dẫn Java của Oracle và nếu có thể, hãy đi lấy sách hoặc khóa học OCP .
Sau đó, bạn có thể bắt đầu với JSP / Servlet để tìm hiểu các khái niệm cơ bản về phát triển web Java. Các hướng dẫn tốt có thể được tìm thấy trong hướng dẫn Java EE 5 của Phần II chương 3 - 8 và tại Coreservlets.com ( Sơ cấp-Trung cấp và Nâng cao, cũng là JDBC ). Lưu ý rằng kể từ Java EE 6, JSP đã bị xóa khỏi hướng dẫn Java EE có lợi cho JSF và về cơ bản, JSP đã không thay đổi kể từ đó. Đó là lý do tại sao bạn có thể sử dụng hướng dẫn Java EE 5 khá cũ cho việc này. Hầu hết các điều quan trọng đối với JSP với là một thực tế mà viết mã Java đơn giản trong các tập tin JSP sử dụng <%
scriptlets %>
chính thức được nản chí từ năm 2003. Xem thêm Làm thế nào để tránh mã Java trong các tập tin JSP? Vì vậy, bất kỳ hướng dẫn nào vẫn bao gồm các tập lệnh nên được bỏ qua vì chúng chắc chắn sẽ đưa bạn vào vòng xoáy đi xuống của việc học các thực hành xấu.
Ở đây trên Stack Overflow, bạn cũng có thể tìm thấy các trang wiki đẹp về JSP , Servlets , JSTL và EL nơi bạn có thể tìm hiểu các yếu tố cần thiết và tìm các liên kết hữu ích hơn.
Tomcat dường như là một máy chủ web tốt cho Java.
Nó là. Tuy nhiên, nó bị hạn chế về khả năng. Về cơ bản, nó là một thùng chứa servlet barebones, chỉ triển khai các phần JSP / Servlet của API Java EE khổng lồ. Nếu bạn từng muốn đi EJB hoặc JPA, thì bạn muốn chọn một cái khác, ví dụ WildFly , TomEE , Payara , Liberty , WebLogic , v.v. Nếu không, bạn phải sử dụng Spring thay vì Java EE. Cụ thể là không thể cài đặt EJB trong thùng chứa servlet barebones mà không sửa đổi công cụ cốt lõi, trong trường hợp Tomcat về cơ bản sẽ phát minh lại TomEE. Xem thêm Chính xác Java EE là gì? , Làm cách nào để cài đặt và định cấu hình đúng các thư viện JSF qua Maven? và Cách cài đặt và sử dụng CDI trên Tomcat?
Tôi biết có Hibernate cho một ORM.
Trước đây, trong kỷ nguyên J2EE, khi JPA không tồn tại và EJB2 rất tệ, Hibernate là một khung độc lập và thường được sử dụng kết hợp với Spring để thay thế EJB. Kể từ khi giới thiệu JPA trong Java EE 5 (2006), Hibernate đã trở thành một triển khai JPA. Bạn có thể học JPA tại hướng dẫn Jakarta EE phần VIII . Ngoài ra, EJB3 đã được cải thiện rất nhiều dựa trên những bài học rút ra từ Spring. Xem thêm Khi nào cần thiết hoặc thuận tiện để sử dụng Spring hoặc EJB3 hoặc tất cả chúng cùng nhau?
Java có MVC không? Thế còn JSP? MVC và JSP có thể được cùng nhau? JavaBeans?
Bạn có thể , nhưng đó là rất nhiều sự tái phát minh của bánh xe khi nói đến việc buộc mô hình với chế độ xem (chuyển đổi, xác nhận, thay đổi người nghe, v.v.). Khung MVC của Java EE được gọi là JSF . Trước Java EE 6, nó được sử dụng để chạy trên JSP, đây là một công nghệ xem khá kế thừa. JSP được thay thế bởi Facelets . Bạn có thể tìm hiểu JSF tại Jakarta EE hướng dẫn phần III chương 7 - 17 . Nhân tiện, bạn cũng có thể sử dụng JSF trên Tomcat, bạn chỉ phải cài đặt riêng. Hướng dẫn cài đặt có thể được tìm thấy tại trang chủ Mojarra. WildFly, TomEE, Payara, Liberty, WebLogic, v.v ... là một triển khai Java EE hoàn chỉnh đã cung cấp JSF (và CDI, BV, JSONP, JAX-RS, EJB, JPA, v.v.), vì vậy bạn không cần phải cài đặt riêng Xem thêm Làm thế nào để cài đặt và cấu hình đúng các thư viện JSF qua Maven?
Có lẽ một cuốn sách bao gồm tất cả những điều này?
Có một vài cuốn sách. Tôi khuyên bạn nên bắt đầu với một cuốn sách tập trung vào Jakarta EE nói chung , một cuốn sách tập trung hơn vào JSF và một cuốn sách tập trung hơn vào JPA . Đảm bảo rằng bạn chọn cuốn sách gần đây nhất về chủ đề này. Đầu tiên điều tra phiên bản có sẵn gần đây nhất và sau đó đảm bảo rằng cuốn sách được chọn bao gồm điều đó. Do đó, chắc chắn không chọn một cuốn sách cũ cho Java EE 5 hoặc JSF 1.0 hoặc hơn trong khi hiện tại đã có Jakarta EE 8 và JSF 2.3.
Cuối cùng nhưng không kém phần quan trọng, vui lòng bỏ qua các trang web cạo đoạn mã được duy trì bởi những người nghiệp dư tập trung chủ yếu vào thu nhập quảng cáo thay vì giảng dạy, chẳng hạn như roseindia, guidespoint, javabeat, journaldev, javatpoint, codejava, v.v. biểu ngữ và đoạn mã JSP chứa scriptlets .
Xem thêm: