国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Spring-MVC入門(一):入門實例

開發 后端
本篇文章介紹Spring-MVC的一些入門級例子方便大家理解,希望對大家有所幫助。

引言

1.MVC :Model-View-Control

框架性質的C 層要完成的主要工作:封裝web 請求為一個數據對象、調用業務邏輯層來處理數據對象、返回處理數據結果及相應的視圖給用戶。

2. 簡要概述springmvc

Spring C 層框架的核心是 DispatcherServlet,它的作用是將請求分發給不同的后端處理器,也即 使用了一種被稱為Front Controller 的模式(后面對此模式有簡要說明)。 Spring 的C 層框架使用了后端控制器來、映射處理器和視圖解析器來共同完成C 層框架的主要工作。并且spring 的C 層框架還真正地把業務層處理的數據結果和相應的視圖拼成一個對象,即我們后面會經常用到的ModelAndView 對象。

一、入門實例

1. 搭建環境

在spring 的官方API 文檔中,給出所有包的作用概述,現列舉常用的包及相關作用:

org.springframework.aop-3.0.5.RELEASE.jar :與Aop 編程相關的包

org.springframework.beans-3.0.5.RELEASE.jar :提供了簡捷操作bean 的接口

org.springframework.context-3.0.5.RELEASE.jar :構建在beans 包基礎上,用來處理資源文件及國際化。

org.springframework.core-3.0.5.RELEASE.jar :spring 核心包

org.springframework.web-3.0.5.RELEASE.jar :web 核心包,提供了web 層接口

org.springframework.web.servlet-3.0.5.RELEASE.jar :web 層的一個具體實現包,DispatcherServlet也位于此包中。

后文全部在spring3.0 版本中進行,為了方便,建議在搭建環境中導入spring3.0 的所有jar 包(所有jar 包位于dist 目錄下)。

2. 編寫HelloWorld 實例

步驟一、建立名為springMVC_01_helloword ,并導入上面列出的jar 包。

步驟二、編寫web.xml 配置文件,代碼如下:

Java代碼

 

  1. "1.0" encoding="UTF-8"?>     
  2. "2.4" xmlns="http://java.sun.com/xml/ns/j2ee"    
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee      
  5.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">     
  6.     
  7.          
  8.         spmvc     
  9.         class>     
  10.             org.springframework.web.servlet.DispatcherServlet     
  11.         class>     
  12.         1     
  13.          
  14.          
  15.         spmvc     
  16.         *.do     
  17.          
  18.   

簡要說明 :DispatcherServlet 就是一個Servlet ,也是對請求進行轉發的核心Servlet 。在這里即所有.do 的請求將首先被DispatcherServlet 處理,而DispatcherServlet 它要作的工作就是對請求進行分發(也即是說把請求轉發給具體的Controller )。可以簡單地認為,它就是一個總控處理器,但事實上它除了具備總控處理理器對請求進行分發的能力外,還與spring 的IOC 容器完全集成在一起,從而可以更好地使用spring 的其它功能。在這里還需留意 < servlet-name > spmvc ,下面步驟三會用到。

步驟三、建立 spmvc-servlet.xml 文件,它的命名規則: servlet-name-servlet.xml 。它的主要代碼如下:

Xml代碼

  1. xml version="1.0" encoding="UTF-8" ?>    
  2. >    
  3. <beans>    
  4.     <bean id="simpleUrlHandlerMapping"       class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">    
  5.         <property name="mappings">    
  6.             <props>    
  7.                 <prop key="/hello.do">helloControlprop>                                 
  8.                         props>    
  9.         property>    
  10.     bean>    
  11.     <bean id="helloControl" class="com.asm.HelloWord">bean>    
  12. beans>    

 

 

 

 

說明: hello.do 的請求將給名為 helloControl 的 bean 進行處理。

步驟四、完成 HelloWord.java 的編寫,代碼如下:

Java代碼

 

  1. package com.asm;     
  2. import javax.servlet.http.HttpServletRequest;     
  3. import javax.servlet.http.HttpServletResponse;     
  4. import org.springframework.web.servlet.ModelAndView;     
  5. import org.springframework.web.servlet.mvc.Controller;     
  6. public class HelloWord implements Controller {     
  7.     public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)     
  8.             throws Exception {     
  9.         ModelAndView mav = new ModelAndView("hello.jsp");     
  10.         mav.addObject("message""Hello World!");     
  11.         return mav;     
  12.     }     
  13. }  

說明 :ModelAndView 對象是包含視圖和業務數據的混合對象,即是說通過此對象,我們可以知道所返回的相應頁面(比如這里返回hello.jsp 頁面),也可以在相應的頁面中獲取此對象所包含的業務數據(比如這里message-hello worrld )。

步驟五、在當前項目web 根目錄下編寫hello.jsp ,主要代碼如下:

< body >

世界,你好!

獲取值: ${message }

 

步驟六:輸入 .../hello.do 進行測試。

4. 簡析spring mvc 工作原理

(1 )啟動服務器,根據web.xml 的配置加載前端控制器(也稱總控制器) DispatcherServlet 。在加載時、會完成一系列的初始化動作。

(2 )根據servlet 的映射請求(上面的helloWorld 實例中針對.do 請求),并參照“控制器配置文件”(即spmvc-servlet.xml 這樣的配置)文件,把具體的請求分發給特定的后端控制器進行處理(比如上例會分發給HelloWorld 控制器進行處理)

(3 )后端控制器調用相應的邏輯層代碼,完成處理并返回視圖對象( ModelAndView )給前端處理器。

(4 )前端控制器根據后端控制器返回的 ModelAndView 對象,并結合一些配置(后面有說明),返回一個相應的頁面給客戶端。

小結 :這種Front Controller 模式常應用在主流的web 框架中,比如典型的struts1.x 框架.Front Controller 模式:所有請求先交給一個前端處理器(總控處理器)處理,然后前端處理器會參照一些配置文件再把具體的請求交給相應的后端處理器。后端處理器調用邏輯層代碼,并根據邏輯返回相應的視圖對象給前端控制器。然后前端控制器再根據視圖對象返回具體的頁面給客戶端(提示:和spring mvc 一樣,在struts1.x 中前端控制器是Servlet, 而在struts2 中前端控制器是Filter )。 概述 Front Controller 模式:前端控制器預處理并分發請求給后端控制器,后端控制器進行真正的邏輯處理并返回視圖對象,前端控器器根據視圖對象返回具體頁面給客戶端。

5. 初識spring mvc 的視圖

在前面的HelloWorld 實例中,在HelloWorld.java 中返回 ModelAndView mav = new ModelAndView( "hello.jsp" ) 參數為 hello.jsp ,它會對應于當前項目根目錄下的 hello.jsp 頁面。但 spring mvc 為我們提供了一個特別的視圖定位方式,下面改進前面的 HelloWord 實例:

改進一 :在 spmvc-servlet.xml 中增加如下代碼:

Xml代碼

 

  1. <bean id="viewResolver"      class="org.springframework.web.servlet.view.InternalResourceViewResolver">    
  2.         <property name="prefix" value="/WEB-INF/page/" />    
  3.         <property name="suffix" value=".jsp" />    
  4. bean>  

改進二 :在HelloWorld.java 重新定義返回的 ModelAndView 對象,即把 ModelAndView mav = new ModelAndView( "hello.jsp" ) 改為 ModelAndView mav = new ModelAndView( "hello" )

改進三 :在/WEB-INF/page 目錄下建立hello.jsp 頁面

進行上面三個改進操作后,重新訪問hello.do 會訪問到WEB-INF/page/hello.jsp 頁面。

簡析視圖定位 :當返回 ModelAndView 對象名稱為hello 時,會給hello 加上前后綴變成

/WEB-INF/page/hello.jsp 。因此在給前后綴賦值時,應特別注意它和返回的 ModelAndView 對象能否組成一個正確的文件全路徑。在前面的“簡析spring mvc 工作原理(4) ”點中提到在根據ModelAndView 對象返回頁面時,會結合一些配置。這里就是結合了視圖定位方式,給viewName 加上前后綴進行定位。

【編輯推薦】

責任編輯:金賀 來源: JavaEye博客
相關推薦

2011-03-08 08:58:37

springmvc

2011-03-18 09:37:40

spring

2009-06-11 10:37:58

netbeans spMVC基礎

2019-01-03 12:50:52

Spring BootJava編程語言

2009-11-02 09:14:51

ASP.NET MVC

2009-06-26 17:34:29

Spring入門

2009-06-12 09:15:04

EJB入門

2013-05-20 15:42:22

2023-11-01 08:50:52

DjangoPython

2009-06-30 14:02:00

hibernate入門MyEclipse開發

2011-12-22 13:17:03

JavaJFreeChart

2009-07-10 15:24:33

MyEclipse開發Spring

2020-12-24 08:07:18

SpringBootSpring SecuWeb

2023-02-13 09:01:29

Linux驅動實例

2012-02-14 14:05:59

JavaSpring

2023-10-08 08:28:10

Spring事務管理

2014-04-14 05:31:08

WindowsPhonWP8MVC

2015-01-07 09:32:50

ASP.NET MVC路由

2021-06-07 12:06:19

SpringCloud Sleuth微服務

2019-10-12 16:15:13

MySQL數據庫多實例
點贊
收藏

51CTO技術棧公眾號

av在线天堂播放| 日韩免费特黄一二三区| 欧美日韩国产精品| 99re热在线观看| 久久久久国产一区二区三区四区| 国产精品波多野结衣| 在线亚洲精品| 国产精品免费观看高清| 99精品视频在线观看播放| 午夜精品一区二区三区在线视| 久久精品黄色| 色爱精品视频一区| 欧美日韩激情电影| 亚洲男人第一网站| 中文字幕在线直播| 亚洲欧美成人网| 日本不卡网站| 亚洲三级免费看| 一区二区乱码| 亚洲欧美一区二区三区情侣bbw| h视频在线免费观看| 正在播放亚洲一区| 欧美巨大xxxx做受沙滩| 亚洲国产精彩中文乱码av在线播放| 91高清在线观看视频| 亚洲成人精品视频| 手机在线理论片| 亚洲网站在线看| 一区二区三区| 久久久久久国产精品美女| 国产成人一二片| 国产精品欧美在线| 国产在线欧美| 正在播放91九色| 97精品国产97久久久久久久久久久久| 免费看又黄又无码的网站| 久久综合久久鬼色| 麻豆免费网站| 欧美日韩成人综合| 国产高潮在线| 久久久久久久久久久成人| 韩日一区二区三区| 国产在线精品一区二区中文 | 日韩一区二区免费在线电影| 国产视频一区二区| 亚洲免费中文字幕| 国产精品zjzjzj在线观看| 成人午夜激情网| 日本欧美加勒比视频| 国产91美女视频| 亚洲成人激情av| 色老头在线观看| 欧美另类交人妖| 在线看片不卡| 高清无码一区二区在线观看吞精| 国产精品婷婷午夜在线观看| 小草在线视频在线免费视频| 日韩欧美一区二区免费| 成人黄色91| 岛国视频一区免费观看| 黑人巨大精品欧美一区| 中文字幕 91| 3d成人动漫网站| 日本精品在线观看| 好吊色欧美一区二区三区| 97久久精品人人爽人人爽蜜臀 | 久久久久国产一区二区三区四区 | 久久久国产一区二区三区四区小说 | 欧美日韩一区二区三区在线免费观看| 日本成人在线播放| 久久久久www| 午夜欧美理论片| 女人帮男人橹视频播放| 亚洲国产精品久久人人爱蜜臀| 182在线播放| 国产成人精品一区二区| 精品在线免费视频| 一级毛片在线看| 在线看欧美日韩| 亚洲色图欧美| 久久婷婷国产91天堂综合精品| 欧美精品久久99| 欧美三级午夜理伦三级在线观看| 日韩欧美一区二区视频在线播放| 亚洲精品免费看| 日韩成人免费av| 任我爽在线视频精品一| 亚洲一区二区三区在线看| 久久99久久久精品欧美| 欧美日韩三区四区| 亚洲国产sm捆绑调教视频| 小说区图片区亚洲| 韩国一区二区三区美女美女秀| 亚洲婷婷综合久久一本伊一区| 日本综合字幕| 青娱乐国产91| 在线精品视频免费观看| 蜜桃一区二区三区| 国产女大学生av| 日韩精品免费在线视频观看| 亚洲福利一区| 三级做a全过程在线观看| 欧美精品18videos性欧美| 国产精品91xxx| 欧美人与性动交α欧美精品济南到| 亚洲va男人天堂| 亚洲免费看黄网站| 超碰成人免费| 久色视频在线播放| 亚洲人高潮女人毛茸茸| 美美哒免费高清在线观看视频一区二区| 国内在线精品| 91免费国产网站| 亚洲黄网站在线观看| 精品伊人久久久| 国产又黄又猛视频| 一本一本久久a久久精品牛牛影视 一本色道久久综合亚洲精品小说 一本色道久久综合狠狠躁篇怎么玩 | 中文字幕国产在线| 高清欧美性猛交xxxx| 粉嫩av一区二区三区| 免费影视亚洲| 国产欧美日韩亚洲| 午夜精品免费在线观看| 伦理一区二区三区| 一级片视频免费观看| 久久综合国产精品台湾中文娱乐网| 国产精品88av| 欧美电影免费观看| 男同互操gay射视频在线看| 51精品久久久久久久蜜臀| 激情久久五月| 男人天堂手机在线| 欧美日韩一区二区三| 日韩一区二区三区视频在线观看| 国产欧美日韩综合一区在线播放 | 国产精品久久久久免费a∨| 国产精品久久网站| 天天做夜夜做人人爱精品| 成人网18免费软件大全| 欧美激情乱人伦一区| 国产精品免费人成网站| 美女福利一区| 高清免费观看在线| 91人成网站www| 欧美色大人视频| 免费成人av资源网| 成人黄色免费网站| 制服丝袜综合网| 国产精品直播网红| 在线免费观看视频一区| 久久欧美肥婆一二区| 亚洲欧洲高清| 国产成人av影视| 国产成人jvid在线播放| 精品国产精品三级精品av网址| 国内在线观看一区二区三区| 人人超在线公开视频| 国产二区视频在线| 九九精品在线视频| 五月天国产精品| 丝袜美腿亚洲色图| 国外成人福利视频| 毛片手机在线观看| 国产日韩欧美一区二区三区四区| 亚洲第一精品福利| 国产日韩欧美不卡| 综合五月婷婷| 中文字幕乱码在线播放| 一级片视频免费观看| 91在线视频精品| 亚洲精品久久久久中文字幕二区| 大桥未久av一区二区三区中文| 久久a爱视频| 免费不卡视频| 亚洲色欲综合一区二区三区| 国产精品入口免费视| 欧美无乱码久久久免费午夜一区| 精品一区二区免费| 偷拍亚洲色图| 国产午夜精品久久久久免费视| 日本www在线视频| 成人精品一区二区三区电影黑人| 亚洲白拍色综合图区| 中文字幕一区二区三区四区| 亚洲深爱激情| 成人直播在线观看| 日韩av中文| 午夜免费福利在线| 欧美日韩大片一区二区三区| 久久国产精品网站| 欧美视频一区二| 国产无人区一区二区三区| 亚洲精品1234| 精品国产乱子伦一区二区| 在线观看黄色av| 天天综合网天天做天天受| 日韩精品欧美专区| 国产精品99久久久久久www| 亚洲天堂第二页| 欧美视频一区二区在线观看|