您的位置:首页 > 房产 > 家装 > 北京企业聚集_微信app下载安装官方版平板_搜索网页内容_杭州网站seo外包

北京企业聚集_微信app下载安装官方版平板_搜索网页内容_杭州网站seo外包

2024/12/23 7:46:38 来源:https://blog.csdn.net/supercool7/article/details/143321451  浏览:    关键词:北京企业聚集_微信app下载安装官方版平板_搜索网页内容_杭州网站seo外包
北京企业聚集_微信app下载安装官方版平板_搜索网页内容_杭州网站seo外包

目录

一、控制器Controller

二、RESTful风格

2.1 实际应用

 三、结果跳转方式

3.1 ModelAndView

3.2 SpringMVC

3.2.1 无需视图解析器

3.2.2 需要视图解析器 

3.3 ServletAPI

四、数据处理

4.1 处理提交数据

4.1.1 提交的域名称和处理方法的参数名一致

4.1.2 提交的域名称和处理方法的参数名不一致

4.1.3 提交的是一个对象

4.2 数据显示到前端

五、乱码问题


一、控制器Controller

控制器提供访问应用程序的行为,负责解析用户的请求并将其转换成一个模型,通常通过接口定义或者注解定义两种方法实现 

实现接口是较老的方法。缺点是一个控制器中只能有一种方法,如果要多个方法则需定义多个Controller 

 注解方式是平时使用最多的方式。

二、RESTful风格

不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

传统方式操作资源:通过不同的参数来实现不同的效果。方法单一,post和get

http://127.0.0.1/item/queryItem.action?id=1 查询,GET

http://127.0.0.1/item/saveItem.action 新增,POST

http://127.0.0.1/item/updateItem.action 更新,POST

http://127.0.0.1/item/deleteItem.action?id=1 删除,GET或POST

使用RESTful操作资源:可以通过不同的请求方式来实现不同的效果!请求地址一样,但是功能可以不同!

http://127.0.0.1/item/1 查询,GET

http://127.0.0.1/item 新增,POST

http://127.0.0.1/item 更新,PUT

http://127.0.0.1/item/1 删除,DELETE

2.1 实际应用

在SpringMVC中可以使用@PathVariable注解,让方法参数绑定到一个URI模版变量上

使用路径变量的好处:

  • 使路径变得更加简洁
  • 获得参数更加方便,框架会自动进行类型转换
  • 通过路径变量的类型可以约束访问参数,如果类型不一样,则访问不到对应的请求方法(报错405,路径与方法不匹配)

更改请求类型 

若不进行请求方式的更改,所有地址栏的请求默认都会是HTTP GET类型的 

1、使用method属性指定请求类型

2、使用组合注解 

@GetMapping  @PostMapping  @PutMapping  @DeleteMapping  @PatchMapping

 例:@DeleteMapping 扮演的是 @ResquestMapping(method = RequestMethod.Delete)

 三、结果跳转方式

3.1 ModelAndView

设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面

3.2 SpringMVC

3.2.1 无需视图解析器

测试前,将视图解析器注释掉

3.2.2 需要视图解析器 

重定向,本质就是重新请求一个新地方,所以不需要视图解析器

3.3 ServletAPI

1、通过HttpServletResponse进行输出

2、通过HttpServletResponse实现重定向

3、通过HttpServletRequest实现转发

 

四、数据处理

4.1 处理提交数据

4.1.1 提交的域名称和处理方法的参数名一致

4.1.2 提交的域名称和处理方法的参数名不一致

4.1.3 提交的是一个对象

若不一致也不会报错,不一致显示为null/0

4.2 数据显示到前端

 1、通过ModelAndView

 2、通过Model(继承了LinkedMap)

 3、通过ModelMap

五、乱码问题

SpringMVC给我们提供了一个过滤器,可以在web.xml中配置

    <filter><filter-name>encoding</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class></filter><filter-mapping><filter-name>encoding</filter-name><url-pattern>/*</url-pattern></filter-mapping>

 

版权声明:

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

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