- Java EE SDK;
- Java EE Application Server GlassFish;
- הגדרת IntelliJ IDEA.
- הראה כיצד תוכל להכין סביבת עבודה לעבודה עם יישומי Java EE.
- הראה כיצד ניתן לפרוס ולהפעיל יישומי Java EE מ-IntelliJ IDEA בשרת GlassFish.
- הורד והתקן את Java EE 7 SDK.
- בואו נגדל את Java EE Application Server GlassFish.
- בואו ללמוד כיצד להפעיל ולעצור את השרת באמצעות שורת הפקודה.
- בואו נגדיר את IntelliJ IDEA לפרוס יישומים לשרת זה.
- בואו נפרוס ונפעיל את אפליקציית ההדגמה, שיחד עם שרת היישומים של GlassFish, כלולה ב-Java EE 7 SDK.
- GlassFish 4.0;
- IntelliJ IDEA 2019.3.1 (אולטימטיבי);
- Java EE SDK 7.
התקנת Java EE SDK
תנאי חשוב. לפני התקנת ה-Java EE SDK, עליך לוודא ש-Java SE SDK מותקן מראש.-
ראשית, עלינו להוריד את ה-SDK. כדי לעשות זאת, אתה יכול להקליד במנוע חיפוש: "Java EE SDK 7", או ללכת ישירות לדף ההורדה של sdk מאתר אורקל.
-
מרשימת ה-SDKs המוצגת, עליך לבחור את האחת המתאימה לפלטפורמה שלך. המאמר מתאר את התקנת ההפצה: "java_ee_sdk-7-jdk7-windows-x64-ml.exe"
-
הפעל את קובץ ההתקנה. במהלך ההפעלה, השגיאה הבאה עלולה להתרחש (אם היא לא מתרחשת, אז אתה יכול פשוט להמשיך בהתקנה):
המשמעות היא שהמתקין לא הצליח למצוא את הנתיב לסביבת Java Runtime שהותקנה מראש. ניתן לתקן את השגיאה על ידי העברת הנתיב ל-JRE באופן ידני באמצעות שורת הפקודה. לשם כך, עליך להפעיל את קובץ ההתקנה באמצעות PowerShell ולהעביר את הנתיב ל-JRE המותקן מראש באמצעות הפרמטר -j.
לדוגמה, כך:
-
הליך ההתקנה הנוסף הוא די אופייני לרוב התוכניות. כל מה שאתה צריך לעשות הוא ללחוץ על הלחצנים הבא והתקן.
התוכנית תתקין את ה-Java EE SDK, כמו גם את שרת GlassFish, אשר עם השלמת ההתקנה, יהיה מוכן לשימוש. -
כדי לוודא ששרת GlassFish פועל, לאחר השלמת ההתקנה, תוכל לפתוח את פאנל הניהול של השרת, שיהיה זמין בכתובת: http://localhost:4848/
צילום מסך למטה:
הפעלה ועצירה של GlassFish באמצעות שורת הפקודה
אז, השרת פועל, אבל הפעלת השרת יזמה על ידי תוכנית ההתקנה. להלן ננסה להבין כיצד להפעיל ולעצור את השרת בעצמך. ראשית, בואו נחשוף ישות כזו כדומיין. תחום הוא קבוצה של מופע אחד או יותר של שרת GlassFish המנוהל על ידי שרת ניהול אחד. בעת התקנת שרת GlassFish נוצר תחום ברירת מחדל - domain1. הרכיבים הבאים משויכים אליו:- יציאת שרת (ברירת מחדל 8080);
- יציאת שרת ניהול (ברירת מחדל 4848);
- שם משתמש וסיסמה של מנהל מערכת (ברירת המחדל היא admin ולא נדרשת סיסמה כברירת מחדל).
asadmin start-domain domain_name
asadmin stop-domain domain_name
בואו ננסה לעצור את השרת (מכיוון שהוא כבר פועל לאחר ההתקנה) על ידי הפעלת PowerShell מספריית המשנה C:\glassfish4\glassfish\bin : השרת נעצר. עכשיו בואו נריץ את זה:
אנו מנתחים את יישום Java EE הראשון, Dukes-Age
בשלב הבא נסתכל על אפליקציית Java EE הדגמה: dukes-age. יישום זה כלול ב-Java EE SDK יחד עם יישום הכוס הראשונה. תיאורים של יישומים אלה מוצגים באתר התיעוד הרשמי של Oracle בסעיפים 3 ו-4 של קורס המבוא על Java EE למפתחי Java EE מתחילים . במאמר זה, נסתכל בקצרה על אפליקציית Dukes-Age ונבחן ביתר פירוט את תהליך השקת האפליקציה הזו בשרת GlassFish מסביבת הפיתוח IntelliJ IDEA. האפליקציה ממוקמת בתוך ספריית שרת glassfish. אם לא שינית את נתיב ברירת המחדל עבור שרת glassfish בעת התקנת ה-Java EE SDK, תוכל למצוא את היישום הזה בתיקייה: C:\glassfish4\docs\firstcup\example\dukes-age . כנראה שכל מפתח ג'אווה, מתחיל ומנוסה, ראה לפחות פעם אחת את הקמע של שפת התכנות ג'אווה - דיוק: מעטים יודעים שלדיוק יש יום הולדת. הוא נולד ב-23 במאי 1995, כאשר פורסמה גרסת ההדגמה הראשונה של טכנולוגיית Java. אפליקציית Dukes-age, כפי שהשם מרמז, מספקת מידע על גילו של דיוק. בואו נפתח את היישום הזה ב- IntelliJ IDEA: קובץ -> חדש -> פרויקט ממקורות קיימים... לאחר מכן עבור לתיקייה עם היישום Dukes-age, הממוקמת כברירת מחדל ב- C:\glassfish4\docs\firstcup\example\dukes- age , בחר את הקובץ pom.xml ולחץ על אישור: ייפתח יישום עם המבנה הבא: בוא נסתכל על קוד הכיתה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;
}
}
זהו שירות אינטרנט JAX-RS RESTful בשיטה אחת - getText()
. אם בוחנים את הקוד של שיטה זו, מתברר שהשיטה מחזירה את מספר השנים שחלפו מאז לידתו של דיוק. כלומר, השיטה מחזירה את גילו של דיוק. מחלקה היא משאב בהקשר של REST.
- ההערה מעל המחלקה
@Path("dukesAge")
מגדירה את נתיב ה-URI שאליו יעבדו שיחות על ידי מחלקה זו. - ההערה מעל השיטה
@GET
אומרת לנו ששיטה זו מעבדת בקשות GET. - ההערה
@Produces("text/plain")
מציינת את סוג המדיה של התגובה לבקשה. לא קשה לנחש שהשיטהgetText()
תייצר תגובות עם סוג מדיה: טקסט/רגיל.
<?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>
בקובץ זה, בתוך התג servlet-mapping
, מוגדר תג url-pattern
עם הערך /webapi/*
. כאן מוגדרת נקודת שורש מסוימת, שאליה יעבדו השיחות הלאה על ידי השירות. אם משולבים עם ההערה @Path("dukesAge")
, מתברר שכדי לקבל מידע על גילו של דיוק, עליך ליצור קשר עם הכתובת /webapi/dukesAge.
הגדרת IntelliJ IDEA להפעלת יישום Java EE על שרת GlassFish
עכשיו, כשיש לנו מושג כללי מאוד על היישום של Dukes-Age (קרא עוד על זה באתר Oracle ), בואו נגדיר את IntelliJ IDEA כך שנוכל להפעיל את היישום הזה מה-IDE שלנו. הגדרת IntelliJ IDEA- לשם כך, עבור לתפריט הפעלה -> ערוך תצורות.
- חלונית ההפעלה/ניפוי באגים תיפתח:
- אנחנו צריכים להוסיף תצורה חדשה. כדי לעשות זאת, לחץ על סימן הפלוס, או השתמש במקש הקיצור Alt+Insert. ברשימה שנפתחת, בחר שרת GlassFish -> מקומי:
- בחלון שנפתח, נתחיל להגדיר את התצורה:
- השלב הבא הוא לציין את החפצים שיהיה צורך לפרוס לשרת. ניתן לעשות זאת דרך הכרטיסייה Deployment על ידי לחיצה על הפלוס -> Artifact...
- בחר dukes-age:war ולחץ על אישור:
- לאחר מכן, שמור את התצורה שלנו על ידי לחיצה על החל ולאחר מכן אישור.
הפעלת האפליקציה
כעת ננסה להפעיל את האפליקציה.-
לשם כך, ניתן להשתמש במקש הקיצור Alt+Shift+F10, או דרך התפריט Run -> Run...
ובחר את תצורת הדוכסים שיצרנו:
-
לאחר מכן אנו רואים את יומני האתחול בחלונית השירותים:
-
לאחר מכן, אם הכל נעשה לפי ההוראות, הדפדפן ייפתח ויתברר ששום דבר לא עובד:
-
לשם כך, נחזור אל IntelliJ IDEA, ולאחר מכן לתפריט: הפעלה -> ערוך תצורות...
-
בואו נבחר את התצורה שנשמרה קודם לכן ונעדכן את כתובת האתר בהתאם לצילום המסך למטה:
-
בואו נשמור את התצורה ונפעיל מחדש את האפליקציה שלנו באמצעות מקש הקיצור Ctrl+Shift+F10, או באמצעות כפתור מיוחד בחלונית השירותים:
-
לאחר ההפעלה מחדש, אם הכל נעשה כהלכה, נראה את גילו של דיוק:
סיכום
במאמר זה, בדקנו כיצד תוכל להגדיר את הסביבה המקומית שלך לעבודה עם יישומי Java EE באמצעות הדוגמה של שרת GlassFish 4.0, סביבת הפיתוח IntelliJ IDEA 2019.3.1 (Ultimate), כמו גם Java EE SDK גרסה 7. בדקנו איך אתה יכול:- הורד והתקן Java EE SDK, כמו גם את שרת GlassFish;
- עצור והפעל את שרת GlassFish באמצעות PowerShell;
- הגדר את IntelliJ IDEA כך שתוכל לפרוס יישומי Java EE מה-IDE לשרת GlassFish ולהפעיל אותם מיד.
משימת בונוס
- חזור על כל השלבים המתוארים בעצמך.
- קח קורס מבוא על Java EE למפתחי Java EE מתחילים מ-Oracle .
- פריט עם כוכבית. נסה לפרוס את אפליקציית ההדגמה השנייה של הכוס הראשונה בעצמך. אפליקציה זו אינטראקטיבית יותר ומקיימת גם אינטראקציה עם האפליקציה של גיל הדוכס. כדי להשלים שלב זה, תצטרך להבין באופן עצמאי את השאלות הבאות:
- כיצד להפעיל את מסד הנתונים בתוך שרת glassFish;
- כיצד לשלב שני יישומים זה עם זה (בתוך הכוס הראשונה מציינים את הנתיב לנקודת הסיום של גיל הדוכסים, עליה דנו במאמר זה);
- כיצד ליצור תצורה חדשה ב- Intellij IDEA לפריסת הכוס הראשונה (בדומה למה שהוצג במאמר זה);
- אולי עוד שאלות רבות)
GO TO FULL VERSION