آموزش جاوا- آموزش پروژه محور spring

سلام دوستان ...در قسمت اول با مفاهیم زیر آشنا شدیدمخاطبان دوره Spring Java MVC پیش نیازهامروری بر MVC Frameworkمفهوم DispatcherServletپیکربندی لازم در آموزش Spring MVCتعریف یک کنترلر در آموزش Spring MVCایجاد JSP Viewبرپا کردن محیط مربوط MVC Springدر این بخش می خواهیم به چگونگی آماده سازی محیط برنامه نویسی جهت شروع کار خود در Spring Framework بپردازیم. همچنین در این بخش به چگونگی برپا کردن JDK، Tomcat و Eclipse در دستگاه خود قبل از برپا کردن Spring Framework پرداخته شده است.مرحله 1: نصب Java Development Kit (JDK)آخرین ورژن JDK را می توانید از وب سایت Oracle دریافت کنید. آموزش نصب آن را می توانید در فایل های دانلود شده مطالعه کنید. همین آموزش ها را دنبال کنید تا بتوانید آن را نصب و پیکربندی کنید. بعد از آن که کار نصب تمام شد، متغیرهای محیطی PATH و JAVA_HOME را به گونه ای تنظیم کنید که به دایرکتوری شامل java و javac اشاره کنند. این دایرکتوری نوعا برای این دو به ترتیب java_install_dir/bin و java_install_dir است.اگر با ویندوز کار می کنید و JDK را در C:\jdk1.6.0_15 نصب کرده اید، باید خط زیر را داخل فایل C:\autoexec.bat خود قرار دهید.set PATH = C:\jdk1.6.0_15\bin;%PATH%set JAVA_HOME = C:\jdk1.6.0_15به عنوان جایگزین در ویندوز NT/2000/XP می توانید بر روی My Computer کلیک راست کنید و مسیر select Properties → Advanced → Environment Variables را دنبال کنید. سپس مقدار PATH را به روز کنید و بر روی OK کلیک کنید.در یونیکس (Solaris، Linux و ...) اگر SDK در /usr/local/jdk1.6.0_15 نصب شده است و شما می توانید C shell را ببینید، در این صورت دستور زیر را داخل فایل .cshrc وارد کنید.setenv PATH /usr/local/jdk1.6.0_15/bin:$PATHsetenv JAVA_HOME /usr/local/jdk1.6.0_15همچنین اگر از یک IDE مثل Borland JBuilder, Eclipse, IntelliJ IDEA یا Sun ONE Studio استفاده می کنید، می توانید جهت تأیید این که IDE مکان نصب جاوا را می داند، یک برنامه ی ساده را کامپایل و اجرا کنید. در غیر این صورت با توجه به آموزش IDE نصب را به صورت کامل و صحیح انجام دهید.مرحله 2: نصب Apache Common Logging API در آموزش Spring MVCمی توانید آخرین ورژن Apache Commons Logging API را از https://commons.apache.org/logging/ دانلود کنید. بعد از تمام شدن دانلود binary distribution را داخل مکانی به دلخواه خود باز کنید.برای مثال C:\commons-logging-1.1.1 در ویندوز یا /usr/local/commons-logging1.1.1 در لینوکس یا یونیکس. این دایرکتوری باید فایل های jar و اسناد پشتیبان دیگر را داشته باشد.حتما به درستی متغیر CLASSPATH خود را بر روی این دایرکتوری تنظیم کنید. در غیر این صورت طی اجرای برنامه ی خود با مشکل مواجه خواهید شد.مرحله 3: نصب Eclipse IDEتمامی مثال های موجود در این آموزش با استفاده از Eclipse IDE نوشته شده اند. به همین دلیل توصیه می شود از آخرین ورژن Eclipse استفاده کنید.جهت نصب Eclipse IDE می توانید به آدرس https://www.eclipse.org/downloads/ مراجعه کنید. بعد از تمام شدن دانلود فایل نصبی، binary distribution را در مکانی به دلخواه خود قرار دهید.برای مثال این کار را در ویندوز در C:\eclipse و یا در لینوکس و یونیکس در /usr/local/eclipse انجام دهید و در نهایت به درستی متغیر PATH را تنظیم کنید.برنامه Eclipse را می توان با اجرای دستور زیر در ویندوز یا به سادگی با دوبار کلیک کردن بر روی eclipse.exe باز کرد.%C:\eclipse\eclipse.exeاین کار در یونیکس (Solaris، Linux و ...) به صورت زیر انجام می شود:$/usr/local/eclipse/eclipseپس از راه اندازی موفق اگر مشکلی پیش نیاید، صفحه ی زیر نمایش داده خواهد شد.مرحله 4: نصب کتابخانه های Spring Frameworkحالا که هیچ مشکلی وجود ندارد، می توانیم Spring Framework را نصب کنیم. در ادامه مراحل دانلود و نصب این فریمورک در دستگاه خود را می توانید مشاهده کنید.مشخص کنید که آیا می خواهید Spring را در ویندوز یا یونیکس نصب کنید و پس از آن برای نصب فایل .zip برای ویندوز و فایل .tz برای یونیکس به مرحله ی بعد بروید.آخرین نسخه ی Spring framework binaries را از https://repo.spring.io/release/org/springframework/spring دانلود کنید.ما spring-framework-4.3.1.RELEASE-dist.zip را در ویندوز نصب کرده ایم و بعد از آن که فایل دانلودی را از حالت فشرده خارج کردیم، ساختار دایرکتوری داخل E:\spring مانند زیر نمایش داده شد.می توانید تمامی کتابخانه های Spring را داخل E:\spring\libs پیدا کنید. حتما به درستی متغیر CLASSPATH خود را بر روی این دایرکتوری تنظیم کنید. در غیر این صورت در زمان اجرای برنامه با مشکل مواجه می شوید. اگر از Eclipse استفاده کنیم، در این صورت تنظیم CLASSPATH اجباری نخواهد بود. چرا که تمامی تنظیمات از طریق Eclipse انجام داده می شوند.بعد از آن که مرحله ی آخر نیز تمام شد، می توانید به سراغ اولین مثال Spring بروید که در بخش بعد به این مثال پرداخته شده است.آموزش Hello World در Spring MVCدر مثال زیر چگونگی نوشتن یک برنامه ی ساده ی مبتنی بر وب Hello World با استفاده از Spring MVC Framework نشان داده شده است. برای شروع Eclipse IDE را آماده کنید و جهت توسعه ی یک Dynamic Web Application با استفاده از Spring Web Framework مراحل زیر را دنبال کنید.HelloController.javapackage com.tutorialspoint; import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.ui.ModelMap; @Controller@RequestMapping(&quot/hello&quot)public class HelloController{ @RequestMapping(method = RequestMethod.GET) public String printHello(ModelMap model) { model.addAttribute(&quotmessage&quot, &quotHello Spring MVC Framework!&quot); return &quothello" } }web.xml< web-app id = &quotWebApp_ID&quot version = &quot2.4&quot xmlns = &quothttp://java.sun.com/xml/ns/j2ee&quot xmlns:xsi = &quothttp://www.w3.org/2001/XMLSchema-instance&quot xsi:schemaLocation = &quothttp://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd&quot > < display-name >Spring MVC Application< /display-name > < servlet > < servlet-name >HelloWeb< /servlet-name > < servlet-class > org.springframework.web.servlet.DispatcherServlet < /servlet-class > < load-on-startup >1< /load-on-startup > < /servlet > < servlet-mapping > < servlet-name >HelloWeb< /servlet-name > < url-pattern >/< /url-pattern > < /servlet-mapping > < /web-app >HelloWeb-servlet.xml< beans xmlns = &quothttp://www.springframework.org/schema/beans&quot xmlns:context = &quothttp://www.springframework.org/schema/context&quot xmlns:xsi = &quothttp://www.w3.org/2001/XMLSchema-instance&quot xsi:schemaLocation = &quot http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd&quot > < context:component-scan base-package = &quotcom.tutorialspoint&quot / > < bean class = &quotorg.springframework.web.servlet.view.InternalResourceViewResolver&quot > < property name = &quotprefix&quot value = &quot/WEB-INF/jsp/&quot / > < property name = &quotsuffix&quot value = &quot.jsp&quot / > < /bean > < /beans >hello.jsp< %@ page contentType = &quottext/html; charset = UTF-8&quot % >< html > < head > < title >Hello World< /title > < /head > < body > < h2 >$ {message}< /h2 > < /body >< /html >در ادامه لیست اسپرینگ و کتابخانه های دیگری که قرار است در این برنامه ی وب وارد شوند، ذکر شده اند. می توانیم به راحتی این فایل ها را در پوشه ی WebContent/WEB-INF/lib درگ و دراپ کنیم.servlet-api-x.y.z.jarcommons-logging-x.y.z.jarspring-aop-x.y.z.jarspring-beans-x.y.z.jarspring-context-x.y.z.jarspring-core-x.y.z.jarspring-expression-x.y.z.jarspring-webmvc-x.y.z.jarspring-web-x.y.z.jarبعد از این که کار ایجاد فایل های منبع و پیکربندی تمام شد، باید برنامه ی خود را اکسپورت کنید. بر روی برنامه ی خود کلیک راست کنید، از گزینه ی Export → WAR File استفاده کنید و فایل HelloWeb.war خود را در پوشه ی webapps متعلق به Tomcat ذخیره کنید.حالا سرور Tomcat خود را اجرا کنید و حتما مطمئن شوید که می توانید به صفحات وب دیگر از طریق پوشه ی webapps و با استفاده از یک مرورگر استاندارد دسترسی داشته باشید. حالا سعی کنید به آدرس http://localhost:8080/HelloWeb/hello دسترسی پیدا کنید. اگر مشکلی برای برنامه ی Spring Web پیش نیاید، صفحه ی زیر نمایش داده می شود.توجه داشته باشید که HelloWeb در آدرس موجود اسم برنامه و hello زیرپوشه ی مجازی است که ما با استفاده از @RequestMapping("/hello") در کنترلر خود از آن نام برده ایم. می توانید در حین نگاشت آدرس خود با استفاده از @RequestMapping("/") از direct root استفاده کنید. در این صورت می توانید با استفاده از آدرس کوتاه http://localhost:8080/HelloWeb/ به صفحه ی یکسانی دسترسی پیدا کنید. اما توصیه می شود در پوشه های مختلف از قابلیت های مختلف استفاده کنید.دوره آموزش Spring MVC ادامه دارد