真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么用SpringMVC創(chuàng)建Web應(yīng)用

這篇文章給大家分享的是有關(guān)怎么用Spring MVC創(chuàng)建Web應(yīng)用的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

創(chuàng)新互聯(lián)公司致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營(yíng)銷(xiāo),提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)站開(kāi)發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營(yíng)銷(xiāo)、成都小程序開(kāi)發(fā)、公眾號(hào)商城、等建站開(kāi)發(fā),創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)策劃專(zhuān)家,為不同類(lèi)型的客戶(hù)提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶(hù)在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢(shì)。

為了把Spring MVC運(yùn)用到Web應(yīng)用中,首先需要下載與操作系統(tǒng)對(duì)應(yīng)的Spring軟件包,下載地址為
https://repo.spring.io/libs-release-local/org/springframework/spring/
以下網(wǎng)址也提供了Spring軟件包的下載:
www.javathinker.net/javaweb.jsp

1.1  建立Spring MVC的環(huán)境
把Spring軟件包spring-framework-X.RELEASE-dist.zip解壓到本地,把其中l(wèi)ibs目錄下的JAR文件考拷貝到Web應(yīng)用的WEB-INF/lib目錄下。圖1-1展示了基于Sping MVC的helloapp應(yīng)用的目錄結(jié)構(gòu)。

怎么用Spring MVC創(chuàng)建Web應(yīng)用

圖1-1  helloapp應(yīng)用的目錄結(jié)構(gòu)

1.2  創(chuàng)建視圖
Spring MVC的視圖是一組包含了Spring標(biāo)簽的JSP文件。在本例中,視圖層包括student.jsp和result.jsp兩個(gè)文件。student.jsp負(fù)責(zé)生成一個(gè)HTML表單,讓客戶(hù)端輸入學(xué)生信息。student.jsp的HTML表單由URL為“/helloapp/addStudent”的Web組件來(lái)處理:


 …

student.jsp使用了Spring 標(biāo)簽庫(kù)中的標(biāo)簽。以下例程1-1是student.jsp的代碼。
例程1-1  student.jsp

<%@page contentType = "text/html;charset = UTF-8" language = "java" %>
<%@taglib uri = "http://www.springframework.org/tags/form" 
                                              prefix = "form"%>

  
    Spring MVC Sample
  

  
    

Student Information

                                                                                                                                                                                               
Name
Age
ID
          

以上student.jsp代碼中的、標(biāo)簽來(lái)自于Spring標(biāo)簽庫(kù),用來(lái)生成HTML表單。
result.jsp負(fù)責(zé)顯示客戶(hù)端輸入的學(xué)生信息,例程1-2是它的源代碼。
例程1-2  result.jsp

<%@page contentType = "text/html;charset = UTF-8" language = "java" %>
<%@page isELIgnored = "false" %>
<%@taglib uri = "http://www.springframework.org/tags/form" 
                                                  prefix = "form"%>

  
   Spring MVC Sample
  

  
    

Submitted Student Information

                                                                                                         
Name:${name}
Age:${age}
ID:${id}
     

1.3  創(chuàng)建模型
在Spring MVC的模型層,可以創(chuàng)建表示業(yè)務(wù)數(shù)據(jù)或?qū)崿F(xiàn)業(yè)務(wù)邏輯的JavaBean組件。以下例程1-3的Student類(lèi)是一個(gè)JavaBean,它表示本范例應(yīng)用的業(yè)務(wù)數(shù)據(jù)。
例程1-3  Student.java

package mypack;
public class Student {
  private Integer age;
  private String name;
  private Integer id;

  public void setAge(Integer age) {
    this.age = age;
  }
  public Integer getAge() {
    return age;
  }
  public void setName(String name) {
    this.name = name;
  }
  public String getName() {
    return name;
  }
  public void setId(Integer id) {
    this.id = id;
  }
  public Integer getId() {
    return id;
  }
}

對(duì)于非常簡(jiǎn)單的JavaWeb應(yīng)用,業(yè)務(wù)邏輯也可以直接由控制器層的Controller來(lái)完成。在本例中,業(yè)務(wù)邏輯將直接由StudentController來(lái)完成。

1.4  創(chuàng)建Controller組件
下面創(chuàng)建一個(gè)類(lèi)名叫StudentController的Controller組件,參見(jiàn)例程1-4。StudentController類(lèi)有兩個(gè)方法:
?   student()方法:對(duì)應(yīng)的URL為“/student”,請(qǐng)求方式為HTTP GET方式。
?   addStudent()方法:對(duì)應(yīng)的URL為“/addStudent”,請(qǐng)求方式為HTTP POST方式。
例程1-4  StudentController.java

package mypack;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.ui.ModelMap;

@Controller
public class StudentController {

  @RequestMapping(value ="/student", method =RequestMethod.GET)
  public ModelAndView student() {
    return new ModelAndView("student", "command", new Student());
  }

  @RequestMapping(value ="/addStudent", method =RequestMethod.POST)
  public String addStudent(
       @ModelAttribute("SpringWeb")Student student,ModelMap model){
    model.addAttribute("name", student.getName());
    model.addAttribute("age", student.getAge());
    model.addAttribute("id", student.getId());

    return "result";
  }
}

當(dāng)客戶(hù)端以HTTP GET方式請(qǐng)求訪問(wèn)http://localhost:8080/helloapp/student,Spring MVC的DispatcherServlet就會(huì)把請(qǐng)求轉(zhuǎn)發(fā)給StudentController的student()方法,這個(gè)方法返回一個(gè)ModelAndView對(duì)象,它表示把模型數(shù)據(jù)和視圖綁定在一起的對(duì)象。在本例中,“new ModelAndView("student", "command", new Student())”中的三個(gè)參數(shù)的含義如下:
?   第一個(gè)參數(shù)“student”表示視圖組件的邏輯名字為“student”,實(shí)際上對(duì)應(yīng)WEB-INF/jsp/student.jsp文件。本章1.5節(jié)會(huì)介紹如何在Spring MVC配置文件中配置這種對(duì)應(yīng)關(guān)系。
?   第二個(gè)參數(shù)“command”表明邏輯名為“student”的視圖組件中的HTML表單需要與第三個(gè)參數(shù)指定的Student對(duì)象綁定。
?   第三個(gè)參數(shù)“new Student()”提供了一個(gè)新建的Student對(duì)象。Spring MVC框架會(huì)負(fù)責(zé)把客戶(hù)端在HTML表單中輸入的數(shù)據(jù)填充到這個(gè)Student對(duì)象中。

DispatcherServlet接收到StudentController的student()方法返回的ModelAndView對(duì)象后,會(huì)把請(qǐng)求再轉(zhuǎn)發(fā)給邏輯名字為“student”的視圖組件,即WEB-INF/jsp/student.jsp文件。
以下圖1-2顯示了Spring MVC框架響應(yīng)“/student”URL的流程。
怎么用Spring MVC創(chuàng)建Web應(yīng)用

圖1-2  Spring MVC框架響應(yīng)“/student”URL的流程

student.jsp生成的網(wǎng)頁(yè)如圖1-3所示。
怎么用Spring MVC創(chuàng)建Web應(yīng)用
圖1-3  student.jsp生成的網(wǎng)頁(yè)

客戶(hù)在圖1-3所示的HTML表單中輸入學(xué)生的相關(guān)信息,然后提交表單,這時(shí)瀏覽器會(huì)以POST方式請(qǐng)求訪問(wèn)“/helloapp/addStudent”URL。
Spring MVC框架的DispatcherServlet接受到客戶(hù)端的請(qǐng)求后,先把包含學(xué)生信息的HTML表單數(shù)據(jù)填充到表示模型數(shù)據(jù)的Student對(duì)象中,接下來(lái)DispatcherServlet就把請(qǐng)求轉(zhuǎn)發(fā)給StudentController的addStudent()方法。
StudentController的addStudent()方法讀取Student對(duì)象的各個(gè)屬性,再把它存放到一個(gè)ModelMap對(duì)象中:

//model變量為ModelMap類(lèi)型
model.addAttribute("name", student.getName());
model.addAttribute("age", student.getAge());
model.addAttribute("id", student.getId());

StudentController的addStudent()方法接下來(lái)返回一個(gè)字符串“result”,它是一個(gè)Web組件的邏輯名字,實(shí)際上對(duì)應(yīng)WEB-INF/jsp/result.jsp文件。DispatcherServlet再把請(qǐng)求轉(zhuǎn)發(fā)給result.jsp文件。result.jsp文件中的${name}、${age}和${id}標(biāo)記會(huì)顯示由StudentController存放在ModelMap對(duì)象中的name、age和id屬性的值。由此可見(jiàn),控制層可以借助ModelMap對(duì)象向視圖層傳遞數(shù)據(jù)。
以下圖1-4是result.jsp返回的包含學(xué)生信息的網(wǎng)頁(yè)。
怎么用Spring MVC創(chuàng)建Web應(yīng)用
圖1-4  result.jsp返回的包含學(xué)生信息的網(wǎng)頁(yè)

以下圖1-5顯示了Spring MVC框架響應(yīng)“/helloapp/addStudent”URL的流程。
怎么用Spring MVC創(chuàng)建Web應(yīng)用

圖1-5  Spring MVC框架響應(yīng)“/helloapp/addStudent”URL的流程

1.5  創(chuàng)建web.xml文件和Spring MVC 配置文件
在web.xml文件中,應(yīng)該對(duì)Spring MVC框架的中央控制樞紐DispatcherServlet進(jìn)行配置:





  Spring MVC Sample

  
    HelloWeb
    
      org.springframework.web.servlet.DispatcherServlet
    
    1
  

  
    HelloWeb
    /
  

以上代碼為DispatcherServlet映射的URL為“/”,這意味著所有訪問(wèn)helloapp應(yīng)用的客戶(hù)請(qǐng)求都會(huì)先由DispatcherServlet來(lái)預(yù)處理,然后再由DispatcherServlet轉(zhuǎn)發(fā)給后續(xù)組件。
以上代碼為DispatcherServlet設(shè)置的Servlet名字為“HelloWeb”,與此對(duì)應(yīng),必須為Spring MVC框架提供一個(gè)名為HelloWeb-servlet.xml配置文件,它也存放在WEB-INF目錄下。例程1-5是HelloWeb-servlet.xml文件的代碼。
例程1-5  HelloWeb-servlet.xml



  

  

    
    
  

以上代碼指定負(fù)責(zé)解析視圖組件的邏輯名字的類(lèi)為“InternalResourceViewResolver”。它的prefix和suffix屬性分別設(shè)定了視圖文件的前綴與后綴。
例如,對(duì)于StudentController的addStudent()方法返回的邏輯名字“result”,將被解析為“/WEB-INF/jsp/result.jsp”文件。
再例如,StudentController的student()方法返回一個(gè)ModelAndView對(duì)象,它包含的視圖組件的邏輯名字為“student”,“student”將被解析為“/WEB-INF/jsp/student.jsp”文件。

1.6  運(yùn)行helloapp應(yīng)用
按以上步驟創(chuàng)建好helloapp應(yīng)用后,就可以啟動(dòng)Tomcat服務(wù)器,運(yùn)行helloapp應(yīng)用。在源代碼包的sourcecode/helloapp目錄下,提供了這個(gè)應(yīng)用的所有源文件,可以直接將整個(gè)helloapp目錄拷貝到/webapps目錄下,就會(huì)發(fā)布這個(gè)應(yīng)用。
通過(guò)瀏覽器訪問(wèn):
http://localhost:8080/helloapp/student
就可以訪問(wèn)helloapp應(yīng)用了。

感謝各位的閱讀!關(guān)于“怎么用Spring MVC創(chuàng)建Web應(yīng)用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


當(dāng)前題目:怎么用SpringMVC創(chuàng)建Web應(yīng)用
路徑分享:http://www.weahome.cn/article/jshcgp.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部