SpringMVC是基于MVC模式的web框架,采用前端控制器設(shè)計模式,屬于SpringFrameWork的后續(xù)產(chǎn)品。現(xiàn)在以一個基本Hello World入門程序為例,通過XML配置形式介紹springMVC基本開發(fā)流程:

1.加入所需要的jar包,springMVC是建立在Spring IoC為容器,因此需要加入IoC相關(guān)的jar包(采用spring3.2.16版本)
commons-logging-1.1.3.jar
spring-beans-3.2.16.RELEASE.jar
spring-context-3.2.16.RELEASE.jar
spring-core-3.2.16.RELEASE.jar
spring-expression-3.2.16.RELEASE.jar
spring-web-3.2.16.RELEASE.jar
spring-webmvc-3.2.16.RELEASE.jar
2.配置springMVC的核心控制器DispatcherServlet,該控制器是一個servlet因此需要在web.xml中進(jìn)行配置,如下
<!--配置springMVC核心控制器 --> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.action</url-pattern> </servlet-mapping>
3.加載配置文件,配置文件默認(rèn)為名稱為:核心控制器名稱-servlet.xml,本例默認(rèn)配置文件為
dispatcher-servlet.xml,該文件位置在WEB-INF目錄下,若配置文件名自定義,則需要在配置核心控 制器時,配置參數(shù)contextConfigLocation指定其路徑,一般放在classpath下
4.配置處理器映射器HandlerMapper,默認(rèn)為BeanNameUrlHandlerMapping
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
5.配置處理器適配器HandlerAdapter,默認(rèn)為SimpleControllerHandlerAdapter
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
6.創(chuàng)建處理器HelloController繼承Controller
package com.lw.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class HelloController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView mv = new ModelAndView();
mv.setViewName("hello");
mv.addObject("hello", "hello world");
return mv;
}
}7.在配置文件中配置該處理器,name為url與該控制器映射
<bean name="/hello.action" class="com.lw.action.HelloController"></bean>
8.配置視圖解析器ViewResolver
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"></property> </bean>
9.創(chuàng)建在WEB-INF/jsp目錄下創(chuàng)建一個hello.jsp頁面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>hello頁面</title>
</head>
<body>
${hello}
</body>
</html>10.將該項目部署到tomcat上,打開瀏覽器訪問路徑http://localhost:8080/springMVC/hello.action
輸出結(jié)果為
hello world

簡單總結(jié)SpringMVC工作原理
客戶端發(fā)送http請求給web服務(wù)器,web服務(wù)器對請求進(jìn)行解析,若匹配DispatcherServlet映射路徑(在web.xml中配置),則web容器將轉(zhuǎn)發(fā)給DispatcherServlet。
DispatcherServlet接收請求后通過配置的處理器映射器handlerMapping對request進(jìn)行映射解析找到請求的處理器,并將其封裝成處理器執(zhí)行鏈HandlerExecutionChain返回給DispatcherServlet;
DispatcherServlet根據(jù)放回的HandlerExecutionChain中的處理器找到處理器適配器HandlerAdapter
DispatcherServlet通過HandlerAdapter來調(diào)用具體處理器的方法來處理請求,對數(shù)據(jù)處理完后將返回一個ModelAndView對象給DispatcherServlet
返回的ModelAndView只是一個邏輯視圖,需要DispatcherServlet調(diào)用視圖解析器ViewResolver將邏輯視圖轉(zhuǎn)化為真正視圖View對象,并返回一個view對象給DispatcherServlet
DispatcherServlet通過調(diào)用view對象的render方法對視圖進(jìn)行渲染,終展現(xiàn)出完整的view并返回給客戶端。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
本文名稱:SpringMVC個人總結(jié)-創(chuàng)新互聯(lián)
瀏覽地址:http://www.chinadenli.net/article36/docspg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站設(shè)計公司、域名注冊、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容