日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring MVC开发–快速教程

發(fā)布時(shí)間:2023/12/3 javascript 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring MVC开发–快速教程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
這是我們的JCG合作伙伴之一,來自Manoj的有關(guān)使用Spring開發(fā)Web應(yīng)用程序的簡短教程, 網(wǎng)址為“ The Khangaonkar Report ”。

(注意:對(duì)原始帖子進(jìn)行了少量編輯以提高可讀性)

Spring MVC使用基于模型視圖控制器體系結(jié)構(gòu)(MVC)模式的框架,可以輕松進(jìn)行Web應(yīng)用程序開發(fā)。 MVC架構(gòu)模式要求將用戶界面(視圖),正在處理的數(shù)據(jù)(模型)和管理視圖與模型之間的交互的控制器分開。

Spring MVC的核心是Servlet,即DispatcherServlet ,它處理每個(gè)請求。 DispatcherServlet將HTTP請求路由到應(yīng)用程序開發(fā)人員創(chuàng)建的Controller類。 控制器類處理請求,并確定應(yīng)將哪個(gè)視圖作為響應(yīng)的一部分顯示給用戶。

讓我們開發(fā)一個(gè)簡單的Web應(yīng)用程序,該應(yīng)用程序接收請求并將一些數(shù)據(jù)發(fā)送回用戶。 在繼續(xù)進(jìn)行任何操作之前,建議您從此處下載源代碼。

對(duì)于本教程,您還需要:

1.像Tomcat這樣的servlet容器
2. Spring3.0
3. Eclipse是可選的。 我使用eclipse作為我的IDE。 Eclipse使您可以導(dǎo)出可以部署到Tomcat的戰(zhàn)爭。 但是您也可以使用其他IDE或命令行工具。 4.需要對(duì)JSP和Servlet有一定的了解。

步驟1:如果要在J2EE中開發(fā)Web應(yīng)用程序,通常可以通過開發(fā)打包在.war文件中的servlet和/或JSP來實(shí)現(xiàn)。 還需要包含配置元數(shù)據(jù)的部署描述符web.xml。 這場戰(zhàn)爭被部署到了像Tomcat這樣的應(yīng)用服務(wù)器上。

使用Spring,首先要做的是通過將org.springframework.web.servlet.DispatcherServlet定義為該應(yīng)用程序的Servlet類,將Spring連接到此J2EE Web基礎(chǔ)結(jié)構(gòu)。 您還需要將org.springframework.web.context.ContextLoaderListener定義為偵聽器。 ContextLoaderListener負(fù)責(zé)加載具有Spring元數(shù)據(jù)的特定于Spring的應(yīng)用程序上下文。

web.xml設(shè)置確保servlet引擎將對(duì)應(yīng)用程序的每個(gè)請求都路由到DipatcherServlet 。 更新為web.xml如下所示:

<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup> </servlet> <servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>*.htm</url-pattern> </servlet-mapping>

步驟2:此Web應(yīng)用程序中的繁重工作由控制器類完成。 這是擴(kuò)展org.springframework.web.servlet.mvc.AbstractController的普通Java類或bean。 我們重寫handleRequestInternal方法。 在這種方法中,您將做一些處理請求的必要工作,其中可能包括例如從數(shù)據(jù)庫中讀取數(shù)據(jù)。

該方法返回一個(gè)org.springframework.web.servlet.ModelAndView對(duì)象,該對(duì)象封裝了視圖的名稱以及該視圖需要顯示的任何數(shù)據(jù)(模型)。 ModelAndView將數(shù)據(jù)作為名稱值對(duì)保存。此數(shù)據(jù)稍后可用于視圖。 如果視圖是jsp,則可以使用jstl技術(shù)或直接查詢Request對(duì)象來訪問數(shù)據(jù)。 我們的控制器的代碼如下所示:

public class SpringMVCController extends AbstractController {protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) {ModelAndView mview = new ModelAndView("springmvc") ;mview.addObject("greeting", "Greetings from SpringMVC") ;mview.addObject("member1", new Member("Jonh","Doe", "1234 Main St","Pleasanton","94588","kh@gmail.com","1234")) ;return mview ;} }

視圖springmvc的名稱將傳遞到ModelAndView的構(gòu)造函數(shù)中。 addObject方法調(diào)用將添加2個(gè)模型對(duì)象,即“ greeting”和“ member1”。 稍后,您將看到視圖如何檢索對(duì)象并顯示它們。

步驟3:每個(gè)Spring應(yīng)用程序都需要元數(shù)據(jù)來定義Bean及其依賴項(xiàng)。 對(duì)于此應(yīng)用程序,我們創(chuàng)建一個(gè)springmvc-servlet.xml。 我們通過在web.xml中指定其位置來幫助spring找到它。

<context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/springmvc-servlet.xml</param-value> </context-param>

在springmvc-servlet.xml中,控制器bean定義為:

<bean name="/*.htm" class="com.mj.spring.mvc.SpringMVCController"/>

步驟4: DispatcherServlet如何知道哪個(gè)控制器應(yīng)該處理請求?

Spring使用處理程序映射將控制器與請求相關(guān)聯(lián)。 2個(gè)常用的處理程序映射是BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping 。

在BeanNameUrlHandlerMapping中 ,當(dāng)請求URL與bean的名稱匹配時(shí),bean定義中的類就是將處理請求的控制器。

在我們的示例中,我們使用BeanNameUrlHandlerMapping,如下所示。 每個(gè)以.htm結(jié)尾的請求url由SpringMVCController處理。

<bean name="/*.htm" class="com.mj.spring.mvc.SpringMVCController"/>

在SimpleUrlHandlerMapping中,映射更加明確。 您可以指定許多URL,并且每個(gè)URL都可以與控制器明確關(guān)聯(lián)。

步驟5: DispatcherServlet如何知道作為響應(yīng)返回什么?

如前所述,控制器的handleRequestInternal方法返回ModelAndView對(duì)象。

在上面顯示的控制器代碼中,視圖“ springmvc”的名稱在ModelAndView的構(gòu)造函數(shù)中傳遞。 至此,我們剛剛給出了視圖的名稱。 我們沒有說什么文件,類或工件有助于產(chǎn)生html,也沒有說使用的視圖技術(shù)是JSP還是速度模板還是XSLT。 為此,您需要一個(gè)ViewResolver ,它提供視圖名稱和具體視圖之間的映射。 Spring使您可以使用許多不同的技術(shù)來生成具體視圖,但是對(duì)于本示例,我們將使用JSP。

Spring提供了一個(gè)支持JSP的InternalResourceViewResolver類,并且springmvc-servlet.xml中的以下聲明告訴spring我們正在使用此解析器。 在視圖名稱中添加了前綴和后綴,以生成呈現(xiàn)視圖的jsp文件的路徑。

<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>

步驟6:在此示例中,視圖解析為springmvc.jsp,該視圖使用JSTL獲取并顯示數(shù)據(jù)。 Spring使JSP可以將模型對(duì)象“ greeting”和“ member1”用作請求范圍對(duì)象。 出于教育目的,下面的代碼也直接從請求中獲取對(duì)象。

// Using JSTL to get the model data ${greeting} ${member1.lastname// Using java to get the model directly from the request Map props = request.getParameterMap() ; System.out.println("PARAMS =" + props) ; Enumeration em = request.getAttributeNames() ; while (em.hasMoreElements()) {String name = (String) em.nextElement() ;System.out.println("name = "+name) ; } System.out.println("Attrs are "+request.getAttributeNames()) ; System.out.println("greeting is "+ request.getAttribute("greeting")) ; Member m = (Member)request.getAttribute("member1") ; System.out.println("member is "+m.toString()) ;

步驟7:到目前為止,我們開發(fā)的所有文件都應(yīng)打包到war文件中,就像在任何Web應(yīng)用程序中一樣。 通過復(fù)制到tomcat_install \ webapps,可以將戰(zhàn)爭部署到tomcat。 我發(fā)動(dòng)了一場戰(zhàn)爭,您可以在這里下載。

步驟8:將您的Web瀏覽器指向http:// localhost:8080 / springmvc / test.htm以運(yùn)行該應(yīng)用程序。 瀏覽器應(yīng)顯示數(shù)據(jù)。

總而言之,Spring通過提供可以輕松組裝的構(gòu)建塊來簡化Web應(yīng)用程序的開發(fā)。 我們使用Spring MVC構(gòu)建了一個(gè)Web應(yīng)用程序。 Spring提供了一種簡單的方法來將我們的模型,控制器SpringMVCController和視圖springmvc.jsp連接在一起。 我們不必顯式地編寫任何請求/響應(yīng)處理邏輯。 通過更改springmvc-servlet.xml中的元數(shù)據(jù),您可以切換到其他控制器或其他視圖技術(shù)。

沒錯(cuò) ,我們的JCG合作伙伴 Manoj Khangaonkar 提供了使用Spring開發(fā)Web應(yīng)用程序的簡單指南。 您可以在此處找到為本教程創(chuàng)建的源代碼。 別忘了分享!

相關(guān)文章:

  • JBoss 4.2.x Spring 3 JPA Hibernate教程
  • 使用Spring將POJO公開為JMX MBean
  • Spring3 RESTful Web服務(wù)
  • 帶有Spring和Maven教程的JAX–WS
  • 使用Spring Security保護(hù)GWT應(yīng)用程序
  • 使用Spring AspectJ和Maven進(jìn)行面向方面的編程
相關(guān)片段:
  • Spring MVC攔截器示例
  • 在Spring容器中聲明bean
  • 使用Spring發(fā)送電子郵件

翻譯自: https://www.javacodegeeks.com/2011/02/spring-mvc-development-tutorial.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的Spring MVC开发–快速教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。