Nếu bạn đã hiểu rõ về HTML, CSS và JavaScript, bạn sẽ có nhiều người kết thúc việc phát triển web. Các khái niệm đằng sau JSP rất giống với PHP. Các quirks là khác nhau. Một servlet là tên của một đoạn mã Java phục vụ một yêu cầu. Đó là nó thực sự. Toàn bộ khung Struts ban đầu là một servlet duy nhất.
Tôi sẽ thêm Tomcat hoặc Jetty vào danh sách các công nghệ để học. Tomcat là triển khai Java Servlet Container ban đầu và cũng là một máy chủ web đầy đủ tính năng và khá phổ biến. GlassFish được xây dựng trên nó. Tôi đã sử dụng Jetty thay vì Tomcat trong các dự án mới hơn bởi vì nó đơn giản hơn, linh hoạt hơn và nhanh hơn. Cầu tàu được thiết kế để làm cho các dịch vụ web trái ngược với các ứng dụng web. Nhưng một ứng dụng web chỉ là một dịch vụ web phục vụ HTML để đáp ứng các yêu cầu HTTP thô, vì vậy nếu bạn hiểu HTTP (mà bạn có thể tìm hiểu các phần quan trọng trong vài giờ đến một ngày), thì rất dễ để làm việc.
Bạn có thể tạo một trang web nhỏ với Tomcat và JSP ( hướng dẫn tại đây hoặc JSF) chỉ biết những gì bạn biết và dành vài giờ để xem hướng dẫn. Bằng cách đó bạn có thể bắt đầu nơi bạn cảm thấy thoải mái trước khi duỗi tay ra. Sau đó, tạo một javax.servlet.http.HttpServlet viết "<html> <head> <title> Hi </ title> </ head> <body> <h1> Hello World </ h1> </ body> </ html > "đến đối tượng phản hồi, liệt kê nó trong tệp web Tomcat của bạn và gửi yêu cầu HTTP từ trình duyệt web. Nó không phải là khoa học tên lửa. Tất cả các khung web Java là các biến thể của hai hoạt động cơ bản đó.
Nếu bạn đi theo tuyến Jetty, nó thậm chí còn ít cấu trúc hơn. Kiểm tra ví dụ Hello Jetty này .
Nếu bạn chỉ định tạo một blog hoặc trang web thương mại điện tử tiêu chuẩn, tôi sẽ bắt đầu với SquareSpace hoặc Wordpress hoặc một cái gì đó. Bạn nhận được rất nhiều từ kệ, không có cách nào để biện minh cho mã hóa tùy chỉnh bất kỳ điều đó nữa.
Sức mạnh của Java cho các ứng dụng web là độ tin cậy, khả năng bảo trì và hiệu suất của nó. PHP hoặc Ruby / Rails đơn giản hơn, nhưng Java sẽ mở rộng quy mô như bạn muốn. Tôi không bị quấy rầy bởi bất kỳ khung công tác web Java nào. Khi bạn có một nhóm người làm việc trên một ứng dụng web lớn hoặc bạn cần sử dụng Hibernate, thì một khung như Spring thực sự tỏa sáng. Mùa xuân là phổ biến nhất. Khi bạn có một số quen thuộc với các servlet và JSP / JSF, thì hãy tìm hiểu cách Spring liên kết chúng với một mô hình dữ liệu.
Nếu bạn đang tạo một blog hoặc một hệ thống quản lý nội dung, có lẽ bạn có thể thoát khỏi cơ sở dữ liệu NoQuery. Nhưng tôi sẽ lập luận rằng các cơ sở dữ liệu NoQuery về cơ bản chỉ là một lớp bộ đệm trên một hệ thống tệp, thay vì thay thế các cơ sở dữ liệu quan hệ. Tôi nghĩ rằng hiếm khi một dự án phù hợp với cơ sở dữ liệu NoQuery sẽ phù hợp để phát triển trong Java.
Những thứ vẫn yêu cầu mã hiệu suất cao, tùy chỉnh (trong Java, PHP, bất cứ thứ gì) có lẽ sẽ có cơ sở dữ liệu quan hệ / SQL cung cấp năng lượng cho chúng. Tôi muốn khuyên bạn nên làm quen cơ bản với SQL và JDBC (Kết nối cơ sở dữ liệu Java) trước tiên. Sau khi bạn cảm thấy thoải mái với thế giới của các đối tượng Java và thế giới của cơ sở dữ liệu quan hệ và SQL, thì bạn có thể tìm hiểu Ebean / JPA (API liên tục Java) / ORM (Ánh xạ đối tượng quan hệ) kết nối thế giới đối tượng với thế giới quan hệ.
ORM là khó khăn và kỳ lạ. Hầu hết cuối cùng là giá trị đấu tranh. Ebean là đơn giản nhất mà tôi biết. Tôi thấy thoải mái hơn với nó sau 8 tháng so với tôi với Hibernate sau 12 năm. Tôi biết rất nhiều người sử dụng Spring với Hibernate và họ dường như không gặp rắc rối gì, hoặc thậm chí đặc biệt nhận thức được Hibernate là gì hoặc làm gì, vì vậy tôi sẽ nói nếu bạn sẽ sử dụng Hibernate, hãy làm điều đó qua mùa xuân. Có lẽ chỉ vì tôi đã làm việc với nó lâu hơn, tôi đã quản lý để loại bỏ hoàn toàn Hibernate với một vài bản đồ băm để thử nghiệm, điều này thật tuyệt vời (tổng quan có sẵn theo yêu cầu).
Bạn có một số kỹ năng quan trọng nhất. Lấy từng cái một và cố gắng không để bị quá tải.