- 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 (Ultimate)؛
- Java EE SDK 7.
نصب Java EE SDK
شرط مهم قبل از نصب Java EE SDK، باید مطمئن شوید که Java SE SDK از قبل نصب شده است.-
ابتدا باید SDK را دانلود کنیم. برای انجام این کار، می توانید در موتور جستجو تایپ کنید: "Java EE SDK 7" یا مستقیماً به صفحه دانلود sdk از وب سایت Oracle بروید.
-
از لیست SDK های ارائه شده، باید SDK را انتخاب کنید که برای پلتفرم شما مناسب است. مقاله نصب توزیع را شرح می دهد: "java_ee_sdk-7-jdk7-windows-x64-ml.exe"
-
فایل نصب را اجرا کنید. در هنگام راه اندازی، خطای زیر ممکن است رخ دهد (اگر رخ نداد، می توانید به سادگی نصب را ادامه دهید):
این به این معنی است که نصب کننده نتوانست مسیر جاوا را که از قبل نصب شده است را پیدا کند. با ارسال دستی مسیر JRE با استفاده از خط فرمان می توان خطا را تصحیح کرد. برای این کار باید فایل نصبی را از طریق PowerShell اجرا کنید و مسیر JRE از پیش نصب شده را از طریق پارامتر -j عبور دهید.
به عنوان مثال، مانند این:
-
مراحل نصب بعدی برای اکثر برنامه ها کاملاً معمولی است. تنها کاری که باید انجام دهید این است که روی دکمه های Next و Install کلیک کنید.
این برنامه 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، duks-age را تجزیه و تحلیل می کنیم
در ادامه به یک برنامه آزمایشی Java EE نگاه خواهیم کرد: dukes-age. این اپلیکیشن در Java EE SDK به همراه اپلیکیشن first-cup گنجانده شده است. توضیحات این برنامه ها در وب سایت رسمی اسناد Oracle در بخش های 3 و 4 دوره مقدماتی Java EE برای توسعه دهندگان مبتدی Java EE ارائه شده است . در این مقاله به طور مختصر به اپلیکیشن dukes-age نگاهی می اندازیم و روند راه اندازی این اپلیکیشن روی سرور GlassFish از محیط توسعه IntelliJ IDEA را با جزئیات بیشتری بررسی می کنیم. برنامه در داخل فهرست سرور glassfish قرار دارد. اگر هنگام نصب Java EE SDK مسیر پیشفرض سرور glassfish را تغییر ندادهاید، میتوانید این برنامه را در پوشه: C:\glassfish4\docs\firstcup\example\dukes-age پیدا کنید . احتمالاً هر توسعه دهنده جاوا، مبتدی و با تجربه، حداقل یک بار طلسم زبان برنامه نویسی جاوا را دیده است - دوک: تعداد کمی از مردم می دانند که دوک تولد دارد. او در 23 می 1995 به دنیا آمد، زمانی که اولین نسخه آزمایشی فناوری جاوا منتشر شد. اپلیکیشن Dukes-age همانطور که از نامش پیداست اطلاعاتی درباره سن دوک ارائه می دهد. بیایید این برنامه را در IntelliJ IDEA باز کنیم: File -> New -> Project From Existing Sources... سپس به پوشه ای با برنامه dukes-age بروید که به طور پیش فرض در C:\glassfish4\docs\firstcup\example\dukes- قرار دارد. age ، فایل pom.xml را انتخاب کرده و روی OK کلیک کنید: برنامه ای با ساختار زیر باز می شود: بیایید نگاهی به کد کلاس بیندازیم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- برای این کار به منوی Run -> Edit Configurations بروید.
- پانل Run/Debug Configurations باز می شود:
- باید یک پیکربندی جدید اضافه کنیم. برای این کار روی علامت مثبت کلیک کنید یا از کلید میانبر Alt+Insert استفاده کنید. در لیستی که باز می شود، GlassFish Server -> Local را انتخاب کنید:
- در پنجره ای که باز می شود، اجازه دهید تنظیمات پیکربندی را شروع کنیم:
- مرحله بعدی نشان دادن مصنوعاتی است که باید در سرور مستقر شوند. این کار را می توان از طریق تب Deployment با کلیک بر روی +> Artifact... انجام داد.
- dukes-age:war را انتخاب کرده و روی OK کلیک کنید:
- در مرحله بعد، پیکربندی خود را با کلیک بر روی Apply و سپس OK ذخیره کنید.
راه اندازی برنامه
حالا بیایید سعی کنیم برنامه را اجرا کنیم.-
برای این کار می توانید از کلید میانبر Alt+Shift+F10 یا از طریق منوی Run -> Run... استفاده کنید.
و پیکربندی duks-age که ایجاد کردیم را انتخاب کنید:
-
پس از این، ما گزارش های راه اندازی را در پانل Services می بینیم:
-
سپس، اگر همه چیز طبق دستورالعمل انجام شود، مرورگر باز می شود و مشخص می شود که هیچ چیز کار نمی کند:
-
برای انجام این کار، اجازه دهید به IntelliJ IDEA برگردیم، سپس به منوی: Run -> Edit Configurations...
-
بیایید پیکربندی ذخیره شده قبلی را انتخاب کنیم و URL را مطابق با تصویر زیر به روز کنیم:
-
بیایید پیکربندی را ذخیره کنیم و برنامه خود را با استفاده از کلید میانبر Ctrl+Shift+F10 یا با استفاده از یک دکمه خاص در پانل Services راه اندازی مجدد کنیم:
-
پس از راه اندازی مجدد، اگر همه چیز به درستی انجام شود، سن دوک را خواهیم دید:
نتیجه
در این مقاله، نحوه پیکربندی محیط محلی خود را برای کار با برنامه های 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 بگیرید .
- مورد با ستاره. سعی کنید دومین برنامه آزمایشی جام اول را خودتان اجرا کنید. این برنامه تعاملی تر است و همچنین با برنامه duks-age تعامل دارد. برای تکمیل این مرحله، باید به طور مستقل سؤالات زیر را درک کنید:
- نحوه فعال کردن پایگاه داده در سرور glassFish.
- نحوه ادغام دو برنامه با یکدیگر (در داخل اولین جام نشان دهنده مسیر رسیدن به نقطه پایانی دوک است که در این مقاله به آن پرداختیم).
- نحوه ایجاد یک پیکربندی جدید در Intellij IDEA برای استقرار اولین جام (مشابه آنچه در این مقاله نشان داده شد).
- احتمالاً بسیاری از سؤالات دیگر)
GO TO FULL VERSION