SpringWeb

目录

一.SpringWeb

[1.SpringWeb 概述](#1.SpringWeb 概述)

[2.SpringWEB 特点](#2.SpringWEB 特点)

[3.SpringWeb 运行流程](#3.SpringWeb 运行流程)

[4.SpringWEB 组件](#4.SpringWEB 组件)

二.搭建SpringWeb

1.在pom.xml中导包

2.配置DispatcherServlet

3.开启SpringWEB注解

4.测试

三.接收请求

1.定义地址、请求方式

2.获取请求数据

1)使用request对象接收

[2) spring 自动封装](#2) spring 自动封装)

3)当请求参数名与形参名不一致时,可以使用@RequestParam("")进行参数绑定

4)使用实体类对象接收

5)日期类型转换

四.返回JSON

五.拦截器


早期ssm框架 == spring + strtuts2 + mybatis

一.SpringWeb

1.SpringWeb 概述

SpringWeb 是spring框架中的一个模块,基于Servlet API构建的web框架.

springWeb 是Spring 为web层开发提供的一整套完备的解决方案。

在web层框架历经Strust1,WebWork,Strust2 等诸多产品的历代更选之后, 目前业界普遍选择了springWeb作为JavaEE项目web层开发的首选方案。

2.SpringWEB 特点

SpringWEB是spring 家族原生产品,与IOC容器等基础设施无缝对接.

基于原生的Servlet,提供了一个前端控制器 DispatcherServlet ,开发者 无须额外开发控制器对.

可以自动绑定用户输入,并正确地转换数据类型.

代码清新简洁,大幅度提升开发效率.

内部组件化程度高,可插拔式组件即插即用.

性能卓著,尤其适合现代大型、超大型互联网项目要求.

3.SpringWeb 运行流程

4.SpringWEB 组件

二.搭建SpringWeb

1.在pom.xml中导包

复制代码
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.2.2.RELEASE</version>
</dependency>

2.配置DispatcherServlet

在web.xml文件中配置DispatcherServlet

配置spring核心请求分发器

复制代码
<servlet>
    <servlet-name>application</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring.xml</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
</servlet>
<!--请求映射-->
<servlet-mapping>
    <servlet-name>application</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

3.开启SpringWEB注解

在spring.xml中配置

复制代码
<mvc:annotation-driven></mvc:annotation-driven>

4.测试

删除test包,在web层中创建LoginController类

@RestController 让spring扫描,并创建管理对象

**@RequestMapping(path = "/loginCtl")**为类和方法定义地址,在类上面定义地址不能重复

程序运行后,在浏览器输入127.0.0.1:8088/ssm/loginCtl/login 页面显示success

三.接收请求

1.定义地址、请求方式

①用method属性定义

复制代码
@RequestMapping(path="/login",method = RequestMethod.POST)

②可以定义地址,只能进行get请求

复制代码
@GetMapping(path="/login")

③只能进行post请求

复制代码
@PostMapping(path = "/login")

2.获取请求数据

1)使用request对象接收

2) spring 自动封装

Spring 会自定进行数据封装,这里要注意的是,处理器接收参数的形参名称必须 和表单的name属性保持一致,否则会接收失败!

3)当请求参数名与形参名不一致时,可以使用@RequestParam("")进行参数绑定

4)使用实体类对象接收

需要添加jackson组件

复制代码
<!--jackson-->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.3</version>
</dependency>

5)日期类型转换

复制代码
@DateTimeFormat(pattern="yyyy-MM-dd")//接收前端提交数据日期格式
@JsonFormat(pattern="yyyy-MM-dd")//后端向前端响应时转json时使用的日期格式

四.返回JSON

只需要方法中返回对象即可,框架可以自动将对象转为json响应

五.拦截器

在spring.xml中配置拦截器

相关推荐
2301_780789663 小时前
跨平台适配!SDK 游戏盾兼容全终端游戏场景
java·网络·ddos
第九序言T4 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
学长毕设4 小时前
基于springboot的食品仓库管理系统
java·spring boot·后端
步行cgn5 小时前
FormHttpMessageConverter 详解:Spring MVC 中表单数据的读写转换器
java·spring·mvc
龙亘川5 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
金銀銅鐵5 小时前
[Java] 用 CLI 展示 EnumMap 增删键值对时的内部变化
java·源码·ai编程
程序喵大人5 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
秋天的怀念_David5 小时前
第二十二夜 · 数字迷雾
java·程序人生·算法
Raas1006 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
niucloud-admin6 小时前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php