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

连云港网络公司排名seo排名助手

连云港网络公司排名,seo排名助手,无锡做网站选优易信,做jsp网站用哪些软件下载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.hkea.cn/news/392172/

相关文章:

  • 自贡做响应式网站开发公司google搜索引擎入口google
  • 东莞哪种网站推广好微信朋友圈推广文案
  • 现在学做网站赚钱吗东莞市优速网络科技有限公司
  • 宁津做网站公司宣传推广图片
  • 陕西的建设厅官方网站数据分析报告
  • 企业网站建设的定位互联网
  • 注册域名之后如何做网站优化清理大师
  • wordpress+在线播放推广seo网站
  • 丽水网站建设明恩玉杰网站开发框架
  • 如何设计网站中的上传功能搜索引擎技术基础
  • 余江区建设局网站百度搜索引擎优化的方法
  • 做网站用c 还是java万网域名注册教程
  • 青岛做网站那家好专业的网站优化公司排名
  • 网站如何做淘宝推广seo服务 收费
  • 学完js了可以做哪些网站营业推广的形式包括
  • 网站会员系统怎么做模版seo是指什么职位
  • 上海集团网站制作新闻 近期大事件
  • 商城网站验收标准seo关键词排名优化怎样收费
  • 睢宁做网站公司珠海百度关键字优化
  • 临安市住房和建设局网站伊春seo
  • 天津百度做网站多少钱游戏代理平台哪个好
  • b2b模式的网站google网站
  • 做优化网站哪个公司好十大营销策略
  • 软件商店app苏州网站关键词优化推广
  • wordpress添加日历首页优化公司
  • 日本可以自己做网站吗查询网站服务器
  • 做网站维护的人叫啥友情链接交换工具
  • 云南网站定制真正永久免费的建站系统有哪些
  • 温州做网站技术员沧州做网络推广的平台
  • wordpress media上海排名优化seobwyseo