Search…

Dynamic Web Application với Eclipse Helios và Tomcat Server

02/10/20208 min read
Hướng dẫn tạo ứng dụng web bằng IDE Eclipse Helios và Apache Tomcat Web Server 7, giới thiệu khái niệm Servlet và JSP.

Giới thiệu

Với tiêu chí Write Once, Run Any Where, ngôn ngữ cấp cao Java luôn được các lập trình viên sử dụng để tạo ra ứng dụng chạy trên nhiều nền tảng khác nhau. Web Application cũng không là ngoại lệ khi có thể được phát triển bằng ngôn ngữ Java thông qua các IDE như Eclipse hay NetBeans và dễ dàng được deploy bằng Tomcat Server.

Bài viết hướng dẫn tạo 1 project Hello Web với Java JSP Servlet.

Chuẩn bị 

Để xây dựng một Web Application bằng Java, cần cài đặt môi trường trên máy tính:

  • Java Development Kit 1.6 (JDK 1.6)
  • Java IDE Eclipse Helios
  • Apache Tomcat Web Server 7.0

Ngoài ra, Web Application sắp xây dựng sẽ áp dụng mô hình MVC (Model - View - Controller).

Cài đặt Java Development Kit

Truy cập trang web https://www.oracle.com/java/technologies/ để tải phiên bản JDK mới nhất cho Windows.

cai-dat-jdk-1

Sau khi tải về, tiến hành cài đặt, nên để trình cài đặt tự chọn thư mục cài (C:/Program Files/...) để giảm thiểu các vấn đề sau này liên quan đến đường dẫn của Java.

cai-dat-jdk-2

Tiếp tục cài đặt JRE (Java Runtime Environment).

cai-dat-jdk-3

Vẫn để trình cài đặt tự chọn thư mục, sau khi cài đặt xong trình cài đặt sẽ hiện thông báo.

cai-dat-jdk-4

Cài đặt Java IDE Eclipse Helios

Truy cập trang web https://www.eclipse.org/downloads/packages/release/helios/sr2/eclipse-ide-java-ee-developers để tải về phiên bản Eclipse Helios phù hợp.

Sau khi tải về và giải nén, chạy eclipse.exe và chọn đường dẫn Workspace.

cai-dat-eclipse-helios

Cài đặt Apache Tomcat Web Server

Truy cập trang web https://tomcat.apache.org/tomcat-10.0-doc/index.html để tải về phiên bản Tomcat thích hợp cho thiết bị. Chọn bản Core → Zip.

Sau khi tải về và giải nén, thử chạy độc lập Apache Tomcat bằng cách vào thư mục /bin và chạy file startup.bat (Windows Batch File).

cai-dat-tomcat-2

Khởi động Tomcat server sẽ diễn ra thành công nếu Command Line hiện ra kết quả như sau.

cai-dat-tomcat-3

Nếu truy cập theo đường link sau sẽ vào trang chủ của Tomcat server http://localhost:8080, lưu ý rằng không được tắt cửa sổ Command Line nếu không Tomcat server sẽ tự động "hủy".

cai-dat-tomcat-4

Để tắt Apache Tomcat, chạy file shutdown.bat.

Tạo Dynamic Web Project trong Eclipse

Để viết một Web Application đơn giản bằng ngôn ngữ Java, có thể sử dụng Dynamic Web Project cung cấp bởi Eclipse IDE.

Chọn File → New → Dynamic Web Project.

Lưu ý: Project name sẽ là địa chỉ truy cập của Web Application sau này. Ví dụ nếu chọn tên project là ABC, địa chỉ website sau này sẽ là http://localhost:8080/ABC (viết hoa như tên project).

Ở phần Target Runtime, chọn Server Runtime Environment muốn sử dụng cho project, nếu chưa có, chọn New Runtime.

cai-dat-web-project-1

Sau khi chọn Apache Tomcat version (ở đây là version 7.0), nhấn Next và sẽ được yêu cầu đường dẫn đến thư mục Apache Tomcat đã giải nén lúc nãy. Chọn đường dẫn và nhấn Finish.

cai-dat-web-project-2

Trở lại với cửa sổ tạo project, nhập tên project là stdioweb sau đó chọn Next.

Sau khi nhấn Next 2 lần, cửa sổ Web Module sẽ hiện ra và các bạn chọn Generate web.xml deployment descriptor và nhấn Finish.

cai-dat-project

Kết quả sau khi tạo Dynamic Web Project tên stdioweb.

cai-dat-project-4

Sơ lược về Servlet và JSP

Trong lập trình web bằng ngôn ngữ Java, Servlet là lớp Java đặc biệt (Java class), cho phép lập trình viên linh động hơn trong việc tạo ra Web Application. Nhiệm vụ cơ bản nhất của Servlet là giải quyết các yêu cầu từ phía client gửi lên server (Servlet đứng ở vị trí trung gian).

Khi client nhập http://abc.com, điều này có nghĩa client đang gửi yêu cầu lên server muốn xem nội dung của trang abc.com/ (dấu / tuy không xuất hiện nhưng thực chất là có và được trình lượt bỏ vì phía sau không có đường dẫn nào kèm theo). Servlet khi đó sẽ nhận diện url-pattern đang được yêu cầu là / và sẽ tìm kiếm class Java nào được chỉ định để giải quyết yêu cầu này và chuyển đến đó.

Tương tự, khi client gõ địa chỉ kèm theo path là http://abc.com/login thì Servlet sẽ nhận diện url-pattern là /login và đưa chuyển yêu cầu tới class Java của url-pattern này.

JSP là công nghệ "cao" hơn Servlet khi nó kết hợp giữa HTML, XML, Java Code và cả Servlet để giúp lập trình viên tạo trang web động và dễ dàng phát triển, bảo trì. Cơ bản, JSP cũng tương tự như các ngôn ngữ kịch bản khác PHP hay ASP, trong file JSP sẽ chứa code HTML kèm theo các tag JSP chứa code Java.

Tạo Servlet HelloWorld

Trong Web Application này hiện thực theo mô hình MVC, trong đó Servlet sẽ đóng vai trò là các Controller, nhận và xử lý request, lấy data từ các Model, sau đó trả về View là một trang JSP.

Để tạo một Servlet, nhấn chuột phải vào project và chọn New → Servlet. Cửa sổ tạo Servlet hiện ra, điền Java package và Class name.

cai-dat-web-project-5

Nhấn Next, đến phần cấu hình URL Mapping. Nhiệm vụ của Servlet là nhận diện url-pattern và chuyển nó tới class Java được chỉ định để xử lý yêu cầu. Trong phần URL mappings, được mặc định url-pattern là /HelloWorldServlet, có nghĩa nếu client nhập vào trình duyệt http://stdioweb/HelloWorldServlet, yêu cầu đó sẽ được gửi đến Servlet sắp tạo ra.

cai-dat-web-project-6

Tại đây, nhấn Finish, các phương thức doPost, doGet cần thiết của Servlet này sẽ tự động được tạo ra.

cai-dat-web-project

Như đã trình bày, Controller (ở đây là HelloWorldServlet có url-pattern /HelloWorldServlet) sau khi nhận được yêu cầu, sẽ xử lý và trả về một View nào đó. Do trong bài viết này chỉ hướng dẫn hiện thực một Web Application đơn giản nên không cần xử lý gì thêm, trong Servlet này sẽ chỉ định View JSP nào sẽ được gửi về cho client.

Thêm vào phương thức doGet (xử lý các HTTP Get) dòng code getRequestDispatcher([ tên file View JSP ]). Dòng code này nhằm gửi trả về client View phù hợp và kèm với đó là các thông tin cần thiết được thêm vào request, response (những thông tin này sau đó có thể được sử dụng trong file JSP nếu cần).

cai-dat-web-project-8

Tiếp tục với mô hình MVC, tạo thêm thư mục /views để chứa các View JSP cần thiết. Thư mục này sẽ nằm trong thưc mục WebContent và cùng cấp với META-INFWEB-INF. Trong đó sẽ tạo file JSP tên helloworld.jsp.

cai-dat-project-9

Sau khi tạo file JSP thành công, chỉnh sửa nội dung tương tự như trên file HTML bình thường để in ra dòng chữ Hello World trong thẻ <h2>.

Chạy Dynamic Web trên Eclipse

Sau khi chuẩn bị Servlet, JSP và map url-pattern với Controller sẽ xử lý, tiến hành thiết lập môi trường để chạy dynamic web trên Eclipse. Chọn tab Servers hoặc vào Window → Show View→ Servers.

cai-dat-web-project-10

Trong tab Servers, nhấn chuột phải và chọn New → Server. Chọn server Tomcat 7.0 như đã cài đặt và nhấn Next.

cai-dat-web-project-11

Đến cửa sổ Add and Remove, tại đây sẽ hiện ra các Resource để chạy với server. Nhấn chọn vào project của mình và chọn Add, project sẽ được thêm vào Configured và nhấn Finish.

cai-dat-web-project

Sau khi Tomcat v7.0 Server localhost đã được tạo, chuột phải vào server và chọn Start. Cửa sổ console của Eclipse sẽ hiện ra thông tin server khởi động thành công như sau.

cai-dat-web-project-13

Để xem truy cập vào Web Application, sử dụng trình duyệt web và gõ http://localhost:8080/stdioweb/HelloWorldServlet. Lúc nãy đã cấu hình cho Servlet mapping nhận diện url-pattern /HelloWorldServlet thì sẽ chạy vào HelloWorldServlet.java.

Ở đó, cũng thiết lập trong phương thức doGet sẽ trả về view là helloworld.jsp có chứa câu chào Hello World đặt trong thẻ <h2>. Nếu truy cập theo đường dẫn trên và thấy được trang web như sau là đã thành công.

cai-dat-web-project-14

Chạy Web Application trên Tomcat độc lập

Bên cạnh việc sử dụng Apache Tomcat trên IDE Eclipse, chạy độc lập server Tomcat và deploy web project lên đó. Đầu tiên, export project ra file WAR. Chuột phải vào project và chọn Export WAR file. Ở đây chọn vị trí export ra tại Desktop.

deploy-tomcat-1

Sau đó vào thư mục của Apache Tomcat đã giải nén ra lúc đầu, vào /conf và mở file tomcat-users.xml để thêm user vào Tomcat Manager.

deploy-tomcat-2

Sau khi lưu file tomcat-users.xml, vào /bin và chạy file batch startup.bat (lưu ý là server Tomcat trên Eclipse phải tắt nếu không sẽ xảy ra tình trạng đụng port).

Sau khi khởi động Tomcat độc lập, vào http://localhost:8080/manager, đăng nhập bằng tài khoản user khi nãy đã thiết lập.

Sau khi vào giao diện Manager của Tomcat, kéo xuống phần Deploy → WAR file to deploy và chọn file WAR đã export ra lúc nãy.

deploy-tomcat-3

Sau khi chọn và nhấn Deploy, nhận được thông báo như sau.

deploy-server-4

Như vậy, khi truy cập vào http://localhost:8080/stdioweb/HelloWorldServlet, sẽ có cùng kết quả khi sử dụng với Eclipse.

IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024