- جاوا EE SDK؛
- جاوا ای ای ایپلیکیشن سرور گلاس فش؛
- IntelliJ IDEA ترتیب دینا۔
- دکھائیں کہ آپ جاوا EE ایپلیکیشنز کے ساتھ کام کرنے کے لیے کام کرنے کا ماحول کیسے تیار کر سکتے ہیں۔
- دکھائیں کہ آپ GlassFish سرور پر IntelliJ IDEA سے Java EE ایپلیکیشنز کو کیسے تعینات اور چلا سکتے ہیں۔
- Java EE 7 SDK ڈاؤن لوڈ اور انسٹال کریں۔
- آئیے جاوا EE ایپلیکیشن سرور GlassFish کو بڑھاتے ہیں۔
- آئیے سیکھتے ہیں کہ کمانڈ لائن کے ذریعے سرور کو کیسے شروع اور بند کیا جائے۔
- آئیے اس سرور پر ایپلیکیشنز کو تعینات کرنے کے لیے IntelliJ IDEA کو ترتیب دیں۔
- آئیے ڈیمو ایپلیکیشن کو تعینات اور چلاتے ہیں، جو GlassFish ایپلیکیشن سرور کے ساتھ جاوا EE 7 SDK میں شامل ہے۔
- گلاس فش 4.0؛
- IntelliJ IDEA 2019.3.1 (الٹیمیٹ)؛
- Java EE SDK 7۔
جاوا EE SDK انسٹال کرنا
اہم شرط۔ Java EE SDK انسٹال کرنے سے پہلے، آپ کو یہ یقینی بنانا ہوگا کہ Java SE SDK پہلے سے انسٹال ہے۔-
سب سے پہلے، ہمیں SDK ڈاؤن لوڈ کرنے کی ضرورت ہے۔ ایسا کرنے کے لیے، آپ سرچ انجن میں ٹائپ کر سکتے ہیں: "Java EE SDK 7"، یا براہ راست Oracle ویب سائٹ سے sdk ڈاؤن لوڈ پیج پر جائیں۔
-
فراہم کردہ SDKs کی فہرست میں سے، آپ کو ایک کو منتخب کرنے کی ضرورت ہے جو آپ کے پلیٹ فارم کے لیے موزوں ہو۔ مضمون میں تقسیم کو انسٹال کرنے کی وضاحت کی گئی ہے: "java_ee_sdk-7-jdk7-windows-x64-ml.exe"
-
انسٹالیشن فائل چلائیں۔ سٹارٹ اپ کے دوران، درج ذیل خرابی ہو سکتی ہے (اگر ایسا نہیں ہوتا ہے، تو آپ آسانی سے انسٹالیشن جاری رکھ سکتے ہیں):
اس کا مطلب ہے کہ انسٹالر پہلے سے نصب جاوا رن ٹائم ماحول کا راستہ تلاش کرنے سے قاصر تھا۔ کمانڈ لائن کا استعمال کرتے ہوئے دستی طور پر JRE کا راستہ پاس کر کے غلطی کو درست کیا جا سکتا ہے۔ ایسا کرنے کے لیے، آپ کو پاور شیل کے ذریعے انسٹالیشن فائل چلانے کی ضرورت ہے اور -j پیرامیٹر کے ذریعے پہلے سے نصب JRE کا راستہ پاس کرنا ہوگا۔
مثال کے طور پر، اس طرح:
-
مزید تنصیب کا طریقہ کار زیادہ تر پروگراموں کے لیے کافی عام ہے۔ آپ کو بس نیکسٹ اور انسٹال بٹن پر کلک کرنے کی ضرورت ہے۔
یہ پروگرام جاوا EE SDK کے ساتھ ساتھ GlassFish سرور کو انسٹال کرے گا، جو انسٹالیشن کی تکمیل کے بعد تیار ہو جائے گا اور استعمال کے لیے تیار ہو جائے گا۔ -
اس بات کو یقینی بنانے کے لیے کہ GlassFish سرور کام کر رہا ہے، انسٹالیشن مکمل ہونے کے بعد، آپ سرور ایڈمن پینل کھول سکتے ہیں، جو یہاں دستیاب ہوگا: http://localhost:4848/
ذیل میں اسکرین شاٹ:
GlassFish کمانڈ لائن کے ذریعے شروع اور رک رہی ہے۔
لہذا، سرور تیار ہے اور چل رہا ہے، لیکن سرور کا آغاز انسٹالیشن پروگرام کے ذریعہ شروع کیا گیا تھا۔ ذیل میں ہم یہ جاننے کی کوشش کریں گے کہ سرور کو خود کیسے شروع اور بند کیا جائے۔ سب سے پہلے، آئیے ڈومین کے طور پر ایک ایسی ہستی کو ظاہر کرتے ہیں۔ ایک ڈومین ایک یا زیادہ GlassFish سرور مثالوں کا ایک سیٹ ہوتا ہے جس کا انتظام ایک ایڈمنسٹریشن سرور کرتا ہے۔ GlassFish سرور انسٹال کرتے وقت، ایک ڈیفالٹ ڈومین بنایا جاتا ہے - domain1۔ مندرجہ ذیل اجزاء اس کے ساتھ منسلک ہیں:- سرور پورٹ (پہلے سے طے شدہ 8080)؛
- ایڈمنسٹریشن سرور پورٹ (پہلے سے طے شدہ 4848)؛
- ایڈمنسٹریٹر کا صارف نام اور پاس ورڈ (پہلے سے طے شدہ ایڈمن ہے اور ڈیفالٹ کے ذریعہ پاس ورڈ کی ضرورت نہیں ہے)۔
asadmin start-domain domain_name
asadmin stop-domain domain_name
آئیے سب ڈائرکٹری C:\glassfish4\glassfish\bin سے PowerShell چلا کر سرور کو روکنے کی کوشش کریں (چونکہ یہ انسٹالیشن کے بعد پہلے سے ہی چل رہا ہے) : سرور بند ہو گیا ہے۔ اب اسے چلائیں:
ہم پہلی Java EE ایپلیکیشن کا تجزیہ کرتے ہیں، dukes-age
اگلا ہم جاوا EE ایپلیکیشن کا ڈیمو دیکھیں گے: dukes-age. یہ ایپلیکیشن Java EE SDK میں فرسٹ کپ ایپلیکیشن کے ساتھ شامل ہے۔ ان ایپلی کیشنز کی تفصیل جاوا EE پر ابتدائی جاوا EE ڈویلپرز کے تعارفی کورس کے سیکشن 3 اور 4 میں سرکاری Oracle دستاویزات کی ویب سائٹ پر پیش کی گئی ہے ۔ اس آرٹیکل میں، ہم مختصر طور پر ڈیوکس ایج ایپلی کیشن کو دیکھیں گے اور انٹیلی جے آئی ڈی ای اے ڈیولپمنٹ ماحول سے گلاس فش سرور پر اس ایپلی کیشن کو لانچ کرنے کے عمل کا مزید تفصیل سے جائزہ لیں گے۔ ایپلیکیشن گلاس فش سرور ڈائرکٹری کے اندر واقع ہے۔ اگر آپ نے جاوا EE SDK کو انسٹال کرتے وقت گلاس فش سرور کے لیے طے شدہ راستہ تبدیل نہیں کیا، تو آپ اس ایپلی کیشن کو فولڈر میں تلاش کر سکتے ہیں: C:\glassfish4\docs\firstcup\example\dukes-age ۔ شاید ہر جاوا ڈویلپر، ابتدائی اور تجربہ کار، نے کم از کم ایک بار جاوا پروگرامنگ لینگویج کا شوبنکر دیکھا ہوگا - ڈیوک: بہت کم لوگ جانتے ہیں کہ ڈیوک کی سالگرہ ہے۔ وہ 23 مئی 1995 کو پیدا ہوا تھا، جب جاوا ٹیکنالوجی کا پہلا ڈیمو ورژن شائع ہوا تھا۔ ڈیوکس ایج ایپ، جیسا کہ نام سے ظاہر ہے، ڈیوک کی عمر کے بارے میں معلومات فراہم کرتا ہے۔ آئیے اس ایپلی کیشن کو IntelliJ IDEA میں کھولتے ہیں: فائل -> نیا -> موجودہ ذرائع سے پروجیکٹ... پھر ڈیوکس ایج ایپلی کیشن والے فولڈر میں جائیں، جو بطور ڈیفالٹ 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()
۔ اگر آپ اس طریقہ کار کے کوڈ کا جائزہ لیں تو یہ واضح ہو جاتا ہے کہ یہ طریقہ ڈیوک کی پیدائش کے بعد سے گزرے ہوئے سالوں کی تعداد لوٹاتا ہے۔ یعنی، طریقہ ڈیوک کی عمر لوٹاتا ہے۔ ایک کلاس باقی سیاق و سباق میں ایک وسیلہ ہے۔
- کلاس کے اوپر تشریح
@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
ایک ٹیگ کی وضاحت کی گئی ہے ۔ یہاں ایک خاص روٹ پوائنٹ کی وضاحت کی گئی ہے، جس پر سروس کے ذریعے مزید کارروائی کی جائے گی۔ اگر تشریح کے ساتھ ملایا جائے تو پتہ چلتا ہے کہ ڈیوک کی عمر کے بارے میں معلومات حاصل کرنے کے لیے، آپ کو ایڈریس /webapi/dukesAge پر رابطہ کرنا ہوگا۔ url-pattern
/webapi/*
@Path("dukesAge")
GlassFish سرور پر Java EE ایپلیکیشن چلانے کے لیے IntelliJ IDEA ترتیب دینا
اب جب کہ ہمارے پاس ڈیوکس ایج ایپلی کیشن کا بہت عام خیال ہے (اس کے بارے میں اوریکل سائٹ پر مزید پڑھیں )، آئیے IntelliJ IDEA کو کنفیگر کرتے ہیں تاکہ ہم اس ایپلی کیشن کو اپنے IDE سے چلا سکیں۔ IntelliJ IDEA ترتیب دینا- ایسا کرنے کے لیے مینو پر جائیں Run -> Edit Configurations۔
- رن/ڈیبگ کنفیگریشن پینل کھل جائے گا:
- ہمیں ایک نئی ترتیب شامل کرنے کی ضرورت ہے۔ ایسا کرنے کے لیے، جمع کے نشان پر کلک کریں، یا Alt+Insert hotkey استعمال کریں۔ کھلنے والی فہرست میں GlassFish Server -> Local کو منتخب کریں:
- کھلنے والی ونڈو میں، آئیے کنفیگریشن ترتیب دینا شروع کریں:
- اگلا مرحلہ ان نمونوں کی نشاندہی کرنا ہے جنہیں سرور پر تعینات کرنے کی ضرورت ہوگی۔ یہ تعیناتی ٹیب کے ذریعے پلس -> آرٹفیکٹ... پر کلک کر کے کیا جا سکتا ہے۔
- dukes-age:war کو منتخب کریں اور OK پر کلک کریں:
- اگلا، اپلائی اور پھر اوکے پر کلک کرکے ہماری کنفیگریشن کو محفوظ کریں۔
ایپلیکیشن لانچ کرنا
اب آئیے ایپلی کیشن کو چلانے کی کوشش کرتے ہیں۔-
ایسا کرنے کے لیے، آپ ہاٹکی Alt+Shift+F10 استعمال کر سکتے ہیں، یا مینو کے ذریعے Run -> Run...
اور ہم نے جو ڈیوکس ایج کنفیگریشن بنائی ہے اسے منتخب کریں:
-
اس کے بعد ہم سروسز پینل میں اسٹارٹ اپ لاگز دیکھتے ہیں:
-
پھر، اگر سب کچھ ہدایات کے مطابق کیا جائے تو، براؤزر کھل جائے گا اور یہ واضح ہو جائے گا کہ کچھ بھی کام نہیں کر رہا ہے:
-
ایسا کرنے کے لیے، آئیے واپس IntelliJ IDEA پر جائیں، پھر مینو پر جائیں: Run -> Edit Configurations...
-
آئیے پہلے محفوظ کردہ کنفیگریشن کو منتخب کریں اور نیچے دیے گئے اسکرین شاٹ کے مطابق URL کو اپ ڈیٹ کریں:
-
آئیے کنفیگریشن کو محفوظ کریں اور Ctrl+Shift+F10 ہاٹکی، یا سروسز پینل پر ایک خصوصی بٹن کا استعمال کرتے ہوئے اپنی ایپلیکیشن کو دوبارہ شروع کریں:
-
دوبارہ شروع کرنے کے بعد، اگر سب کچھ صحیح طریقے سے کیا گیا تھا، تو ہم ڈیوک کی عمر دیکھیں گے:
نتیجہ
اس مضمون میں، ہم نے دیکھا کہ آپ GlassFish 4.0 سرور، IntelliJ IDEA 2019.3.1 (الٹیمیٹ) ڈیولپمنٹ ماحول کے ساتھ ساتھ Java EE SDK ورژن 7 کی مثال کا استعمال کرتے ہوئے جاوا EE ایپلیکیشنز کے ساتھ کام کرنے کے لیے اپنے مقامی ماحول کو کس طرح ترتیب دے سکتے ہیں۔ ہم نے دیکھا کہ آپ کیسے کر سکتے ہیں:- جاوا EE SDK کے ساتھ ساتھ GlassFish سرور کو ڈاؤن لوڈ اور انسٹال کریں۔
- پاور شیل کے ذریعے گلاس فش سرور کو روکیں اور شروع کریں۔
- IntelliJ IDEA کو ترتیب دیں تاکہ آپ IDE سے GlassFish سرور پر جاوا EE ایپلیکیشنز کو تعینات کر سکیں اور انہیں فوری طور پر لانچ کر سکیں۔
بونس کا کام
- بیان کردہ تمام اقدامات خود دہرائیں۔
- اوریکل سے جاوا EE ڈویلپرز کے لیے جاوا EE پر ایک تعارفی کورس کریں ۔
- ستارے کے ساتھ آئٹم۔ دوسرے فرسٹ کپ ڈیمو ایپلیکیشن کو خود تعینات کرنے کی کوشش کریں۔ یہ ایپلیکیشن زیادہ انٹرایکٹو ہے اور ڈیوکس ایج ایپلی کیشن کے ساتھ بھی بات چیت کرتی ہے۔ اس مرحلے کو مکمل کرنے کے لیے، آپ کو درج ذیل سوالات کو آزادانہ طور پر سمجھنے کی ضرورت ہوگی:
- گلاس فش سرور کے اندر ڈیٹا بیس کو کیسے فعال کیا جائے؛
- دو ایپلی کیشنز کو ایک دوسرے کے ساتھ کیسے ضم کیا جائے (پہلے کپ کے اندر ڈیوکس ایج اینڈ پوائنٹ کے راستے کی نشاندہی کرتا ہے، جس پر ہم نے اس مضمون میں تبادلہ خیال کیا ہے)؛
- پہلے کپ کی تعیناتی کے لیے Intellij IDEA میں ایک نئی کنفیگریشن کیسے بنائی جائے (جیسا کہ اس مضمون میں دکھایا گیا ہے)؛
- ممکنہ طور پر بہت سے دوسرے سوالات)
GO TO FULL VERSION