- SDK Java EE;
- Máy chủ ứng dụng Java EE GlassFish;
- Thiết lập IntelliJ IDEA.
- Chỉ ra cách bạn có thể chuẩn bị môi trường làm việc để làm việc với các ứng dụng Java EE.
- Hiển thị cách bạn có thể triển khai và chạy các ứng dụng Java EE từ IntelliJ IDEA trên máy chủ GlassFish.
- Tải xuống và cài đặt Java EE 7 SDK.
- Hãy nâng cao Máy chủ ứng dụng Java EE GlassFish.
- Hãy tìm hiểu cách khởi động và dừng máy chủ thông qua dòng lệnh.
- Hãy cấu hình IntelliJ IDEA để triển khai các ứng dụng lên máy chủ này.
- Hãy triển khai và chạy ứng dụng demo, cùng với máy chủ ứng dụng GlassFish, được bao gồm trong SDK Java EE 7.
- Thủy tinh 4.0;
- IntelliJ IDEA 2019.3.1 (Cuối cùng);
- Java EE SDK 7.
Cài đặt Java EE SDK
Điều kiện quan trọng. Trước khi cài đặt Java EE SDK, bạn phải đảm bảo rằng Java SE SDK đã được cài đặt sẵn.-
Đầu tiên chúng ta cần tải SDK xuống. Để thực hiện việc này, bạn có thể nhập vào công cụ tìm kiếm: “Java EE SDK 7” hoặc truy cập trực tiếp vào trang tải xuống sdk từ trang web của Oracle.
-
Từ danh sách SDK được trình bày, bạn cần chọn SDK phù hợp với nền tảng của mình. Bài viết mô tả việc cài đặt bản phân phối: “java_ee_sdk-7-jdk7-windows-x64-ml.exe”
-
Chạy tập tin cài đặt. Trong quá trình khởi động, lỗi sau có thể xảy ra (nếu nó không xảy ra, bạn chỉ cần tiếp tục cài đặt):
Điều này có nghĩa là trình cài đặt không thể tìm thấy đường dẫn đến Môi trường chạy thi hành Java được cài đặt sẵn. Có thể sửa lỗi bằng cách chuyển đường dẫn đến JRE theo cách thủ công bằng dòng lệnh. Để thực hiện việc này, bạn cần chạy tệp cài đặt qua PowerShell và chuyển đường dẫn đến JRE được cài đặt sẵn thông qua tham số -j.
Ví dụ như thế này:
-
Quy trình cài đặt tiếp theo khá điển hình đối với hầu hết các chương trình. Tất cả những gì bạn cần làm là nhấp vào nút Tiếp theo và Cài đặt.
Chương trình sẽ cài đặt Java EE SDK, cũng như máy chủ GlassFish, sau khi hoàn tất quá trình cài đặt, sẽ sẵn sàng để sử dụng. -
Để đảm bảo máy chủ GlassFish hoạt động, sau khi cài đặt hoàn tất, bạn có thể mở bảng quản trị máy chủ, bảng này sẽ có tại: http://localhost:4848/
Ảnh chụp màn hình bên dưới:
GlassFish bắt đầu và dừng thông qua dòng lệnh
Vì vậy, máy chủ đã hoạt động nhưng quá trình khởi động máy chủ được khởi động bởi chương trình cài đặt. Dưới đây chúng tôi sẽ cố gắng tìm ra cách tự khởi động và dừng máy chủ. Đầu tiên, hãy tiết lộ một thực thể như một miền. Miền là tập hợp một hoặc nhiều phiên bản máy chủ GlassFish được quản lý bởi một máy chủ quản trị. Khi cài đặt máy chủ GlassFish, một miền mặc định sẽ được tạo - domain1. Các thành phần sau được liên kết với nó:- Cổng máy chủ (mặc định 8080);
- Cổng máy chủ quản trị (mặc định 4848);
- Tên người dùng và mật khẩu quản trị viên (mặc định là quản trị viên và không yêu cầu mật khẩu theo mặc định).
asadmin start-domain domain_name
asadmin stop-domain domain_name
Hãy thử dừng máy chủ (vì nó đang chạy sau khi cài đặt) bằng cách chạy PowerShell từ thư mục con C:\glassfish4\glassfish\bin : Máy chủ đã dừng. Bây giờ hãy chạy nó:
Chúng tôi phân tích ứng dụng Java EE đầu tiên, dukes-age
Tiếp theo chúng ta sẽ xem xét một ứng dụng Java EE demo: dukes-age. Ứng dụng này được bao gồm trong SDK Java EE cùng với ứng dụng cốc đầu tiên. Mô tả về các ứng dụng này được trình bày trên trang web tài liệu chính thức của Oracle trong phần 3 và 4 của khóa học giới thiệu về Java EE dành cho người mới bắt đầu phát triển Java EE . Trong bài viết này, chúng ta sẽ xem xét ngắn gọn về ứng dụng Dukes-age và xem xét chi tiết hơn quá trình khởi chạy ứng dụng này trên máy chủ GlassFish từ môi trường phát triển IntelliJ IDEA. Ứng dụng này nằm bên trong thư mục máy chủ glassfish. Nếu bạn không thay đổi đường dẫn mặc định cho máy chủ glassfish khi cài đặt Java EE SDK, bạn có thể tìm thấy ứng dụng này trong thư mục: C:\glassfish4\docs\firstcup\example\dukes-age . Chắc hẳn mọi nhà phát triển Java, dù mới bắt đầu hay có kinh nghiệm, đều ít nhất một lần nhìn thấy linh vật của ngôn ngữ lập trình Java - Duke: Ít người biết rằng Duke có ngày sinh nhật. Anh sinh ngày 23 tháng 5 năm 1995, khi phiên bản demo đầu tiên của công nghệ Java được xuất bản. Ứng dụng tuổi công tước, đúng như tên gọi, cung cấp thông tin về tuổi của công tước. Hãy mở ứng dụng này trong IntelliJ IDEA: Tệp -> Mới -> Dự án từ các nguồn hiện có... Sau đó chuyển đến thư mục có ứng dụng dukes-age, được đặt mặc định tại C:\glassfish4\docs\firstcup\example\dukes- age , chọn file pom.xml và nhấn OK: Một ứng dụng có cấu trúc sau sẽ mở ra: Chúng ta hãy xem mã lớpDukesAgeResource
:
package firstcup.dukesage.resource;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
/**
* REST Web Service
*
*/
@Path("dukesAge")
public class DukesAgeResource {
/** Creates a new instance of DukesAgeResource */
public DukesAgeResource() {
}
/**
* Retrieves representation of an instance of DukesAgeResource
* @return an instance of java.lang.String
*/
@GET
@Produces("text/plain")
public String getText() {
// Create a new Calendar for Duke's birthday
Calendar dukesBirthday = new GregorianCalendar(1995, Calendar.MAY, 23);
// Create a new Calendar for today
Calendar now = GregorianCalendar.getInstance();
// Subtract today's year from Duke's birth year, 1995
int dukesAge = now.get(Calendar.YEAR) - dukesBirthday.get(Calendar.YEAR);
dukesBirthday.add(Calendar.YEAR, dukesAge);
// If today's date is before May 23, subtract a year from Duke's age
if (now.before(dukesBirthday)) {
dukesAge--;
}
// Return a String representation of Duke's age
return "" + dukesAge;
}
}
Đây là dịch vụ web JAX-RS RESTful với một phương thức - getText()
. Nếu bạn kiểm tra mã của phương thức này, bạn sẽ thấy rõ rằng phương thức này trả về số năm đã trôi qua kể từ khi Duke ra đời. Nghĩa là, phương pháp này trả về tuổi của Duke. Một lớp là một tài nguyên trong ngữ cảnh REST.
- Chú thích phía trên lớp
@Path("dukesAge")
xác định đường dẫn URI mà các cuộc gọi sẽ được lớp này xử lý. - Chú thích phía trên phương thức
@GET
cho chúng ta biết rằng phương thức này xử lý các yêu cầu GET. - Chú thích
@Produces("text/plain")
chỉ định loại phương tiện phản hồi cho yêu cầu. Không khó để đoán rằng phương thức nàygetText()
sẽ tạo ra phản hồi với loại phương tiện: văn bản/thuần túy.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/webapi/*</url-pattern>
</servlet-mapping>
</web-app>
Trong tệp này, bên trong thẻ servlet-mapping
, một thẻ url-pattern
có giá trị được xác định /webapi/*
. Ở đây, một điểm gốc nhất định được xác định, các cuộc gọi tới điểm đó sẽ được dịch vụ xử lý thêm. Nếu kết hợp với chú thích @Path("dukesAge")
thì hóa ra để có được thông tin về tuổi của Duke, bạn cần liên hệ theo địa chỉ /webapi/dukesAge.
Thiết lập IntelliJ IDEA để chạy ứng dụng Java EE trên máy chủ GlassFish
Bây giờ chúng ta đã có ý tưởng rất chung về ứng dụng Dukes-age (đọc thêm về nó trên trang Oracle ), hãy cấu hình IntelliJ IDEA để chúng ta có thể chạy ứng dụng này từ IDE của mình. Thiết lập IntelliJ IDEA- Để thực hiện việc này, hãy chuyển đến menu Chạy -> Chỉnh sửa cấu hình.
- Bảng Cấu hình Chạy/Gỡ lỗi sẽ mở ra:
- Chúng ta cần thêm một cấu hình mới. Để thực hiện việc này, hãy nhấp vào dấu cộng hoặc sử dụng phím nóng Alt+Insert. Trong danh sách mở ra chọn GlassFish Server -> Local:
- Trong cửa sổ mở ra, chúng ta bắt đầu thiết lập cấu hình:
- Bước tiếp theo là chỉ ra các tạo phẩm sẽ cần được triển khai đến máy chủ. Điều này có thể được thực hiện thông qua tab Triển khai bằng cách nhấp vào dấu cộng -> Hiện vật...
- Chọn dukes-age:war và nhấn OK:
- Tiếp theo, lưu cấu hình của chúng tôi bằng cách nhấp vào Áp dụng và sau đó OK.
Ra mắt ứng dụng
Bây giờ hãy thử chạy ứng dụng.-
Để thực hiện việc này, bạn có thể sử dụng phím nóng Alt+Shift+F10 hoặc thông qua menu Run -> Run...
Và chọn cấu hình Dukes-age mà chúng tôi đã tạo:
-
Sau này, chúng ta thấy nhật ký khởi động trong bảng Dịch vụ:
-
Sau đó, nếu mọi thứ được thực hiện theo hướng dẫn, trình duyệt sẽ mở và sẽ thấy rõ rằng không có gì hoạt động:
-
Để thực hiện việc này, hãy quay lại IntelliJ IDEA, sau đó vào menu: Chạy -> Chỉnh sửa cấu hình...
-
Hãy chọn cấu hình đã lưu trước đó và cập nhật URL theo ảnh chụp màn hình bên dưới:
-
Hãy lưu cấu hình và khởi động lại ứng dụng của chúng tôi bằng phím nóng Ctrl+Shift+F10 hoặc sử dụng nút đặc biệt trên bảng Dịch vụ:
-
Sau khi khởi động lại, nếu mọi thứ được thực hiện chính xác, chúng ta sẽ thấy tuổi của Duke:
Phần kết luận
Trong bài viết này, chúng tôi đã xem xét cách bạn có thể định cấu hình môi trường cục bộ của mình để hoạt động với các ứng dụng Java EE bằng cách sử dụng ví dụ về máy chủ GlassFish 4.0, môi trường phát triển IntelliJ IDEA 2019.3.1 (Cuối cùng) và Java EE SDK phiên bản 7. Chúng tôi đã xem xét theo cách bạn có thể:- tải xuống và cài đặt Java EE SDK, cũng như máy chủ GlassFish;
- dừng và khởi động máy chủ GlassFish thông qua PowerShell;
- định cấu hình IntelliJ IDEA để bạn có thể triển khai các ứng dụng Java EE từ IDE đến máy chủ GlassFish và khởi chạy chúng ngay lập tức.
Nhiệm vụ thưởng
- Tự mình lặp lại tất cả các bước được mô tả.
- Tham gia khóa học giới thiệu về Java EE dành cho nhà phát triển Java EE mới bắt đầu từ Oracle .
- Mục có dấu hoa thị. Hãy thử tự mình triển khai ứng dụng demo cốc đầu tiên thứ hai. Ứng dụng này tương tác nhiều hơn và cũng tương tác với ứng dụng dành cho công tước. Để hoàn thành bước này, bạn sẽ cần phải tự mình hiểu các câu hỏi sau:
- Cách kích hoạt cơ sở dữ liệu bên trong máy chủ glassFish;
- Cách tích hợp hai ứng dụng với nhau (bên trong cốc đầu tiên chỉ ra đường dẫn đến điểm cuối của tuổi công tước mà chúng ta đã thảo luận trong bài viết này);
- Cách tạo cấu hình mới trong Intellij IDEA để triển khai cốc đầu tiên (tương tự như những gì được trình bày trong bài viết này);
- Có thể còn nhiều câu hỏi khác)
GO TO FULL VERSION