SpringMVC

29 篇文章 0 订阅
21 篇文章 0 订阅

概述(截图均来自黑马程序员,侵删)

SpringMVC(model view controller)是一种基于Java的实现MVC设计模型的请求驱动类型的轻量级Web框架,属于SpringFrameWork的侯勋产品,已经融合在SpringWebFlow中

SpringMVC已经成为目前最主流的MVC框架之一,并且随着Spring3.0的发布,全面超越Struts2,成为嘴优秀的MVC框架。它通过一套注解,让一个简单的Java类成为处理请求的控制器,而无需实现任何接口,同时它还支持RESTful编程风格的请求

开发步骤

  1. 导入SpringMVC相关坐标
 <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.1.8.RELEASE</version>
        </dependency>
  1. 配置SpringMVC核心控制器DispathcerServlet
 <!--配置SpringMVC前端控制器-->
  <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-pattern>/</url-pattern>
  </servlet-mapping>
  1. 创建Controller类和视图界面
public class UserController {

    public String save(){
        System.out.println("Controller save running");
        return "success.jsp";
    }

}
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h1>success</h1>
</body>
</html>

  1. 使用注解配置Controller类中业务方法的映射地址
@Controller
public class UserController {

    @RequestMapping("/quick")
    public String save(){
        System.out.println("Controller save running");
        return "success.jsp";
    }

}
  1. 配置SpringMVC核心文件spring-mvc.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>
 <!--Controller组件扫描-->
    <context:component-scan base-package="com.ch.controller"/>

  1. 客户端发起请求测试

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SpringMVC组件解析

在这里插入图片描述

  1. 用户发送请求至前端控制器DispatcherServlet
  2. DispacherServlet收到请求调用HandlerMapping处理器映射器
  3. 处理器映射器找到具体的处理器(可根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet
  4. DispatcherServlet调用HandlerAdapter处理器适配器
  5. HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。
  6. Controller执行完成后返回ModelAndView
  7. HandlerApapter将controller执行结果ModelAndView返回给DispatcherServlet
  8. DispatcherServlet将ModelAndView传给ViewReslover视图解析器
  9. ViewReslover解析后返回具体的View
    10.DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。DispatcherServlet响应用户

在这里插入图片描述

在这里插入图片描述

数据响应

在这里插入图片描述
直接返回字符串:此种方式会将返回的字符串与视图解析器的前后缀拼接后跳转
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MVC实现数据请求方式

  • 基本类型参数
    请求参数的key与对应方法参数名称一致
  • POJO类型参数
    请求参数的名称与实体内属性名一致
  • 数组类型参数
    请求参数的名称与数组名称一致
  • 集合类型参数
    封装到VO类型中,除ajax请求外

MVC获取数据细节

  • 中文乱码问题
    设置过滤器,指定enconding
  • @RequestParm和@PathVariable
    解决请求参数名称不一致问题
  • 自定义类型转换器
    类型转换定义,配置,注解驱动
  • 获取Servlet相关API
    直接定义
  • @RequestHeader和Cookoevalue
  • 文件上传
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值