首页 > 其他分享 >SpringMVC

SpringMVC

时间:2023-02-10 09:22:05浏览次数:39  
标签:index SpringMVC springframework Handler 视图 org

SpringMVC

Spring MVC是目前主流的实现MVC设计模式的框架,相当于Spring的一个子模块。

Spring MVC以Spring Ioc容器为基础,利用容器特性简化它的配置。

MVC模式:即把应用程序分为三层,controller,view和model层。controller接收用户端请求,调用model生成业务数据,传递给view。springMVC就是对这套流程的封装,屏蔽了很多底层的代码,开放出接口,让开发者可以更轻松便捷的完成任务。

 

 

SpringMVC核心组件
  • DispatchServlet:前置控制器,是整个流程控制的核心,控制其他组件的执行,进行统一调度,降低组件之间的耦合性,相当于总指挥。

  • Handler:处理器,完成具体的业务逻辑,相当于Servlet或者Action

  • HandlerMapping:DispatcherServlet接收到请求后,通过HandlerMapping将不同的请求映射到Handler。

  • HandlerInterceptor:处理器拦截器,是一个接口,如果需要完成一些拦截处理,可以实现该接口。

  • HandlerExecutionChain:处理器执行链,包括两部分内容:Handler和HandlerInterceptor(系统会有一个默认的HandlerInterceptor,如果需要额外设置拦截,可以添加拦截器。)

  • HandlerAdapter:处理器适配器,Handler执行业务方法之前,需要进行一系列的操作,包括表单数据的验证,数据类型的转换,将表单数据封装到javaBean等。开发者只需要将注意力集中在业务逻辑的处理上.

    DispatcherServlet 通过HandlerAdapter执行不同的handler

  • ModleAndView:装载了模型数据和视图信息,作为handler的处理结果,返回给DispatcherServlet.

  • ViewResolver:视图解析器,DispatcheServlet通过它将逻辑视图解析为物理视图。最终将渲染的结果响应给客户端。

  • SpringMVC流程非常的复杂,实际开发却很简单,因为大部分的组件不需要开发者创建,管理,只需要通过配置文件的方式完成配置接口,真正需要开发者进行处理的只有Handler,View。

    • 创建Maven工程,pom.xml,添加mvc依赖

      <dependencies>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>5.0.11.RELEASE</version>
        </dependency>
      </dependencies>
      • 在web.xml中配置DispatherServlet

        <!DOCTYPE web-app PUBLIC
         "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
         "http://java.sun.com/dtd/web-app_2_3.dtd" >
        
        <web-app>
        
          <display-name>Archetype Created Web Application</display-name>
        
          <servlet>
            <servlet-name>dispatcherServlet</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
          <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
          </init-param>
          </servlet>
          <servlet-mapping>
            <servlet-name>dispatcherServlet</servlet-name>
        <!--拦截所有请求-->
            <url-pattern>/</url-pattern>
          </servlet-mapping>
        </web-app>

        Handler创建

        package com.soutwind;
        
        import org.springframework.aop.scope.ScopedProxyUtils;
        import org.springframework.stereotype.Controller;
        import org.springframework.web.bind.annotation.RequestMapping;
        
        /**
         * @Controller,和@Component类似,将类交给Ioc管理,并多了控制器的功能
         */
        
        @Controller
        
        public class HelloHandler {
            @RequestMapping("/index")//当在浏览器中输入/index时可直接调用index方法。
            public  String index(){
                System.out.println("执行了index..");
                return "index";//return一个视图解析器,调用webapp下的Index.jsp
            }
        
        }

         

标签:index,SpringMVC,springframework,Handler,视图,org
From: https://www.cnblogs.com/zhangtiedangg/p/17107790.html

相关文章

  • day05-SpringMVC底层机制简单实现-01
    SpringMVC底层机制简单实现-01主要完成:核心分发控制器+Controller和Service注入容器+对象自动装配+控制器方法获取参数+视图解析+返回JSON格式数据1.搭建开发环境创......
  • 五、SpringMVC获得请求数据
    获得请求参数客户端请求参数的格式是:name=value&name=value......服务器端要获得请求的参数,有时还需要进行数据的封装,SpringMVC可以接收如下类型的参数:基本类型参数......
  • SpringMVC初体验
    目录SpringMVC简介MVC介绍什么是SpringMVCSpringMVC的特点入门案例创建maven工程配置web.xml默认配置方式扩展配置方式url-pattern标签中使用/和/*的区别创建请求控制器创......
  • 四、SpringMVC的数据响应
    SpringMVC的数据响应方式页面跳转直接返回字符串通过ModelAndView对象返回回写数据直接返回字符串返回对象或集合页面跳转返回字符串形式直接返回字符串:......
  • 75、商城业务---认证服务---SpringMVC的视图映射
    以前我们希望跳转页面时,都是前端页面给后端发送请求,后端controller使用一个空方法来接受,返回要跳转的页面的名字,实现页面跳转。但是SpringMVC提供了视图映射机制,我们无需......
  • SpringMVC源码(一):源码运行环境搭建
    一、创建smvc子模块子模块选择gradle二、实体类代码2.1、User实体1publicclassUser{23privateStringname;45publicUser(){6}......
  • 二、SpringMVC的简介
    SpringMVC概述SpringMVC是一种基于Java的实现MVC设计模型的请求驱动类型的轻量级Web框架,属于SpringFrameWork的后续产品,已经融合在SpringWebFlow中。SpringM......
  • springmvc创建后缺少WEB-INF解决
    右键项目=>properties修改项目模块为3.1   在src/main/webapp创建WEB-INF文件夹   在WEB-INF中创建名为web.xml文件并粘贴以下代码<?xmlversion="1.0"......
  • springmvc启动需要的基础依赖
    <properties><spring.version>5.2.8.RELEASE</spring.version></properties><dependencies><!--此依赖会关联引用Spring中的所有基础ja......
  • Spring—SpringMVC
    奇葩的经历。。。今天凌晨还在睡梦中,被一阵剧痛疼醒了,整个人在床上呻吟。后来实在忍不住了去医院检查,把我吓坏了都...查出来是尿结石...我这年纪轻轻的,怎么这么快就长了个......