CodeGym /جاوا بلاگ /Random-SD /حصو 8. اچو ته اسپرنگ بوٽ استعمال ڪندي هڪ ننڍڙي ايپليڪيشن ...
John Squirrels
سطح
San Francisco

حصو 8. اچو ته اسپرنگ بوٽ استعمال ڪندي هڪ ننڍڙي ايپليڪيشن لکون

گروپ ۾ شايع ٿيل
هي مواد "انٽرپرائز ڊولپمينٽ جو تعارف" سيريز جو آخري حصو آهي. اڳيون مضمون: حصو 8. اچو ته اسپرنگ بوٽ - 1 استعمال ڪندي هڪ ننڍڙي ايپليڪيشن لکوناچو ته مثال طور اسپرنگ MVC استعمال ڪندي MVC جي آسان ترين عمل کي ڏسو. هن کي ڪرڻ لاءِ، اسان اسپرنگ بوٽ استعمال ڪندي هڪ ننڍڙي هيلو ورلڊ ايپليڪيشن لکنداسين. مان توهان کي قدم قدم هدايتون ڏيندس، تنهنڪري توهان هر شي کي ٻيهر ورجائي سگهو ٿا. پهرين، اسان هڪ ننڍڙي ايپليڪيشن لکنداسين، ۽ پوء اسين ان جو تجزيو ڪنداسين.

قدم 1. IntelliJ IDEA ۾ اسپرنگ بوٽ ايپليڪيشن ٺاهڻ.

نئين پروجيڪٽ ٺاهڻ لاءِ فائل -> نئون -> پروجيڪٽ استعمال ڪريو. کليل ونڊو ۾، کاٻي پاسي واري مينيو ۾، چونڊيو بهار جي شروعات، ۽ چونڊيو SDK پروجيڪٽ. Initializr Service URL آپشن لاءِ ڊفالٽ ڇڏي ڏيو. حصو 8. اچو ته اسپرنگ بوٽ - 2 استعمال ڪندي هڪ ننڍڙي ايپليڪيشن لکون"اڳيون" بٽڻ تي ڪلڪ ڪريو. ايندڙ ونڊو ۾، اسان کي پروجيڪٽ سيٽنگون چونڊڻ جي ضرورت آهي. اسان وٽ وڃڻ وارا آهيون Maven پروجيڪٽ. چونڊيو Maven پروجيڪٽ جي طور تي. گروپ ۽ آرٽيڪل فيلڊ ڀريو اڳيون ڪلڪ ڪريو. حصو 8. اچو ته اسپرنگ بوٽ - 3 استعمال ڪندي هڪ ننڍڙي ايپليڪيشن لکونايندڙ ونڊو ۾، اسان کي اسپرنگ فريم ورڪ جا حصا چونڊڻا پوندا جيڪي اسان استعمال ڪنداسين. اسان لاءِ ٻه ڪافي آهن:
  • اسپرنگ ويب هڪ جزو آهي جيڪو اسان کي ويب ايپليڪيشنون ٺاهڻ جي اجازت ڏئي ٿو. ھن جزو ۾ اسپرنگ ايم وي سي شامل آھي.
  • Thymeleaf اسان جي ٽيمپليٽ انجڻ آهي. اها هڪ شيء آهي جيڪا اسان کي جاوا کان HTML صفحن ڏانهن ڊيٽا موڪلڻ جي اجازت ڏئي ٿي
حصو 8. اچو ته اسپرنگ بوٽ - 4 استعمال ڪندي هڪ ننڍڙي ايپليڪيشن لکونحصو 8. اچو ته اسپرنگ بوٽ - 5 استعمال ڪندي هڪ ننڍڙي ايپليڪيشن لکونايندڙ ونڊو ۾، فائل سسٽم ۾ پروجيڪٽ جو نالو ۽ مقام چونڊيو: حصو 8. اچو ته اسپرنگ بوٽ - 6 استعمال ڪندي هڪ ننڍڙي ايپليڪيشن لکون"ختم" بٽڻ تي ڪلڪ ڪريو. پروجيڪٽ ٺاهي وئي آهي. اسان هيٺ ڏنل پروجيڪٽ جي جوڙجڪ سان ختم ڪريون ٿا: حصو 8. اچو ته اسپرنگ بوٽ - 7 استعمال ڪندي هڪ ننڍڙي ايپليڪيشن لکونهتي اسان کي 2 فائلن ۾ دلچسپي آهي: pom.xml (تعميراتي بيان ڪندڙ). هي شيء توهان کي جلدي ۽ آساني سان لائبريرين کي مختلف فريم ورڪ مان اسان جي پروجيڪٽ ۾ درآمد ڪرڻ جي اجازت ڏئي ٿي. اهو پڻ آهي جتي اسان ترتيب ڏيون ٿا ته اسان جي ايپليڪيشن ڪيئن ٺهيل آهي. اسان جي ايپليڪيشن Maven استعمال ڪندي ٺهيل آهي، ۽ pom.xml هن بلڊ سسٽم لاءِ ترتيب واري فائيل آهي. جاوا ڪلاس MvcDemoApplication آهي. هي اسان جي ايپليڪيشن جو مکيه ڪلاس آهي. اسان ان کان اسان جي اسپرنگ بوٽ پروجيڪٽ شروع ڪنداسين. شروع ڪرڻ لاء، صرف هن طبقي جو مکيه طريقو هلائي. ھتي آھي ھن طبقي لاءِ ڪوڊ، گڏوگڏ pom.xml فائل: MvcDemoApplication:
@SpringBootApplication
public class MvcDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(MvcDemoApplication.class, args);
    }

}
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.codegym/groupId>
    <artifactId>mvc_demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>mvc_demo</name>
    <description>Spring MVC Demo</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

قدم 2. ويب پيج ٺاهڻ

اسان جي درخواست انتهائي سادي هوندي. اسان وٽ هڪ مکيه صفحو هوندو (index.html)، جنهن ۾ ڀليڪار واري صفحي جي لنڪ هوندي (greeting.html). سلام واري صفحي تي، اسان هڪ سلام ڏيکاريندا آهيون. greeting.html صفحي تي سلام ۾ استعمال ٿيڻ لاءِ نالو پاس ڪرڻ لاءِ اسان URL پيرا ميٽر استعمال ڪنداسين. اچو ته اسان جي ايپليڪيشن جو مکيه صفحو ٺاهيو - index.html:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Main page</title>
</head>
<body>
    <p>Get your greeting <a href="/greeting">here</a></p>
</body>
</html>
ھاڻي اسان ٺاھينداسين greeting.html صفحو:
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Getting Started: Serving Web Content</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
    <p th:text="'Hello, ' + ${name} + '!'" />
</body>
</html>
اسان جي صفحي تي هڪ <p th:text="'Hello, ' + ${name} + '!'" />ٽيگ آهي، جيڪو HTML لاءِ عام ناهي. thٽيگ جو وصف هڪ pميکانيزم آهي جيڪو Thymeleaf ٽيمپليٽ انجڻ پاران استعمال ڪيو ويندو آهي. ٽيگ pجي قيمت "هيلو،" + متغير جي قيمت هوندي name، جيڪا اسان جاوا ڪوڊ ۾ سيٽ ڪنداسين.

قدم 3. هڪ ڪنٽرولر ٺاهڻ

mvc_demo پيڪيج جي اندر، اسان هڪ ڪنٽرولر پيڪيج ٺاهينداسين، جنهن ۾ اسان پنهنجو ڪنٽرولر ٺاهينداسين، HelloWorldController:
@Controller
public class HelloWorldController {

   @RequestMapping(value = "/greeting")
   public String helloWorldController(@RequestParam(name = "name", required = false, defaultValue = "World") String name, Model model) {
       model.addAttribute("name", name);
       return "greeting";
   }

}
هڪ طرف تمام ٿورڙو ڪوڊ آهي، پر ٻئي طرف، تمام گهڻو ٿي رهيو آهي. اچو ته اسان جو تجزيو شروع ڪريون. @Controller تشريح ظاهر ڪري ٿو ته هي طبقو هڪ ڪنٽرولر آهي. بهار ۾، ڪنٽرولرز HTTP درخواستن تي عمل ڪن ٿا جيڪي مخصوص URLs تي هدايتون آهن. اسان جي ڪلاس ۾ هڪ helloWorldController طريقو آهي جنهن کي @RequestMapping (value = "/greeting") سان نشان لڳايو ويو آهي. هي تشريح ظاهر ڪري ٿي ته هي طريقو HTTP GET درخواستن تي عمل ڪري ٿو جيڪو /greeting URL تي هدايت ڪئي وئي آهي. ٻين لفظن ۾، اهو طريقو استعمال ڪيو ويندو جيڪڏهن ڪو ماڻهو نيويگيٽ ڪري ٿو / سلام. اهو طريقو هڪ اسٽرنگ واپس ڏئي ٿو. اسپرنگ ايم وي سي جي مطابق، ڪنٽرولر جو طريقو ڏسڻ جو نالو واپس ڪرڻ گهرجي. اڳيون، بهار ساڳئي نالي سان هڪ HTML فائل ڳوليندو، جيڪو اهو HTTP درخواست جي جواب جي طور تي واپس ڪندو. جئين توهان ڏسي سگهو ٿا، اسان جو طريقو واپسي ويب پيج جو نالو جيڪو اسان اڳ ۾ ٺاهيو هو: سلام. اسان جو طريقو 2 دلائل وٺندو آهي. اچو ته انهن تي هڪ نظر وجهون: پيرا ميٽر 1: @RequestParam(name = "نالو"، گهربل = غلط، defaultValue = "World") اسٽرنگ جو نالو. @RequestParam تشريح ظاهر ڪري ٿي ته اسٽرنگ جو نالو پيراميٽر URL پيراميٽر آهي. جيڪڏهن تشريح ظاهر ڪري ٿي ته هي URL پيراميٽر اختياري آهي (گهربل = غلط)، پوءِ جيڪڏهن اهو غير حاضر آهي، ته اسٽرنگ نالي پيراميٽر جو قدر ٿيندو "دنيا" (defaultValue = "World"). جيڪڏهن اهو موجود آهي، ته پوء URL پيٽرولر ٿيندو "نالو" (نالو = "نالو"). ٿي سگهي ٿو ته هتي گهڻو ڪجهه توهان کي نه سمجهي. اچو ته ڪجهه مثال ڏيو. هيٺ ڏنل جدول ڏيکاري ٿو ته اسٽرنگ جي نالي جي پيٽرولر جي قيمت ڇا هوندي، رسائي حاصل ڪرڻ/سلامتي لاءِ مختلف اختيارن سان (يو آر ايل پيراميٽر سان ۽ بغير)
مثال URL اسٽرنگ جي نالي جو قدر
/ سلام دنيا
/ سلام؟ نالو = اميگو اميگو
/ سلام؟ نالو = زور زور
پيٽرول 2: ٻيو پيٽرولر ھڪڙو ماڊل ماڊل آھي. هي پيٽرول ڪجهه ماڊل آهي. هي ماڊل مختلف اندروني خاصيتن تي مشتمل آهي. هر وصف جو هڪ نالو ۽ قدر آهي. ڪيئي قدر جوڙو وانگر. اسان هي پيٽرولر استعمال ڪري سگھون ٿا ڊيٽا موڪلڻ لاءِ جاوا ڪوڊ مان HTML صفحن تي. يا، MVC اصطلاح استعمال ڪندي، ڊيٽا کي ماڊل مان ڏيک ڏانھن موڪليو. اهو صرف آخري لائن کي جانچڻ لاء رهي ٿو. اهو ڪيئن آهي اسان ڊيٽا کي جاوا کان HTML ڏانهن، يا ماڊل کان ڏيک ڏانهن. طريقي ۾ ھيٺ ڏنل لائن شامل آھي: model.addAttribute("name", name); ھتي اسان ھڪڙو نئون وصف ٺاھيو آھي نالو سڏيو ويندو آھي ۽ ان کي مقرر ڪيو ويندو آھي نالي جي قيمت جي قيمت. ياد رکو، اسان تازو بحث ڪيو آهي <p th:text = "'Hello,' + ${name} + '!'" /> ته اسان چيو آهي ته p ٽيگ جي قيمت "Hello," + نالي جي ويريبل جي قيمت آهي، جيڪو اسان جاوا ڪوڊ ۾ سيٽ ڪنداسين. اسان هن قيمت کي لائن استعمال ڪندي سيٽ ڪيو model.addAttribute("name", name);

قدم 5. ھلايو

شروع ڪرڻ لاءِ، اسان کي MvcDemoApplication ڪلاس جو مکيه طريقو هلائڻو پوندو: حصو 8. اچو ته اسپرنگ بوٽ - 9 استعمال ڪندي هڪ ننڍڙي ايپليڪيشن لکونلاگز ۾، اسان ڏسنداسين ته اسان جي ويب ايپليڪيشن پورٽ 8080 تي شروع ٿي آهي: حصو 8. اچو ته اسپرنگ بوٽ - 10 استعمال ڪندي هڪ ننڍڙي ايپليڪيشن لکون۽ ان جو مطلب اهو آهي ته برائوزر ۾، اسان صفحي تي وڃو http:// localhost:8080 : حصو 8. اچو ته اسپرنگ بوٽ - 11 استعمال ڪندي هڪ ننڍڙي ايپليڪيشن لکونهتي اسان وٽ آهي index.html صفحو. اچو ته سلام واري صفحي جي لنڪ جي پيروي ڪريو: حصو 8. اچو ته اسپرنگ بوٽ - 12 استعمال ڪندي هڪ ننڍڙي ايپليڪيشن لکوناسان جي ڪنٽرولر کي هن منتقلي ۾ سڏيو ويو. اسان URL ذريعي ڪو به پيٽرول پاس نه ڪيو آهي. نتيجي طور، نالو وصف ڊفالٽ قيمت تي وٺندو آهي ("دنيا") تشريح ۾ اشارو ڪيو ويو آهي. اچو ته URL ذريعي پيٽرول پاس ڪرڻ جي ڪوشش ڪريون: حصو 8. اچو ته اسپرنگ بوٽ - 13 استعمال ڪندي هڪ ننڍڙي ايپليڪيشن لکونسڀ ڪجھ ڪم ڪري ٿو جيئن ارادو ڪيو وڃي. ھاڻي ڪوشش ڪريو نالو متغير جو رستو:
  1. استعمال ڪندڙ URL -> ۾ "name=Amigo" پاس ڪيو
  2. ڪنٽرولر اسان جي عمل تي عمل ڪيو، نالو متغير حاصل ڪيو، ۽ حاصل ڪيل قيمت جي برابر نالي نالي هڪ ماڊل وصف مقرر ڪيو ->
  3. هي ڊيٽا ماڊل مان ڏسڻ ۾ آئي، greeting.html صفحي ۾ ختم ٿي، ۽ صارف کي ڏيکاري وئي
اهو هاڻي لاء آهي!

اڄ اسان MVC (ماڊل - ڏسو - ڪنٽرولر) جي وڏي ۽ دلچسپ موضوع سان واقف ٿي چڪا آهيون. هي سيريز جو پڄاڻي آهي توهان کي متعارف ڪرائڻ لاءِ جيڪو توهان کي ڄاڻڻ جي ضرورت آهي انٽرپرائز ڊولپمينٽ شروع ڪرڻ کان پهريان.

تبصرن ۾، اسان کي ٻڌايو ته ڪهڙن موضوعن ۾ توهان جي دلچسپي آهي - اسان انهن کي خطاب ڪنداسين!

تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION