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元件處理請求。

<!-- 定義請求處理影視 HandlerMapping -->
<bean id="handlerMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings"> 
 <props>
<prop key="/demo/hello.do">helloController</prop>    
</props> 
</property>
</bean>
<!-- 宣告Controller -->
<bean  id="helloController"   class="com.zhiyou.entity.HelloController"/>
<!-- 定義檢視解析器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");
	}
}

4.在WEB-INF下建Jsp資料夾,建hello.jsp

在裡面隨意輸入程式碼:

<h1>hello,SpringMVC</h1>

5、執行專案即可