首页 > 其他分享 >SpringMVC简介 | SpringMVC

SpringMVC简介 | SpringMVC

时间:2022-09-20 04:22:05浏览次数:68  
标签:xml SpringMVC 简介 视图 Controller spring DispatcherServlet

SpringMVC简介
  • 开发步骤

    1.导入SpringMVC包
    2.配置Servlet
    3.编写POJO(控制器Controller)
    4.将Controller使用注解配置到Spring容器中
    5.配置组件扫描 spring-mvc.xml
    6.执行测试
    
    • 导入坐标

      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>5.3.20</version>
      </dependency>
      
    • 配置SpringMVC的前端控制器

      webapp.WEB-INF.web.xml

      <servlet>
          <servlet-name>DispatcherServlet</servlet-name>
          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
          <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
          <servlet-name>DispatcherServlet</servlet-name>
          <url-parttern>/</url-parttern>
      </servlet-mapping>
      
    • 编写Controller

      controller.UserController

      @Controller
      public class UserController {
      
          @RequestMapping("/quickstart")
          public String save {
              System.out.println("save")
              return "/success.jsp";
          }
      }
      
    • 配置spring-mvc 组件扫描

      spring-mvc.xml

      <!-- TODO 补一个context命名空间 -->
      <context:component-scan base-package="com.miaokela.controller"/>
      
    • 告诉Servlet 配置文件的位置

      webapp.WEB-INF.web.xml

      <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:spring-mvc.xml</param-value>
          </init-param>
          <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
          <servlet-name>DispatcherServlet</servlet-name>
          <url-parttern>/</url-parttern>
      </servlet-mapping>
      
    • 测试

  • 组件解析

    Browser 请求 -> DispatcherServlet 前端控制器 -> 请求查询Handler -> HandlerMapping 查询映射器
    -> 返回HandlerExcutionChain -> 请求执行Handler -> HandlerAdaptor 处理适配器 -> Handler 处理器 
    -> 返回ModelAndView -> 请求视图解析器 -> ViewResolver 视图解析器 -> 返回视图对象 —> 返回视图页面jsp
    
    • 注解解析

      • @RequestMapping

        建立url与请求方法之间的对应关系

        // 地址 方法 参数
        @RequestMapping(value="/quick", method=RequestMethod.POST, params={"username"})
        
    • 组件扫描

      只扫描Controller

      <context:component-scan base-package="com.miaokela">
          <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
      </context:component-scan>
      
  • spring-mvc文件配置

    配置内部资源视图解析器
    配置前缀路径 后缀名

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/jsp/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>
    

标签:xml,SpringMVC,简介,视图,Controller,spring,DispatcherServlet
From: https://www.cnblogs.com/miaokela/p/16709732.html

相关文章

  • 迅为3568开发板文件系统构建之简介
    迅为3568开发板文件系统构建之简介 1.1根文件系统简介在移植Linux系统的时候,我们需要先移植一个bootloader代码,bootLoader用于启动Linux内核,然后移植LinuxKernel,......
  • Vue 系统组件 <KeepAlive> 简介
    <KeepAlive>@说明:缓存被包裹的组件先看段动态绑定组件代码:<component:is="activeComponent"></component>在上例代码中,随着组件的动态切换,旧的组件会被删除,新的组件......
  • 决策树简介
    决策树简介决策树实际上是一个布尔函数,它的输出可以是“0或1”或“-1或+1”或“-1、0或+1”。决策树的大小等于其中存在的节点数,其深度等于从顶部到根的最长路径的......
  • slab着色区简介
    slab机制的简介表示如下图所示:slab内的结构如下图所示: 每个Slab的首部都有一个小小的区域是不用的,称为“着色区(coloringarea)”。着色区的大小使Slab中的每个对象......
  • tracer ftrace笔记(7)—— Perfetto简介
    一、Perfetto简介1.Perfetto支持多种数据来源,systrace、atrace、sysstat、HeapProfiles、logcat.也支持动态配置和定制。2.PerfettoUI一些常见的表述(1)slice:......
  • GFM语法个人简介示例
    个人简介基本信息姓名:曾强年龄:20岁职业:攻城狮爱好:看电影、听音乐、喝咖啡抽烟、喝酒、烫头(头发没了)人生格言:机会总是留给有准备的人。时时居先,方可快......
  • Spring(一):简介
    一、什么是Spring广义上的Spring泛指以SpringFramework为核心的Spring技术栈。经过十多年的发展,Spring已经不再是一个单纯的应用框架,而是逐渐发展成为一个由多个......
  • Clojure概念简介
    故事要从<<黑客与画家>>这本书说起,这本书讲述了硅谷创业之父PaulGraham的创业故事和人生体会。其中最有感触的有几点:1.财富是创造出来的,世界的财富是在渐进增长,钱只是......
  • springMVC 视图
    1.internalResourceView转发到另一个页面@RequestMapping("/internal")publicStringinternal(){return"forward:/test/test1";} 2redirectView视图重定......
  • springMVC restFul实现
    1.get@RequestMapping(value="/user",method=RequestMethod.GET)publicStringuser(){System.out.println("查询所有用户信息");return"success";}@R......