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 条评论
登录 后参与评论

相关文章

来自专栏大数据学习笔记

Hadoop基础教程-第13章 源码编译(13.1 Zookeeper源码编译)

第13章 源码编译 13.1 Zookeeper源码编译 13.1.1 安装Ant 注意,不要下载最新版,下载指定版本 http://archive.apa...

2155
来自专栏黑泽君的专栏

Maven中日志jar包冲突报错:Class path contains multiple SLF4J bindings

可以转到pom.xml,打开Dependency Hierarchy并找到slf4j条目。除了通过右键单击“exclude maven artifact”排除其...

1183
来自专栏全栈架构

Spring Boot与Kotlin使用Spring Data Rest创建HAL风格Restful接口

REST web服务已成为在web上应用程序集成的首选方式。在其核心中,REST定义了系统由客户端交互的资源组成。这些资源以超媒体驱动的方式实现。Spring ...

722
来自专栏Java Edge

@Controller和@RestController

1104
来自专栏WindCoder

springBoot初探-创建项目

一边学习公司用到的技术,一边重构小程序后端,从而更好的理解公司搭建的框架。此处记录一个用idea+gradle+springboot的基础实现。

521
来自专栏Hongten

Maven的第一个小程序

关于maven的安装 : Install Maven in your computer

792
来自专栏Java帮帮-微信公众号-技术文章全总结

高级框架-SpringBoot【悟空教程】

Spring 诞生时是 Java 企业版(Java Enterprise Edition,JEE,也称 J2EE)的轻量级代替品。无需开发重量级的 Enterp...

1762
来自专栏JAVA技术站

SpringCloud Eureka注册中心使用

一、maven依赖配置,SpringCloud目前有四个版本,经测试Camden,Dalston两个版本构建Eureka正常,其它两版本存在jar依赖问题,所以...

494
来自专栏nnngu

Spring MVC的配置和使用

笔记仓库:https://github.com/nnngu/LearningNotes

1989
来自专栏Ken的杂谈

Spring Cloud 入门教程1、服务注册与发现(Eureka)

Eureka是Netflix开源的服务注册与发现框架,Eureka由两个组件组成:Eureka服务器和Eureka客户端。

832

扫码关注云+社区