您的位置:首页 > 娱乐 > 八卦 > 浙江温州乐清新闻_注册公司费用最低多少_百度商店应用市场_南宁seo排名首页

浙江温州乐清新闻_注册公司费用最低多少_百度商店应用市场_南宁seo排名首页

2024/10/7 2:18:19 来源:https://blog.csdn.net/2302_78078800/article/details/142314563  浏览:    关键词:浙江温州乐清新闻_注册公司费用最低多少_百度商店应用市场_南宁seo排名首页
浙江温州乐清新闻_注册公司费用最低多少_百度商店应用市场_南宁seo排名首页

目录

一.springweb概述

二.springweb的特点

三.springweb的运行流程

 四.springweb组件

五.springweb的搭建

1.导包

 2.配置 DispatcherServlet

 3.开启 springweb 注解

 4.处理器的搭建

六.springweb注解

 七.springweb拦截器

1.拦截器概述

 2.拦截器的实现

(1)添加 servelt api 依赖

 (2)拦截器的使用

 (3)注册拦截器

总结


一.springweb概述

     SpringWeb 是 spring 框架中的一个模块,基于 Servlet API 构建的 web 框架。springWeb 是 Spring 为 web 层开发提供的一整套完备的解决方案。在 web 层框架历经 Strust1,WebWork,Strust2 等诸多产品的历代更选之后,目前业界普遍选择了 springWeb 作为 Java EE 项目 web 层开发的首选方案。

早期的 ssmspring + struts2(对web层进行的封装) + mybatis 

现在的 ssmspring + springweb + mybatis

二.springweb的特点

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

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

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

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

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

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

三.springweb的运行流程

用户发送出请求到前端控制器 DispatcherServlet。

1.DispatcherServlet 收到请求调用 HandlerMapping(处理器映射器)。

2.HandlerMapping 找到具体的处理器(可查找 xml 配置或注解配置),生成处理器对象及处理器拦截器(如果有),再一起返回给 DispatcherServlet。

3.DispatcherServlet 调用 HandlerAdapter(处理器适配器)。

4.HandlerAdapter 经过适配调用具体的处理器(Handler/Controller)。

5.Controller 执行完成向前端响应结果。

 四.springweb组件

1.前端控制器DispatcherServlet(不需要程序员开发),由框架提供,在web.xml 中配置。

作用:统一处理请求和响应,整个流程控制的中心,由它调用其它组件处理用户的请求.

2.处理器映射器HandlerMapping(不需要程序员开发),由框架提供。

作用:根据请求的 url 查找 Handler(处理器/Controller)

3.处理器适配器:HandlerAdapter(不需要程序员开发),由框架提供。

作用:按照特定规则(HandlerAdapter 要求的规则)去执行 Handler。

4.处理器:Handler(也称之为 Controller,需要工程师开发)。

注意:编写 Handler 时按照 HandlerAdapter 的要求去做,这样适配器才可以去正确执行 Handler。

作用:接受用户请求信息,调用业务方法处理请求,也称之为后端控制器。

五.springweb的搭建

1.导包

首先需要通过 maven pom.xml 文件中导入springweb所需要使用的 .jar 包。

<!--springWeb-->
<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 中开启 springweb 注解

<mvc:annotation-driven></mvc:annotation-driven>

 4.处理器的搭建

对于web层的类,我们程序员一般都会以--Controller 来命名,这也就是我们自定义的处理器。

eg:

 对于自定义处理器的对象的创建,我们当然还是要将 new 对象的权力交给spring去管理。

所以就需要在类名前面加上: @RestController ,和@Service @Component @Repository用法是一样的。

六.springweb注解

获得请求数据使用的注解:

在springweb中给每个类每个方法都定义了地址,这样就可以精准地找到对应的地址了。当然,每个类对应的地址都是不一样的,并且一个类中的多个方法的地址也是不能相同的,保证精确性。

@RequestMapping( path =" /地址 " ,method = RequestMethod.POST/GET)  使用在类名和方法名前,因为请求的方式有 get 和 post 请求,该注解中还有 method 属性用来区分请求方式。

@GetMapping( path = " /地址 " )  此注解专门用于 GET 请求,用在方法前。

@PostMapping( path =" /地址 " )  此注解专门用于 POST 请求,用在方法前。

在方法中,通常需要接收前端发送到后端的数据,(前后端接收的参数的名字必须一致),如果前后端的参数名字不一致的话,就需要使用 @RequestParam(" 前端参数名 ") ,此注解使用在方法的参数前,如果是要拿到请求头中的数据的话还需要用到 @RequestHeader 。

 当前端通过 json 的形式发送到后端,后端用对象来接收 需要在对象前使用 @RequestBody 注解(接收到数据的前提是导入了 json 的.jar包)

返回 json: 

如果在前端输入的 json 格式的字符串中有日期属性,就需要在模型类中对日期属性的接收格式做出规定,使用 @DataTimeFormat( pattern = " " ),还有一个注解:@JsonFormat( pattern = " " )此注解用于后端向前端做出相应时规定日期的格式,eg:

 七.springweb拦截器

1.拦截器概述

springweb拦截器类似于在servlet中的过滤器 Filter,它主要用于拦截用户请求并做出相关处理。

区别

Spring 中的拦截器与过滤器有着本质的区别,过滤器是 servlet 规范中定义并实现的,在进入servlet 之前截获请求.而拦截器是 spring 中定义的一种拦截机制,是对进入到处理器的请求进行拦截.

 

 2.拦截器的实现

(1)添加 servelt api 依赖

<!--servlet-->

<dependency>

        <groupId>javax.servlet</groupId>

        <artifactId>javax.servlet-api</artifactId>

        <version>4.0.1</version>

        <scope>provided</scope>

</dependency>

 (2)拦截器的使用

 对于拦截器的使用,我们需要定义一个类去实现  HandlerInterceptor 接口,重写接口中 preHandle 方法,此方法返回值是spring规定好的,为 true/false ,所以我们想要向前端做出相应时,就只能使用 response,eg:

 (3)注册拦截器

想要拦截器生效,还需要在 spring.xml 中去注册拦截器:


总结

     同学们,springweb的内容就到此告一段落,本篇博客讲述了spring中对于web层的封装--springweb框架,详细指出springweb的运行流程,其中使用的组件,springweb的搭建以及对springweb中参数接收拦截器的学习内容和小细节,我们认真学习springweb之后,我们就可以将spring框架--springweb--mybatis融汇贯通,串联。

制作不易,希望可以多多三连支持博主,博主会继续努力的!!!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com