یه بار برای همیشه، فرانت‌ اند رو اصولی یاد بگیر! یه بار برای همیشه، فرانت‌ اند رو اصولی یاد بگیر!
🎯 ثبت نام

آموزش Model Interface-Java Spring

واسط مدل

واسط مدل(Model Interface) در MVC اسپرینگ

در MVC اسپرینگ، یک مدل به عنوان یک محفظه(container) که داده های برنامه کاربردی را حفظ می کند، کار میکند. در اینجا داده می تواند به هر شکلی باشد از جمله اشیا، رشته ها، داده هایی از پایگاه داده و غیره. لازم است واسط مدل در بخش کنترلر برنامه کاربردی قرار گیرد. شی HttpServletRequest اطلاعات ارائه شده توسط کاربر را می خواند و آن را به واسط مدل انتقال می دهد. اکنون یک صفحه منظر به سادگی به داده های بخش مدل دسترسی دارد.


متدهای واسط مدل

  • متد Model addAllAttributes(Collection arg): این متد تمامی ویژگی های درون مجموعه ارائه شده را به این map اضافه می کند.
  • متد Model addAllAttributes(Map arg): این متد تمامی ویژگی های درون mapارائه شده را به این map اضافه می کند.
  • متد Model addAllAttribute(Object arg): این متد با استفاده از یک نام تولید شده، ویژگی های ارائه شده را به این map اضافه می کند.
  • متد Model addAllAttribute(String arg0, Object arg1) : این متد ویژگی را به نام ارائه شده پیوند می دهد.
  • متد Map asMap(): این متد مجموعه فعلی از ویژگی های مدل را به عنوان map باز میگرداند.
  • متد Model mergeAttributes(Map< String,?> arg): این متد تمام ویژگی های درون map ارائه شده را به این map اضافه می کند، و اشیای موجود با نام مشابه اولویت دارند.
  • متد boolean containsAttribute(String arg) : این متد مشخص کننده این است که آیا این مدل شامل یک ویژگی با نام داده شده باشد.

مثال مدل MVC در اسپرینگ

یک صفحه ورود شامل نام کاربری و رمز عبور ایجاد کنید. در اینجا اعتبار رمز عبور را با یک مقدار مشخص می سنجیم.


1- به pom.xml وابستگی ها را اضافه کنید.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
< dependency
                             < groupId>org.springframework< /groupId
                             < artifactId>spring-webmvc< /artifactId
                             < version>5.1.1.RELEASE< /version
< /dependency
    
< dependency>   
                             < groupId>javax.servlet< /groupId>   
                             < artifactId>servlet-api< /artifactId>   
                             < version>3.0-alpha-1< /version>   
< /dependency
<button></button>

2- صفحه درخواست را ایجاد کنید.

در اینجا برای دریافت نام و رمز عبور از کاربر، صفحه ورود را ایجاد می کنیم.

index.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
< html
< body
< form action="hello"
UserName : < input type="text" name="name" /> < br>< br>
                                                      
Password : < input type="text" name="pass" /> < br>< br>
 
< input type="submit" name="submit">
   
< /form
< /body
< /html>
<button></button>

3- کلاس کنترلر را ایجاد کنید.

در کلاس کنترلر، از HttpServletRequest برای خواندن داده فرم HTML (HTML form data) ارائه شده توسط کاربر استفاده می شود. مدل شامل داده های درخواستی است و آن را برای صفحه منظر آماده می کند.

HelloController.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package com.javatpoint; 
import javax.servlet.http.HttpServletRequest; 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.Model; 
import org.springframework.web.bind.annotation.RequestMapping; 
   
@Controller 
public class HelloController { 
   
    @RequestMapping("/hello"
    public String display(HttpServletRequest req,Model m) 
    
        //read the provided form data 
        String name=req.getParameter("name"); 
        String pass=req.getParameter("pass"); 
        if(pass.equals("admin")) 
        
            String msg="Hello "+ name; 
            //add a message to the model 
            m.addAttribute("message", msg); 
            return "viewpage"
        
        else 
        
            String msg="Sorry "+ name+". You entered an incorrect password"
            m.addAttribute("message", msg); 
            return "errorpage"
        }    
    
}  
<button></button>

4- در فایل web.xml ورودی کنترلر را آماده کنید.

web.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
< ?xml version="1.0" encoding="UTF-8" ?>
   
   < display-name>SpringMVC< /display-name
    < servlet>   
     < servlet-name>spring< /servlet-name>   
     < servlet-class>org.springframework.web.servlet.DispatcherServlet< /servlet-class>   
     < load-on-startup>1< /load-on-startup>     
< /servlet>   
< servlet-mapping>   
     < servlet-name>spring< /servlet-name>   
     < url-pattern>/< /url-pattern>   
< /servlet-mapping>   
< /web-app>
<button></button>

5- در فایل xml ، bean را تعریف کنید.

spring-servlet.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
< ?xml version="1.0" encoding="UTF-8" ?>
   
          3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          4. xmlns:context="http://www.springframework.org/schema/context"
          5. xmlns:mvc="http://www.springframework.org/schema/mvc"
          6. xsi:schemaLocation="
    
     <!-- Provide support for component scanning --> 
     < context:component-scan base-package="com.javatpoint" />
   
    
     <!--Provide support for conversion, formatting and validation --> 
     < mvc:annotation-driven />
   
< bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
         < property name="prefix" value="/WEB-INF/jsp/">< /property
         < property name="suffix" value=".jsp">< /property>         
      < /bean
< /beans>
<button></button>

6- سایر اجزای منظر را ایجاد کنید

برای اجرای این مثال، اجزای منظر زیر باید درون دایرکتوری WEB-INF/jsp قرار گیرند.

viewpage.jsp

1
2
3
4
5
6
1.  < html
2.  < body
3.  ${message} 
4.  < /body
5.  < /html>  
<button></button>

errorpage.jsp

1
2
3
4
5
6
7
8
1.  < html
2.  < body
3.  ${message} 
4.  < br>< br>
5.  < jsp:include page="/index.jsp">< /jsp:include
6.  < /body
7.  < /html
<button></button>

خروجی :

Example1
Example2
Example3
Example4
Example5
1398/12/28 1626 442
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...