springWEB搭建

2023-11-18

概述

SpringWEB就是spring框架里得一个模块*
SpringWeb的前身是SpringMVC
springMVC介绍
在之前的后端三大架构:
Controller:

控制层, 包含了servlet, 对数据的接收, 处理, 响应

Model:

数据模型, dao, model

VIew:

视图, jsp, 用于将数据添加到html中进行响应

工作流程: 主要是控制层接收到响应之后, 调取dao层将数据响应回来, 然后进行处理, 处理之后交给jsp, jsp随后将数据交给前端来进行显示, 现在我们省略了数据直接与前端进行交互, 省去了与jsp的交互

在之前的的请求都是直接找到servlet-->service-->doGet/doPost
后端定义一个servlet的映射地址, 处理麻烦, 还要通过mark参数来对参数进行区分


web层六字方针: 接收, 处理, 响应

一、搭建SpringWeb

  1. 首先导jar包
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
  1. 在 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:application.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>
  1. 开启spring-mvc的注解
<mvc:annotation-driven></mvc:annotation-driven>

开注解
在这里插入图片描述

导入spring的配置文件
在这里插入图片描述

  1. 创建我们自己的处理器, 为类,方法定义地址

在这里插入图片描述

  1. 将ssm项目发布到tomcat中访问

二、SpringMVC组件

●DispatcherServlet,他是mvc里的总调度服务器(又叫请求分发控制器), 他底层是一个servlet,他就是SringMVC中的前端控制器
●HandlerMapping: 他是SpringMvc里的映射控制器, DispatcherServlet他只是接收请求, 不知道交给哪个页面控制器来处理, 在选择指定的页面控制器,就交给了拦截器,随后就交给HandleMapping来做
●HandlerAdapter:在经过HandlerMapping处理之后, DispatcherServlet就获取到了处理器,但是处理器有多种, 为了方便调用, HandlerAdapter就将处理器包装成处理器适配器, HandlerAdapte调用真正的处理器功能处理方法, 完成功能处理, 返回一个ModelAndView对象(包含模型数据,逻辑视图名)

三、自定义的处理器

  1. 注解

@RestController 类似@Service 这些注解标签 表示此类是控制层类,并且会创建对象放进spring
容容器里
@RequestMapping(path = “/loginCtl”) 用来为类和方法定义映射地址, 必须是整个项目里唯一的

可以使用value=""或者path=""都可以使用来定义对外访问地址

@RequestMapping(path = “/loginCtl”) 在方法上使用时, 还可以添加访问的类型

@RequestMapping(path = "/loginCtl", method=ResquestMethod.POST)
//这样一来就只能是post请求方式来访问了 , 如果没有设置请求方式就都可以访问

对于为方法添加还有@GetMapping与@PostMapping两种

@GetMapping(path=“映射地址”), 另一个同理

  1. 如何获取请求里的数据
    <1>可以使用request对象俩接收,
    req.getParameter(“参数名”)
    这里接收统统是String类型
    在这里插入图片描述
    注意在引入req,resp对象之前要导入jar包

还要设置provided, 只在编译器时用到, 不打包
在这里插入图片描述
<2>可以直接在参数列表中定义形参接收
此种方法可以帮我们直接左类型的转换
在这里插入图片描述还可以使用@RequestParam(请求参数名来接收), 后面跟方法参数进行绑定

<3>直接使用对象来接收
当要保存,提交表单数量比较多, 可以将所有参数封装到一个对象里面, 通过请求来被对应的方法里的对象参数接收,封装成对象
参数名要和对象里的一样

对象类(封装参数)
在这里插入图片描述
请求:
在这里插入图片描述

要注意类型转化的问题: 如 Date类型
后端要在参数上进行转换
@DateTimeFormat(pattern = “yyyy-MM-dd”)

如果不进行转换就会报400错误:
在这里插入图片描述

四、POST请求的中文乱码问题

以前在处理post请求中文乱码问题, 是用java里封装的类Filter来解决
现在spring框架里可以提供一个编码过滤器

在这里插入图片描述

五 、控制器返回结构

  1. @ResController标签
  2. 由于控制器使用了@ResController标签, 里面包含了@ResponseBody 的注解标签, 所以方法返回结果默认是json格式, 并将字符串写入到响应体中,
    在这里插入图片描述
  3. 返回对象时

返回一个对象时, 必须加入转化json的第三方组件
在这里插入图片描述
在maven里加入对应的组件jar包
在这里插入图片描述

六 、解决前后端的跨域问题

  1. 加入依赖
    在这里插入图片描述
  2. 在web.xml配置过滤器
    在这里插入图片描述

七、拦截器

过滤器与拦截器功能类似, 但是有区别
过滤器是java Servlet里定义的, 他是请求进去servlet之前进行, 可以对请求进行拦截, 再做一些逻辑的处理
而拦截器是拦截进入到自己的控制器中的请求, 其余不拦截

请添加图片描述

拦截器就是在第4 步到第5步的时候进行拦截, 拦截准备进入到自己定义的控制器的请求

搭建拦截器:

  1. 首先创建一个类, 实现HandlerInterceptor接口

  2. 重写接口里的preHandler()
    在这里插入图片描述

  3. 配置拦截器
    在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springWEB搭建 的相关文章

随机推荐

  • 游戏笔记本电脑可以进行 3D 建模和渲染吗?有哪些优势与缺点?

    3D 建模和渲染是创建令人惊叹的数字艺术 动画和游戏体验的最流行和最广泛使用的工具之一 随着技术的进步 对运行这些模型的强大计算机的需求呈指数级增长 对于那些寻求强大机器来处理 3D 建模任务的人来说 游戏笔记本电脑已成为一个可行的选择 游
  • R语言系列教程-----一起来学shiny吧(1)

    什么是shiny Shiny是一个R包 可让您轻松地直接从 R 构建交互式 Web 应用程序 应用程序 本系列是个长教程 带你由浅入深学习shiny 我们先使用系统自带的一个例子来介绍一下shiny 我们先导入shiny包 library
  • 华为OD机试 - 矩形相交的面积(Java)

    题目描述 给出3组点坐标 x y w h 1000
  • MD5 JavaCript调用法

    JS代码 code
  • 2、Java入门教程【IDEA】

    1 下载 IDEA社区版 下载地址 IDEA管理JAVA程序的结构 project 项目 工程 module 模块 package 包 class 类 2 创建工程 创建 project 点击 create 后 项目结构如下 创建 pack
  • 计蒜客T1113——整理药名

    先看题干 这道题并不难 如果你对编程语言的基础有很好的掌握 很容易理清整个逻辑 实际上 不涉及到算法的题目都是简单题 笔者带领大家理一下这道题的考察点 1 输入多个不定长字符串 2 将字符串的首字母一律变为大写 分本来就是大写和本来是小写两
  • 【GAN】基础原理讲解及代码实践

    首先什么是 的模型结构 设计 模型的关键 GAN的算法原理 这里输入噪声的随机性就可以带来生成图像的多样性 GAN公式讲解 D 表示判别器对真实图片的判别 取对数函数后我们希望其值趋于 也就是D 趋于 也就是放大损失
  • 【踩坑专栏】idea中的target缺失

    target文件夹缺失 但是在文件中能找到 这个是idea禁止了 我想起来之前我是因为在提交代码时有一些文件显示在commit里 所以禁止了一些文件 应该是那时候把target误禁了 解决办法 1 Ctrl Alt S 找到target 删
  • OpenCV之摄像头捕捉图像

    代码 数据类型 运行效果 代码 之前我找过directshow CameraDS VedioCaptureFromCam之类的东西 发现都不可以用 directshow是因为版本太老了 会出现 http www opencv org cn
  • Ajax简介和实例

    目录 什么是 AJAX AJAX实例 ajax get无参 ajax get有参 对象和查询字符串的互转 ajax post ajax post 表单 AJAX 是一种在无需重新加载整个网页的情况下 能够更新部分网页的技术 什么是 AJAX
  • 基于OpenHarmony开发的健康生活应用(ArkTS)

    健康生活应用 ArkTS 介绍 本篇Codelab介绍了如何实现一个简单的健康生活应用 主要功能包括 用户可以创建最多6个健康生活任务 早起 喝水 吃苹果 每日微笑 刷牙 早睡 并设置任务目标 是否开启提醒 提醒时间 每周任务频率 用户可以
  • ChatGPT报错:Sorry, you have been blocked解决方法

    今天打开ChatGPT 发现再一次报错了 又一次出问题了 无语 原因分析 1 内容过滤 某些平台或网站可能使用内容过滤系统 该系统可能将AlI语言模型视为潜在的风险 从而对其进行封锁或限制 这是为了防止不当内容的传播或滥用 2 隐私和安全考
  • 转载:NVIDIA GPU结构

    http blog itpub net 23057064 viewspace 629236 目前市场上的NVIDIA显卡都是基于Tesla架构的 分为G80 G92 GT200三个系列 Tesla体系架构是一块具有可扩展处器数量的处理器阵列
  • Node.js知识点大全 最全笔记 知识点合集

    第一章 绪论 第一讲 命令行窗口 命令行窗口也叫 小黑屏 cmd窗口 终端 shell win r cmd 回车 常用指令 dir 列出当前目录下的所有文件 cd 目录名 进入文件夹 md 目录名 创建一个文件夹 rd 目录名 删除一个文件
  • The Cherno——OpenGL

    The Cherno OpenGL 1 欢迎来到OpenGL OpenGL是一种跨平台的图形接口 API 就是一大堆我们能够调用的函数去做一些与图像相关的事情 特殊的是 OpenGL允许我们访问GPU Graphics Processing
  • html位置发生变化监听,用JS实现监听URL地址变化的教程

    最近一直在写单页模版 需要使用 js 来监听浏览器地址栏中 url 地址的变化 并做出相应的改变 而这篇文章就来说一说 使用用 JS 代码来监听浏览器地址栏URL地址的变化的方法 js onhashchange 事件 当前的url地址发生改
  • 微软中文站点资源列表 & 程序员网站资源宝库

    WEB开发 http www microsoft com china msdn Archives catalog web MSDN 微软开发技巧系列网络讲座 http www microsoft com china msdn events
  • 反汇编-objdump

    windows下完成objdump需要用到 反汇编的目标镜像 镜像生成的本地编译器 exe 相关指令如下 反汇编命令 编译器路径 例 D ACOINFO RealEvo compiler x86 64 sylixos toolchain b
  • 北大教授上课讲解,Python零基础入门总结

    一 输入输出 输出 print 100 200 100 200 print The quick brown fox jumps over the lazy dog The quick brown fox jumps over the laz
  • springWEB搭建

    概述 SpringWEB就是spring框架里得一个模块 SpringWeb的前身是SpringMVC springMVC介绍 在之前的后端三大架构 Controller 控制层 包含了servlet 对数据的接收 处理 响应 Model