1. 程式人生 > >Spring Web MVC 核心元件第二種方法(用註解的方法)

Spring Web MVC 核心元件第二種方法(用註解的方法)

Spring Web MVC 核心元件

Spring Web MVC提供了M、V和C相關的主要實現元件,具體如下:

DispatcherServlet(控制器,請求入口)

HandlerMapping(控制器,請求派發)

Controller(控制器,請求處理流程)

ModelAndView(模型,封裝業務處理結果和檢視)

ViewResolver(檢視,檢視顯示處理器)

 

通過以上配置,所有從前端傳送過來的請求,都將交給DispatherServlet處理。關於SpringMVC中一次完整的請求過程請看下邊:

 

 

瀏覽器向Spring傳送請求,請求交給前端控制器DispatcherServlet處理。

1.在WEB-INF配置Web.xml檔案。

<!-- 配置DispatcherServlet -->
  <servlet>
  <servlet-name>springmvc</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>
  </servlet>
  <servlet-mapping>
  <servlet-name>springmvc</servlet-name>
  <url-pattern>*.do</url-pattern>
  </servlet-mapping>

2.控制器通過HandlerMapping找到相應的Controller元件處理請求。註解方法

<!-- 開啟註解掃描 -->
	<context:component-scan base-package="com.zhiyou100"/>

	<!-- 開啟MVC註解掃描 -->
	<mvc:annotation-driven />

	<!-- 定義檢視解析器 -->
	<!-- 定義檢視解析器ViewResovler -->
	<bean id="viewResovler"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/" />
		<property name="suffix" value=".jsp" />
	</bean>

3、執行Controller元件約定方法處理請求,在約定方法呼叫模型元件完成業務邏輯處理。約定方法可以返回一個ModelAndView物件,封裝了處理結果資料和檢視名稱資訊。

控制器接收到ModelandView之後,呼叫ViewResolver元件,定位View(JSP)並傳遞資料資訊,生成相應的介面資訊


@Controller 
// 宣告bean 實現implement
//一級請求
@RequestMapping("/demo")
public class DemoController {
	// 二級請求  進入這個方法
	@RequestMapping ("/day01.do")
	public ModelAndView execute() {
		return new ModelAndView("jsp/demo");
	}
 
	// 三級請求
	@RequestMapping("/hello.do")
	public ModelAndView execute1() {
		return new ModelAndView("jsp/demo1");
	}
}

兩種配置檔案方法在HandlerMapping不同,在編寫程式碼的時候注意註解的含義。