Java EE 6 thực sự tuyệt vời. Vấn đề duy nhất là nó đã được khoảng 2 tuần tuổi và hiện chỉ có 1 container cung cấp các tính năng của nó - Glassfish.
Tôi không có gì để chống lại Glassfish, tôi sử dụng nó ở khắp nơi, một số trường hợp sản xuất, tôi yêu sản phẩm và dự án.
Điều đó nói rằng, các chi tiết của Java EE 6 không dịch ngược trở lại Java EE 5. Một số thì có, nhiều thì có, nhưng Web Profile, Servlet 3.0, các loại Bean mới, JPA 2, v.v. Những thứ đó không có ở đó.
Vì vậy, bằng cách học Java EE 6 trước, bạn chỉ đơn giản là giới hạn mình trong một vùng chứa duy nhất. Nhiều người đang đến, nhưng họ vẫn chưa ở đây.
Tomcat, JBoss, OpenEJB, Glassfish, Jetty, Resin, Geronimo, v.v. đều hoạt động tốt với thông số kỹ thuật Java EE 5 (ít nhất là những phần thông số kỹ thuật mà họ hỗ trợ, chẳng hạn như Tomcat không có EJB).
Tôi không thể nghĩ ra bất kỳ điều gì trong Java EE 5 mà không được chuyển tiếp sang Java EE 6. Java EE 6 đã tạo ra một số khía cạnh rất cũ là tùy chọn và những khía cạnh đó đơn giản là bạn sẽ không học hôm nay. Java EE 6 đã làm cho một số công cụ Java EE 5 thậm chí còn dễ dàng hơn (đáng chú ý là đóng gói, EJB Lite chẳng hạn).
Học Java EE 5 ngay bây giờ để bạn có thể thực sự áp dụng những gì bạn học được trong nhiều môi trường khác nhau, thay vì học Java EE 6 ngay bây giờ và phát hiện ra rằng bạn có thể không sử dụng được nhiều những gì bạn học được.
Không một cuốn sách nào dạy bạn những gì bạn cần biết. Ví dụ: Servlet là một nền tảng tốt, nhưng đối với bất kỳ thứ gì lớn hơn một vài trang hoặc điểm cuối, bạn sẽ muốn sử dụng một trong nhiều khuôn khổ của bên thứ ba hoặc JSF và không có cuốn sách nào bao gồm phần lõi và sau đó là khuôn khổ ở trên cùng của điều đó.
Hướng dẫn Java EE 5 rất tốt trong việc tìm hiểu cơ sở, phàn nàn chính của tôi là họ không hiển thị cho bạn mã nguồn. Thay vì họ mong đợi bạn chỉ cần tải xuống và chạy nó. Nó không được thảo luận trong hướng dẫn. Tôi thấy những cuốn sách của Head First khá hay.
Đối với lập trình web, các Servlet thô chỉ đủ quan trọng để hiểu được chu trình yêu cầu / phản hồi nhưng bạn không cần hiểu biết sâu để thực hiện bước nhảy vọt sang khuôn khổ của bên thứ ba.
Tôi là một người hâm mộ lớn của Stripes cho một khung hành động (so với một khung thành phần) và cuốn sách Stripes duy nhất có sẵn rất tuyệt vời (khiến việc lựa chọn đó trở thành một lựa chọn dễ dàng).
Tôi không thể đề xuất một cuốn sách khung Thành phần và tôi thực sự sẽ không đề xuất một cuốn sách ngay lập tức. Các khung công tác thành phần thực sự chôn vùi các cấu trúc yêu cầu / phản hồi lõi HTTP. Họ chôn vùi chúng là có lý do, và họ đạt được giá trị BẰNG CÁCH chôn cất chúng, nhưng tôi tin rằng để đạt được hiệu quả, bạn cần phải có hiểu biết vững chắc về những khái niệm này từ sớm. Đó là lý do tại sao tôi không khuyên bạn nên học một khuôn khổ Thành phần trước.
Khung công tác JAX-RS REST, có trong Java EE 6, nhưng có thể cài đặt dễ dàng trong Java EE 5 hoặc bất kỳ vùng chứa servlet nào, thật tuyệt vời. Có thể cho rằng đó là những gì Servlet 3.0 nên có. Nhưng tôi không biết bất kỳ cuốn sách nào cho điều đó.