مقالات آموزشی جاواهاستینگ

چهارشنبه, ۲۹ بهمن ۱۳۹۹، ۱۰:۲۶ ق.ظ واحد فنی
نکات آموزشی کاربردی برای هر جاواکار بخش سیزدهم

نکات آموزشی کاربردی برای هر جاواکار بخش سیزدهم

در ادامه (نمونه پروژه Spring Boot) بخش دوازدهم داریم :

کلاس service بطور خلاصه واسطی جهت سرویس دهی به داده های ارسالی و دریافتی از کلاس Controller و Repository می باشد. در واقع لایه سرویس گذرگاهی بین لایه Controller و Repository می باشدکه وظیفه آن تبدیل نوع Request دریافتی از Controller که در قالب Dto (البته در صورت استفاده ازDesign Pattern Dto,Dao ) است به قالب Dao و بالعکس داده های دریافتی از Repository درقالب Dao و تبدیل آن به Dto برای ارسال به Controller می باشد. برای ایجاد آن ابتدا باید کلاسی برای آن تعریف و بالای آن annotation @Service قرار داده شود. همچنین باید آبجکتی از Repository ایجاد و با قرار دادن annotation @autowired بالای آن می توان آنرا به کلاس Repository متصل نمود. البته می توان بجای استفاده از annotation @autowired , متد سازنده ای که آبجکت ایجاد شده از Repository را بعنوان پارامتر دریافت می کند ایجاد و استفاده نمود که دقیقا کارautowired@ را انجام می دهد . این کلاس واسطی برای ارسال و دریافت داده هاست. همچنین متد هایی که در کلاس Controller ایجاد شده دقیقا در این کلاس هم تعریف شدند با این تفاوت که آنها با آبجکت ایجاد شده از Repository کارمی کنند.

نمونه service بکار رفته با CrudRepository و JpaRepository :

ادامه مطلب...
۲۹ بهمن ۹۹ ، ۱۰:۲۶ ۰ نظر موافقین ۰ مخالفین ۰
واحد فنی
سه شنبه, ۲۸ بهمن ۱۳۹۹، ۱۱:۰۲ ق.ظ واحد فنی
نکات آموزشی کاربردی برای هر جاواکار بخش دوازدهم

نکات آموزشی کاربردی برای هر جاواکار بخش دوازدهم

در این بخش و بخش بعدی, نمونه پیاده سازی یک پروژه Spring Boot را به همراه جزئیات و نکات لازم آن ارائه می دهیم.

قبل از شروع هرکاری ابتدا باید فایل pom.xml را باز کرده و depenency ها یا افزونه های مربوطه را به آن اضافه کنیم.


همچنین چون با دیتابیس کار خواهیم کرد بایستی ابتدا تنظیمات آنرا به فایلی تحت عنوان application.properties که در پوشه resources قرار دارد اضافه شود.

سپس کار طراحی پروژه با کلاس مدل Jpa برای موجودیت Entity User آغاز می شود. در واقع این کلاس به همراه فیلدهایش همان جدول مدنظر ما در پایگاه داده می باشد.

ادامه مطلب...
۲۸ بهمن ۹۹ ، ۱۱:۰۲ ۰ نظر موافقین ۰ مخالفین ۰
واحد فنی
سه شنبه, ۲۸ بهمن ۱۳۹۹، ۰۹:۴۱ ق.ظ واحد فنی
نکات آموزشی کاربردی برای هر جاواکار بخش یازدهم

نکات آموزشی کاربردی برای هر جاواکار بخش یازدهم

Spring Framework

از دیگر فریمورک های کاربردی و پر استفاده در زبان برنامه نویسی جاوا Spring می باشد که برای طراحی برنامه های تجاری در بسترهای مختلفی از جمله وب کاربرد دارد. دلایل استفاده این همه برنامه نویس از این فریمورک performance بسیار بالا و تست راحت و معماری آن است. همچنین اسپرینگ از ماژول های گوناگونی استفاده می کند که رایج ترین آنها عبارتند از Spring Boot , Spring Mvc . اسپرینگ بوت اغلب برای طراحی برنامه های کوچک با Loading سریع می باشد مانند اپلیکیشن های اندرویدی. این ماژول کار طراحی را بسیار آسان می کند بدین صورت که در ابتدای مراحل ساخت اپلیکیشن, تمام وابستگی ها (Dependecy ) و کتابخانه های مربوطه که احتمال به کارگیری آنها باشد را دانلود و به پروژه اضافه می کند اما این مورد عملکرد برنامه را پایین می آورد و برای طراحی اپلیکیشن های بزرگ مناسب نمی باشد. برای ایجاد برنامه های بزرگ بهتر است از ماژول های دیگر اسپرینگ مانند Spring Mvc استفاده نمود که تسهیل های نوع Spring Boot را ندارد اما دارای عملکرد بهتری است.

 

چرخه عملکرد پروژه های اسپرینگی بشرح زیر می باشد :

1- در ابتدا Request توسط Client ارسال می شود

2- Request توسط کلاس Controller دریافت شده و عملیات mapping و handles روی آن انجام می گیرد

3- داده ها به کلاس Service منتقل شده و mapping به کلاس مدل Jpa ساخته شده صورت می گیرد

4- در صورت لزوم داده ها از کلاس Service مستقیما به کلاس Repository منتقل شده و عملیات CRUD روی آنها انجام می شود

5- پس از اتمام عملیات, خروجی به ترتیب 4 مرحله طی شده بازگشته و نتیجه Response به client نمایش داده می شود

 

همچنین Spring Boot و Spring Mvc دارای annotation های کاربردی هستند که در دو آدرس زیر به همراه جزییات قابل مشاهده می باشد.

https://www.javatpoint.com/spring-boot-annotations

https://www.journaldev.com/16966/spring-annotations

۲۸ بهمن ۹۹ ، ۰۹:۴۱ ۰ نظر موافقین ۰ مخالفین ۰
واحد فنی
يكشنبه, ۲۶ بهمن ۱۳۹۹، ۱۱:۴۲ ق.ظ واحد فنی
نکات آموزشی کاربردی برای هر جاواکار بخش دهم

نکات آموزشی کاربردی برای هر جاواکار بخش دهم

در ادامه بحث (Hibernate-Jpa) بخش نهم و ادامه نمونه پروژه مربوطه داریم :

Annotation های مخصوص بکار رفته در پروژه بخش قبل عبارتند از :

Entity@: قبل از تعریف این سه کلاس بکار رفته که نشان دهنده موجودیت بودن هر کدام است و حتما باید ذکر شود.

Table@: در صورتی کاربرد دارد که بخواهیم بجای ایجاد جدول با نام پیشفرض در دیتابیس, نامی دلخواه قرار دهیم.

Id@: جهت تنظیم فیلد آیدی و کلید اصلی کردن آن بکار می رود.

GeneratedValue@: برای تعیین نوع فیلد کلید اصلی می باشد.همچنین شامل خواص مختلفی است که در اینجا Auto تنظیم شده به این معنا که با توجه به نوع دیتابیس بصورت اتوماتیک مقادیر تولید شده در این فیلد را تنظیم می کند.در صورت عدم تعیین استراتژی این Annotation , بطور پیشفرض با Auto مقدار دهی می شود.

Column@: در صورتی که بخواهیم هر فیلد در جدول با نام دلخواه ایجاد شود این Annotation را بالای آن قرار داده و نام مدنظر را به آن می دهیم.

ElementCollection@:گاهی اوقات برای ایجاد ارتباط با Entity دیگر, آبجکتی از آن را بصورت لیست ایجاد می کنیم که ممکن است در خروجی خطا دهد و لیست را قبول نکند که با این Annotation احتمالا مشکل رفع می شود اما اکثرا ممکن است خطا مربوط به عدم درست بودن منطق رابطه ما باشد که در این صورت فقط بایدآنرا تغییر دهیم.

ادامه مطلب...
۲۶ بهمن ۹۹ ، ۱۱:۴۲ ۰ نظر موافقین ۰ مخالفین ۰
واحد فنی
شنبه, ۲۵ بهمن ۱۳۹۹، ۱۱:۰۸ ق.ظ واحد فنی
نکات آموزشی کاربردی برای هر جاواکار بخش نهم

نکات آموزشی کاربردی برای هر جاواکار بخش نهم

نمونه پروژه Hibernate-Jpa (بخش اول)

ابتدا باید فایلی تحت عنوان pom.xml جهت اضافه کردن Depedency های maven مدنظر ایجاد و در مرحله بعد برای معرفی کلاس Entitymanager سپس معرفی کلاس هایEntity طراحی شده و سایر تنظیمات مهم خصوصا تنظیمات مربوط به دیتابیس فایل persistence.xml ایجاد می شود.

فایل pom.xml

ادامه مطلب...
۲۵ بهمن ۹۹ ، ۱۱:۰۸ ۰ نظر موافقین ۰ مخالفین ۰
واحد فنی
سه شنبه, ۲۱ بهمن ۱۳۹۹، ۰۹:۵۸ ق.ظ واحد فنی
نکات آموزشی کاربردی برای هر جاواکار بخش هشتم

نکات آموزشی کاربردی برای هر جاواکار بخش هشتم

در ادامه بحث بخش هفتم (Servlet - Jsp) داریم : 

روش های نوشتن فایل Jsp : برای نوشتن این نوع فایل, کتابخانه ای تحت عنوان Jstl طراحی شده است که شامل مجموعه ای از تگ ها (tag library) می باشد. این تگ ها به دسته های مختلفی تقسیم می شوند که عبارتند از :

1- Core : تگ های مخصوصی که از متداول ترین ها بوده و اکثرا از آنها استفاده می شوند. مانند

2- Formatting :مجموعه ای از تگ ها برای فرمت دهی به آبجکت های مختلف می باشد مانند اعداد, تاریخ و ساعت, متن. مانند

3- Sql : دسته ای از تگ های کاربردی برای کار با دیتابیس و اجرای Query ها بکار می روند. مانند

4- Xml : این نوع تگ ها برای کار با فایل های Xml از جمله ایجاد و کار با آن ها می باشند.

5- Functions : این دسته تگ ها شامل متد های آماده ای جهت کار با String ها می باشند که اکثرا با توابع کلاس String مشترک هستند مانند ()fn:indexOf

 

- لیست کامل تگ ها به همراه جزییات در سایت های www.javapoint.com و www.tutorialspoint.com موجود است.

ادامه مطلب...
۲۱ بهمن ۹۹ ، ۰۹:۵۸ ۰ نظر موافقین ۰ مخالفین ۰
واحد فنی
سه شنبه, ۲۱ بهمن ۱۳۹۹، ۰۹:۲۳ ق.ظ واحد فنی
نکات آموزشی کاربردی برای هر جاواکار بخش هفتم

نکات آموزشی کاربردی برای هر جاواکار بخش هفتم

در ادامه بحث بخش ششم (Servlet - Jsp) داریم : 

 

مفهوم Container در وب سرور 

شامل فیلتر ها , کتابخانه ها, کلاس ها و ابزار های مختلفی جهت میزبانی اپلیکیشن تحت وب می باشند. گونه های زیادی از وب سرور ها برای میزبانی اپلیکیشن ها طراحی شدند که رایج ترین آن ها عبارتند از : Tomcat , Glassfish, Payara, Wildfly, Weblogic

جهت استفاده از هر کدام, ابتدا باید فایل مربوطه را دانلود و از طریق terminal نصب نمود. همچنین در صورت تنظیم نبودن JDK, باید با واردکردن دستور vim ~/.bashrc در terminal, نسبت به تنظیم آن اقدام شود.

Servlet ها

کلاس های طراحی شده به زبان جاوا هستند که از کلاس Servlet جهت مدیریت هر Request و Response مشتق (extends) شده و متد های Get و Post آن کلاس را بازنویسی (Override) می کنند. همچنین با استفاده از برخی فیلترهای Servlet که یکی از مهم ترین آنها می باشد , می توان مشخص کرد که هر Servlet تعریف شده مسئول پاسخ گویی به کدام URL است تا به عنوان مثال کاربر به آن آدرس هدایت شود.

ایجاد یک Servlet

 ابتدا کلاس جاوای سرولت نوشته می شود که طی آن ابتدا کلاس مورد نظر باید از کلاس servlet ارث بری کند سپس متد های dopost و doget آن پیاده سازی مجدد override شده و سایر تعاریف به همراه مقداردهی ها انجام گرفته و ذخیره می شود. در مرحله بعد سرولت ایجاد شده درون فایل web.xml پروژه بوسیله تگ های مخصوص تعریف می گردند.

ادامه مطلب...
۲۱ بهمن ۹۹ ، ۰۹:۲۳ ۰ نظر موافقین ۰ مخالفین ۰
واحد فنی
يكشنبه, ۱۹ بهمن ۱۳۹۹، ۰۹:۱۰ ق.ظ واحد فنی
نکات آموزشی کاربردی برای هر جاواکار بخش ششم

نکات آموزشی کاربردی برای هر جاواکار بخش ششم

دو مدل ارتباطی در زبان برنامه نویسی جاوا وجود دارد که شامل Client (مشتری یا سرویس گیرنده) و Server (میزبان یا سرویس دهنده) می باشند که هر دو آدرس و شماره Port یکسانی برای ایجاد ارتباط دارند. Port, کانال ارتباطی بین Client و server هست که توسط سرور میزبان جهت مدیریت محتوای ارسالی به سرویس گیرنده که مشتری است, بکار می رود. درخواست مشتری (Request) در قالب یک Packet یا بسته به وب سرور میزبان ارسال شده و پس از انجام عمل مربوطه, نتیجه بصورت پاسخی (Response) از طرف سرور به مشتری ارسال می شود. پورت های دارای اهمیت در این مبحث شامل دو پروتکل لایه نرم افزاری Tcp-ip می باشند که عبارتند از : Http با پورت پیشفرض 80 و Https با پورت پیشفرض 443. همچنین امکان تغییر پورت در هر دو پروتکل توسط میزبان وجود دارد بشرطی که مشتری یا سرویس گیرنده را از پورت جدید مطلع سازد.

نحوه دسترسی مشتری به اپلیکیشن تحت وب در وب سرور, با ارائه یکی از دو پروتکل مذکور به همراه آدرس قرارگیری اپلیکیشن توسط سرویس دهنده و واردکردن آن در نوار آدرس مرورگر توسط مشتری امکان پذیر است. این آدرس که بعد از ذکر پروتکل قرار می گیرد, ابتدا شامل آدرس Ip یک فضای میزبانی در ماشین مجازی Virtual Machine Host و یا آدرس دامنه ای که بر روی فضای میزبان اینترنتی خریداری شده می باشد. در ادامه پس از ذکر موارد یاد شده, مسیری که وب اپلیکیشن توسط سرویس دهنده در وب سرور قرار گرفته آورده می شود. نمونه کامل یک آدرس بصورت زیر می باشد :

Http://javahosting.ir/webapps/exmpleapp

 

محتوای هر پروژه وب اپلیکیشن

 

هر پروژه اپلیکیشن تحت وب شامل موارد زیر می باشد :

- فایل های تنظیمات اعم از Xml ها و Properties

- کلاس ها که همان فایل های جاوای کامپایل شده می باشند

- کتابخانه ها که مهم ترین آنها عبارتند از : Jar و Jvm

- منابع کمکی یا Assest ها که محل قرارگیری تصاویر ,لوگو ها, فایل های Html,Css و از این قبیل می باشند

۱۹ بهمن ۹۹ ، ۰۹:۱۰ ۰ نظر موافقین ۰ مخالفین ۰
واحد فنی
شنبه, ۱۸ بهمن ۱۳۹۹، ۱۰:۱۷ ق.ظ واحد فنی
نکات پایه و کاربردی زبان برنامه نویسی جاوا بخش چهارم

نکات پایه و کاربردی زبان برنامه نویسی جاوا بخش چهارم

شمارش (Enum  : (Enum ها نوعی از داده هستند برای وقتی که ما چند مقدار محدود ثابت داریم مانند چند کتاب از یک کتابخانه.در صورت خالی تعریف کردن یک شمارش می توان با ایجاد نمونه ای از آن و بدون new کردن آن را مستقیما مقداردهی کرد. شمارش ها مانند کلاس ها می توانند دارای انواع متد مانند constructor و همچنین متغیرها باشد. هر enum بطور پیشفرض از نوع final,static و public می باشد. برای تعریف آن هم اول enum ذکر شده سپس نام آن قید شود. تفاوت آن با کلاس در این می باشد که نمی توان از آن مستقیما آبجکت new کرد. با استفاده از متد ()values وحلقه foreach می توان مقادیر هر لیست شمارشی را پیمایش نمود که مقادیر را بصورت لیست آرایه ای بر می گرداند. با متد ()valuesof نیز می توان مستقیما به یکی از عناصر لیست شمارش که نام آنرا بصورت String بعنوان پارامتر متد می دهیم, دسترسی پیدا کرد.

نمونه یک enum :

enum Restaurants{

mcDonald,KFC,Pizzahot,Sandwich}

public static void main(String arg[]){

Restaurants r;

System.out.println(“All Restaurants are :”);

Restaurants rArray= Restaurants.values();

for(Restaurants a:rArray){

System.out.println(a);}

r= Restaurants.valueOf(“KFC”);

System.out.println(“It s+r);}

 

اعضای static کلاس

 اگر بخواهیم متغیر یا متدی را برای کل کلاس مشترک کنیم تا امکان استفاده از آن در خارج از کلاس براحتی وجود داشته باشد باید کلمه کلیدی static را بعد از ذکر سطح دسترسی آن بیاوریم. براحتی در خارج از کلاس مربوطه می توان با دستور زیر به مولفه ای درون آن کلاس دست پیدا کنیم :                       نام متغیر یا متد . نام کلاس مربوطه          

۱۸ بهمن ۹۹ ، ۱۰:۱۷ ۱ نظر موافقین ۰ مخالفین ۰
واحد فنی
چهارشنبه, ۱۵ بهمن ۱۳۹۹، ۱۰:۰۴ ق.ظ واحد فنی
نکات آموزشی کاربردی برای هر جاواکار بخش پنجم

نکات آموزشی کاربردی برای هر جاواکار بخش پنجم

وظایف JDBC به ترتیب شامل موارد مقابل می شود : ارتباط با پورت(Port) – کانکت شدن به دیتابیس- ایجاد دستورات(Query) و بستن پورت (Port) بعد از پایان کار با دیتابیس می باشد. برای کار با JDBC ابتدا باید فایل با پسوند jar آنرا دانلود سپس در پوشه اصلی مربوط به هر پروژه اضافه کنیم و در مرحله بعد, از نصب mysql در سیستم عامل اطمینان حاصل شود که بعنوان مثال در سیستم عامل لینوکس و بخش Terminal آن دستور زیر مربوط به اتصال به دیتابیس را وارد کرده تا وجود mysql بررسی گردد.

Mysql -u root -p

چنانچه پیام عدم نصب mysql در ترمینال مشاهده شد, با وارد کردن دستورات زیر, سیستم عامل اقدام به دانلود و نصب خودکار آن می کند.

Sudo su

yum install mariadb mysql-server

JDBC-URL : برای پیکربندی(Config) JDBC جهت اتصال به دیتابیس بوده که مشخصاتی از قبیل آدرس دیتابیس و دیگر پارامترهای مهم مانند نام کاربری, رمز عبور, استاندارد زبان (مثل UTF8),اجازه یا عدم اجازه استفاده از برخیQuery ها یا Function ها و غیره را شامل می شود.

JDBC:mysql=//localhost:3306/book ? Username : ‘ali9808’ Password : ‘ade248t9’

در URL بالا منظور از localhost:3306 , استفاده از کامپیوتر فعلی برای ارتباط با دیتابیس است که در این صورت JDBC و mysql در این سیستم نصب می باشند. ولی اگر ماشین مجازی برای ارتباط با پایگاه داده بکار رود باید آدرس ip آنرا با وارد کردن دستور ip a در ترمینال لینوکس یافته سپس جایگزین localhost:3306 در آدرس URL شود. در مواقعی که از فضای اینترنتی(Host) جهت برقراری ارتباط با دیتابیس استفاده شود باید آدرس دامنه(Domain) در بخش آدرس URL قرار گیرد.

ادامه مطلب...
۱۵ بهمن ۹۹ ، ۱۰:۰۴ ۰ نظر موافقین ۰ مخالفین ۰
واحد فنی