SpringMVC初步学习

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

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

③Controller

④ViewResolver(View)(结果视图解析器,eg:UrlBasedViewResolver)

SpringMVC 的工作流程:

    某些请求(eg:以“.do”结尾的请求)通过①进行分发给③处理,分发时是通过②所配置的映射表进行的;③处理完之后,返回一个ModelAndView对象(其中包含了视图逻辑字符串,类似于struts2),再经过④的解析(前后缀拼接),响应视图。

<?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");
    }

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏跟着阿笨一起玩NET

C#实现文本文件合并

622
来自专栏Java技术栈

获取Spring的ApplicationContext的几种方式

Application Context定义 简单来说就是Spring中的高级容器,可以获取容器中的各种bean组件,注册监听事件,加载资源文件等功能。 具体定...

2607
来自专栏后端沉思录

Spring源码之解析并注册BeanDefinition(一)

最近有空把Spring加载bean流程复习了一下,也乘机可以做个整理.首先还是看下入口代码,本文主要讲解析及注册BeanDefinition整体加载流程:

731
来自专栏JAVA高级架构

Spring MVC工作原理

972
来自专栏冷冷

jfinal自定义freemarker标签

jfinal自定义freemarker标签 ---- 1. config修改freemarkerrender public void after...

1736
来自专栏技术之路

设计模式:适配器模式

今天说一下适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间 感觉这是一个很好理解的模式,也是我们很常见的一个模式,...

17010
来自专栏技术小讲堂

在ASP.NET MVC中使用Unity进行依赖注入的三种方式第一种方法第二种方法第三种方法

     在ASP.NET MVC4中,为了在解开Controller和Model的耦合,我们通常需要在Controller激活系统中引入IoC,用于处理用户请...

2695
来自专栏菩提树下的杨过

温故而知新:new与override的差异以及virtual方法与abstract方法的区别

先直接看代码吧: using System; namespace ConsoleApplication1 { class Program { ...

1878
来自专栏james大数据架构

asp.net中打印指定控件内容

1.写一个PrintHelper类 using System; using System.Data; using System.Configuration; u...

17710
来自专栏木宛城主

庖丁解牛看委托和事件(续)

上一篇文章:庖丁解牛——深入解析委托和事件之后,以一题面试题来总结事件 using System; using System.Collections.Gener...

3519

扫码关注云+社区