JavaRush /Blog Java /Random-VI /Thiết lập môi trường cục bộ để phát triển Java EE
zor07
Mức độ
Санкт-Петербург

Thiết lập môi trường cục bộ để phát triển Java EE

Xuất bản trong nhóm
Trong bài viết này, chúng tôi sẽ thiết lập một môi trường làm việc để chạy các ứng dụng Java EE. Hãy để tôi nhắc bạn: trong tài liệu trước chúng ta đã trình bày những kiến ​​thức cơ bản về Java EE . Thiết lập môi trường cục bộ để phát triển Java EE - 1Theo môi trường, chúng tôi muốn nói đến một tập hợp các thành phần phần mềm khác nhau:
  • SDK Java EE;
  • Máy chủ ứng dụng Java EE GlassFish;
  • Thiết lập IntelliJ IDEA.
Mục tiêu chính của tài liệu này:
  1. 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.
  2. 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.
Đây là những gì chúng tôi sẽ làm cho việc này:
  1. Tải xuống và cài đặt Java EE 7 SDK.
  2. Hãy nâng cao Máy chủ ứng dụng Java EE GlassFish.
  3. Hãy tìm hiểu cách khởi động và dừng máy chủ thông qua dòng lệnh.
  4. Hãy cấu hình IntelliJ IDEA để triển khai các ứng dụng lên máy chủ này.
  5. 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.
Bài viết này sẽ hữu ích cho những nhà phát triển Java mới làm quen với việc phát triển Doanh nghiệp bằng Java. Hãy coi đây là một sự chuẩn bị nhỏ cho nền tảng để thực hành thêm. Bạn sẽ hiểu tài liệu nếu đã quen với các kỹ năng dòng lệnh cơ bản của Windows (PowerShell). Phiên bản của các thành phần phần mềm được sử dụng trong bài viết này:
  • 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.
  1. Đầ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.

  2. 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”

  3. 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):

    Thiết lập môi trường cục bộ để phát triển Java EE - 2

    Đ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:

    Thiết lập môi trường cục bộ để phát triển Java EE - 3
  4. 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.

  5. Để đả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:

    Thiết lập môi trường cục bộ để phát triển Java EE - 4

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).
Domain1 có các giá trị mặc định được gán cho nó. Thiết lập môi trường cục bộ để phát triển Java EE - 5Để khởi động và dừng máy chủ, bản phân phối GlassFish bao gồm một số tập lệnh, theo mặc định nằm trong thư mục sau: C:\glassfish4\glassfish\bin Để khởi động và dừng máy chủ GlassFish thông qua dòng lệnh, bạn có thể sử dụng tập lệnh asadmin và các lệnh của nó:
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 : Thiết lập môi trường cục bộ để phát triển Java EE - 6Máy chủ đã dừng. Bây giờ hãy chạy nó: Thiết lập môi trường cục bộ để phát triển Java EE - 7

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: Thiết lập môi trường cục bộ để phát triển Java EE - 8Í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: Thiết lập môi trường cục bộ để phát triển Java EE - 9Một ứng dụng có cấu trúc sau sẽ mở ra: Thiết lập môi trường cục bộ để phát triển Java EE - 10Chúng ta hãy xem mã lớp DukesAgeResource:
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.
  1. 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ý.
  2. Chú thích phía trên phương thức @GETcho chúng ta biết rằng phương thức này xử lý các yêu cầu GET.
  3. 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ày getText()sẽ tạo ra phản hồi với loại phương tiện: văn bản/thuần túy.
Chúng ta cũng hãy xem tệp cấu hình web.xml:
<?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-patterncó 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
  1. Để thực hiện việc này, hãy chuyển đến menu Chạy -> Chỉnh sửa cấu hình.
  2. Bảng Cấu hình Chạy/Gỡ lỗi sẽ mở ra: Thiết lập môi trường cục bộ để phát triển Java EE - 11
  3. 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: Thiết lập môi trường cục bộ để phát triển Java EE - 12
  4. Trong cửa sổ mở ra, chúng ta bắt đầu thiết lập cấu hình: Thiết lập môi trường cục bộ để phát triển Java EE - 13
  5. 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... Thiết lập môi trường cục bộ để phát triển Java EE - 14
  6. Chọn dukes-age:war và nhấn OK: Thiết lập môi trường cục bộ để phát triển Java EE - 15
  7. 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.
Cấu hình đã được tạo!

Ra mắt ứng dụng

Bây giờ hãy thử chạy ứng dụng.
  1. Để 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:

    Thiết lập môi trường cục bộ để phát triển Java EE - 16

  2. Sau này, chúng ta thấy nhật ký khởi động trong bảng Dịch vụ:

    Thiết lập môi trường cục bộ để phát triển Java EE - 17
  3. 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:

    Thiết lập môi trường cục bộ để phát triển Java EE - 18
Thế giới CNTT là vậy. Ngay cả khi mọi thứ được thực hiện chính xác, một cái gì đó có thể không hoạt động. Nhưng đừng lo lắng: bạn có thể mô tả ngay cách thực hiện đúng, nhưng khi đó một số sắc thái sẽ ít rõ ràng hơn. Ví dụ: url mà IDEA hướng dẫn chúng ta đến khi khởi chạy ứng dụng được tạo ra như thế nào? Chúng ta hãy chú ý đến nó. Chúng tôi đã được chuyển hướng đến http://localhost:8080/dukes-age-7.0.1/ . Để hiểu điều này đến từ đâu (/dukes-age-7.0.1/), hãy đi tới bảng quản trị của máy chủ GlassFish. Trong menu bên trái, nhấp vào Ứng dụng. Tiếp theo bạn sẽ thấy các ứng dụng được triển khai, bao gồm cả Dukes-age. Khi chọn ứng dụng dukes-age, bạn có thể thấy một số đặc điểm của nó, bao gồm mục Context-Root: Thiết lập môi trường cục bộ để phát triển Java EE - 19dukes-age-7.0.1 là tên và phiên bản của ứng dụng. Điểm gốc. Tất cả các yêu cầu mà dukes-age sẽ xử lý phải bắt đầu bằng tiền tố /dukes-age-7.0.1/. Vậy là chúng ta có điểm gốc: /dukes-age-7.0.1. Ngoài ra, trước đây chúng ta đã thảo luận rằng ứng dụng của chúng ta sẽ xử lý các yêu cầu tới /webapi/dukesAge. Hãy kết hợp hai thứ này và cập nhật cấu hình của chúng tôi.
  1. Để 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...

  2. 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:

    Thiết lập môi trường cục bộ để phát triển Java EE - 20
  3. 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ụ:

    Thiết lập môi trường cục bộ để phát triển Java EE - 21
  4. 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:

    Настройка локального окружения для Java EE разработки - 22
Tuyệt vời. Cuối cùng chúng tôi phát hiện ra rằng Duke 24 tuổi. Nếu bạn không lặp lại tất cả các bước được mô tả ở trên trong vài tháng tới, bắt đầu từ tháng 4 năm 2020, thì Duke có thể sẽ già đi một chút.

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

  1. Tự mình lặp lại tất cả các bước được mô tả.
  2. 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 .
  3. 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:
    1. Cách kích hoạt cơ sở dữ liệu bên trong máy chủ glassFish;
    2. 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);
    3. 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);
    4. Có thể còn nhiều câu hỏi khác)
Tái bút Rào cản gia nhập rất cao, nhưng đó không phải là động lực thúc đẩy bạn sao?
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION