SpringMVC初步學習

①DispatcherServlet(請求分配器,在web.xml中配置)java

②HandlerMapping(請求映射器,eg:SimpleUrlHandlerMapping)web

③Controllerspring

④ViewResolver(View)(結果視圖解析器,eg:UrlBasedViewResolver)mvc

SpringMVC 的工做流程:app

    某些請求(eg:以「.do」結尾的請求)經過①進行分發給③處理,分發時是經過②所配置的映射表進行的;③處理完以後,返回一個ModelAndView對象(其中包含了視圖邏輯字符串,相似於struts2),再通過④的解析(先後綴拼接),響應視圖。jsp

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-2.5.xsd">

    <!-- 對處理請求和controller進行映射 -->
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="start.do">startController</prop>
            </props>
        </property>
    </bean>
    
    <!-- controller的配置 -->
    <bean id="startController" class="com.yawn.controller.StartController"></bean>
    
    <!-- 對視圖分派器進行配置 -->
    <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
        <property name="prefix" value="/WEB-INF/jsp/"></property>
        <property name="suffix" value=".jsp"></property>
        <!-- 最後展現的頁面是/WEB-INF/jsp/start.jsp -->
    </bean>

</beans>
package com.yawn.controller;

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 StartController implements Controller {

    @Override
    public ModelAndView handleRequest(HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        System.out.println("----->>>>>>>>>>>>---");
        return new ModelAndView("start");
    }

}
相關文章
相關標籤/搜索