首页 > 其他分享 >SpringMVC

SpringMVC

时间:2023-10-12 18:13:51浏览次数:38  
标签:传参 1.4 return 1.3 SpringMVC public

1.1 SpringMVC概述

  • SpringMVC是一种基于Java实现MVC模型的轻量级Web框架
  • 优点
    • 使用简单,开发便捷 (相比于Servlet)

1.2 SpringMVC快速入门

  1. 使用SpringMVC技术需要先导入SpringMVC坐标与Servlet坐标
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.1.0</version>
  <scope>provided</scope>
</dependency>
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>5.2.10.RELEASE</version>
</dependency>
  1. 创建SpringMVC控制器类 (等同于Servlet功能)
@Controller
public class UserController {
  @RequestMapping("/save")
  @ResponseBody
  public String save(){
    System.out.printIn("user save);
    return "{'info':'springmvc'}";
  }
}
  1. 初始化SpringMVC环境 (同Spring环境),设定SpringMVC加载对应的bean
@Configuration
@ComponentScan("love.iloveworld.controller")
public class SpringMvcConfig {
}
  1. 初始化Servlet容器,加载SpringMVC环境,并设置SpringMVC技术处理的请求
public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer {
  protected WebApplicationContext createServletApplicationContext() {
    AnnotationConfigwebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
    ctx.register(SpringMvcConfig.class);
    return ctx;
  }

  protected Stringl] getServletMappings() {
    return new String[]{"/"};
  }
  protected WebApplicationContext createRootApplicationContext() {
    return null;
  }

  1. 运行程序
    加载tomcat插件,在运行自定义tomcat7:run
<build>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.1</version>
                <configuration>
                    <port>80</port>
                    <path>/</path>
                </configuration>
            </plugin>
        </plugins>
    </build>

1.3 请求与响应

规避多模块请求冲突问题

1.3.1 请求传参


1.3.1.1 POST请求中文乱码处理

解决方案:为web容器添加过滤器并指定字符集,Spring-web包中提供了专用的字符过滤器

public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherSeryletInitializer{
// 配字符编码过滤器
  protected Filter[] getServletFilters() {
    CharacterEncodingFilter filter = new CharacterEncodingFilter();
    filter.setEncoding("utf-8");
    return new Filter[]{filter};
  }
}

1.3.1.2 普通传参

1.3.1.3 POJO传参或嵌套POJO

1.3.1.4 数组传参

1.3.1.5 集合传参

1.3.1.6 总结记忆

数据传参默认使用变量名对应,若对应不上的就加个@RequestParam指定数据对应就行了!

1.3.2 传json参数

1.3.2.1 导入json坐标

<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.9.0</version>
</dependency>

1.3.2.2 核心配置文件中启动EnableWebMvc

1.3.2.3 接受请求中的json数据

1.3.3 @RequestParam 和 @RequestBody 的区别

1.3.4 数据格式转换

1.3.4.1 时间转换


内部工作原理: Converter接口

1.3.5 响应

工作原理:HttpMessageConverter接口

1.4 REST 风格


1.4.1 RESTful快速入门

  1. 设定http请求动作(动词)
    img

  2. 设定请求参数(路劲变量)
    img

总结
img
img

1.4.2 REST简化开发

  1. 返回值简化
    img
  2. 参数接受简化
    img

img

1.4.3 RESTful页面数据展示

标签:传参,1.4,return,1.3,SpringMVC,public
From: https://www.cnblogs.com/iloveworld/p/17758035.html

相关文章

  • springMVC @Test方法中如何请求https
    原文链接:https://www.longkui.site/error/springmvc-test-https/4823/0.背景springMVC环境,需要在@Test方法中发送一个https请求,按照格式要求发送了,结果报错org.springframework.web.client.ResourceAccessException:I/OerroronPOSTrequestfor"https://xxxx/xxx/xx:jav......
  • Springmvc执行流程
         ......
  • 4、SpringMVC之获取请求参数
    4.1环境搭建创建名为spring_mvc_demo2的新module,过程参考3.1节4.1.1、创建请求控制器packageorg.rain.controller;importorg.springframework.stereotype.Controller;/***@authorliaojy*@date2023/10/9-8:32*/@ControllerpublicclassTestParamContro......
  • SpringMVC略解
    SpringMVC是Spring框架的重要模块,是基于Java实现的轻量级WebMVC框架。其主要设计原理和实现如下:1.基于MVC架构,将请求分发到不同的组件处理。2.通过DispatcherServlet作为前端控制器,映射请求并处理响应。3.支持注解配置Controller、绑定参数等,减少配置。4.通过Hand......
  • SpringMVC概述
    一、SpringMVC的基本概念1.1 关于三层架构和MVC1.1.1三层架构我们的开发架构一般都是基于两种形式,一种是C/S架构,也就是客户端/服务器,另一种是B/S架构,也就是浏览器服务器。在JavaEE开发中,几乎全都是基于B/S架构的开发。那么在B/S架构中,系统标准的三层架构包括:表现......
  • SpringMVC
    MVC:模型(model),视图(view),控制器(controller)SpringMVC是SprIng框架的web组件拦截器是类似于过滤器的OSI七层模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层TCP/IP协议四层:网络接口层,网络层,传输层,应用层JAVAEE三层:持久层,业务层,表现层SpringMVC工作流程核心: ......
  • 3. SpringMVC-使用注解开发-beans
    万能开头:<beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:c="http://www.spring......
  • SpringMVC 数据校验
    SpringMVC数据校验应用程序在执行业务逻辑前,必须通过数据校验保证接收的输入数据时正确合法的.在一般情况下,应用程序的开发是分层的,不同层的代码由不同开发人员负责。很多时候,同样的数据校验会出现在不同层中,这样会导致代码冗余,为了避免这样的情况,最好是将验证逻辑和相应的域......
  • SpringMVC 拦截器
    SpringMVC拦截器<!--配置拦截器,可定义多个拦截器--><mvc:interceptors><!--定义1个拦截器--><mvc:interceptor><!--用于指定拦截器匹配url--><mvc:mappingpath="/user/**"/><!--用于指定拦截器排除的url-->&......
  • SpringMVC 文件上传
    SpringMVC文件上传<!--支持文件上传--><beanid="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><!--maxUploadSizePerFile:单个文件大小限制maxUploadSize:整个请求大小限制--><propert......