当前位置: 首页 > news >正文

辽阳网站建设多少钱哈尔滨如何快速建站

辽阳网站建设多少钱,哈尔滨如何快速建站,微网站的好处,用dw制作购物网站首页SpringWeb SpringWeb 概述 SpringWeb 是 spring 框架中的一个模块,基于 Servlet API 构建的 web 框架. springWeb 是 Spring 为 web 层开发提供的一整套完备的解决方案。 在 web 层框架历经 Strust1,WebWork,Strust2 等诸多产品的历代更…

SpringWeb

SpringWeb 概述

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

SpringWeb特点

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

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

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

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

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

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

SpringWeb运行流程

1.用户发送请求到前段控制器DispatcherServlet

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

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

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

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

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

SpringWeb组件

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

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

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

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

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

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

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

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

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

搭建SpringWeb

导包

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>

配置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>

开启SpringWeb注解

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

处理器搭建

@RestController 用于标记在一个类上,使用它标记的类就是一个 SpringWEB控制器类.
Spring 配置中指定了自动扫描的 basepackage 后,Spring 会扫描这些包以及 子包中的使用了@RestController 标识的类,然后将类加入到 Spring IOC 容器中,注入依赖。
@RequestMapping 注解是一个用来处理请求地址映射的注解,可用于类或方
法上。

接收请求

@RequestMapping

@RequestMapping是一个用来为处理器地址映射的注解,可用于类和方法上

作用在类上,在整个项目中不能重复,作用在方法上,整个类中不能重复

常用属性 path,value,method

path和value用来定义地址

method用来定义请求方式

@RequestMapping(vlaue="/world",method=RequestMethod.GET)

@RequestMapping(path="/world",method=RequestMethod.PUT)

获取请求数据

SpringWeb支持对多种类型的请求参数进行封装

1.使用request对象接收

@GetMapping(path = "/test")
public voidtset(HttpServletRequest request){
System.out.println(request.getParameter("num"));
}

2.spring自动封装

@RequestMapping("/save")
public void save(String userName,Integer age){
}
Spring 会自定进行数据封装,这里要注意的是,处理器接收参数的形参名称必须
和表单的 name 属性保持一致,否则会接收失败!(可以使用注解解决)

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

@RequestMapping("/save")
public voidsave(@RequestParam("userName") String name,
@RequestParam("userAge") Integer age){
}
表单的 name 和控制器的形参并不一致,但是@RequestParam 注解的 value值必须和表单的 name 保持一致。
@RequestMapping("/save")
public void save(@RequestParam(value = "userName") String name){
}
@RequestHeader("")用来接收请求中的数据.
@RequestHeader("user-agent") 可以用来接收请求头中的数据
4.使用实体类对象接收
@RequestBody可以接收前端提交的json格式封装到对象中
@RequestMapping("/save")
public void save(@RequestBody Admin admin){
}
需要添加 json 转换组件
<!--jackson-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.3</version>
</dependency>

5.日期类型转换

属性类型为Date类型需要指定转换格式

@DateTimeFormat(pattern = "yyyy-MM-dd")

private Date birthday

返回JSON

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

@RequestMapping(path = "/login",method = RequestMethod.POST)
public Result login(@RequestBody Admin admin){
Result result = new Result(200,"登录成功",admin1);
return result;
}

拦截器

Spring WEB 中的拦截器(Interceptor)类似于 Servlet 中的过滤器(Filter),
它主要用于拦截用户请求并作相应的处理。
Spring 中的拦截器与过滤器有着本质的区别,过滤器是 servlet 规范中定义并实
现的,在进入到 servlet 之前截获请求.而拦截器是 spring 中定义的一种拦截机制,
是对进入到处理器的请求进行拦截
SpringWEB 定义了拦截器接口 HandlerInterceptor
调用这个三个方法的时候,其参数的值也是从框架内部传递进来的。
boolean preHandle
预处理方法,实现处理器方法的预处理,就是在处理器方法执行之前这个方法会
被执行,相当于拦截了处理器方法,框架会传递请求和响应对象给该方法,第三
个参数为被拦截的处理器。如果 preHandle 方法返回 true 表示继续流程(如调
用下一个拦截器或处理器方法),返回 false 表示流程中断,不会继续调用其他
的拦截器或处理器方法,此时我们需要通过 response 来产生响应;

拦截器实现

添加servlet api的maven依赖

<!--servlet-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>

注册拦截器

<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/loginCtl/checklogin"/>
<bean id="demo" class="com.ffyc.ssm.util.DemoInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>

http://www.yayakq.cn/news/509052/

相关文章:

  • 网站颜色搭配表电话交换机ip地址
  • 做分享衣服网站的初衷是什么wordpress自定义评论样式
  • 有个网站做字的图片小红书账号代运营
  • 专业做pc 手机网站湖南吧
  • 成都html5网站建设学校网络组建方案
  • wordpress网站模板怎么用网站建设社区
  • 济南正宗网站建设报价男女做网站
  • ps图做ppt模板下载网站有哪些校园网络拓扑图及网络方案
  • 个人做淘宝客网站要备案腾云网站建设怎么样
  • 可以做公司宣传的网站有哪些内容有做直播网网站的公司没有
  • jsp源码做网站怎么看网站的建站公司是哪个
  • 网站建设业动态网站建设收费标准信息
  • 县城网站怎么做石家庄优化
  • 山东中讯做网站怎么样商标注册申请官网
  • 做网站可不可以模仿中国房产网
  • 手机网站 像素百度seo公司报价
  • 北京网站开发优选ls20227最新腾讯新闻
  • 户外家具技术支持东莞网站建设梅龙高速施工企业
  • 交做网站视频百度云影视网站开发工程师
  • 长沙制作网站公司哪家好国内知名网站制作公司
  • 济宁医院网站建设自适应网站建设优化建站
  • 一键注册所有网站网站建设捌金手指下拉二七
  • 做幼儿网站的目标如何给wordpress添加关键词描述
  • vue 直播网站开发上海品牌营销咨询公司
  • 哪家做网站cms是什么意思的缩写
  • 做网站接广告要交税吗wordpress背景
  • 企业网站建设不足网页设计案例收集
  • 招聘网站开发背景天猫商城入驻
  • 搭建什么平台上海何鹏seo
  • 用php做电子商务网站手工制作教程视频教程