SpringMVC2

本文详细介绍了Spring MVC中响应数据的处理,包括普通字符串响应和JSON数据响应的两种方式,并讲解了视图解析和数据封装的规范。同时,讨论了异常处理策略,如何进行全局异常捕获以及拦截器的使用,强调了RESTful风格在API设计中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

list与object要用requestbody dis当中配置

响应数据与视图:
	1.如果带有forword与redirect的必须是真实路径,不受视图解析器的影响 
	2.物理视图与逻辑视图默认采用请求转发的方式跳转
响应数据:
	响应字符串:
		普通方法 response携带
		@ResponseBody标记


	响应json数据:
	方式一:
	@responsebody 与@requestmapping进行组合使用
	@responsebody将对象转化为json格式  打开注解驱动  导入jacksonbind
	方式二:
	直接转换为json格式然后返回

	

表现层数据封装:
	返回的数据格式进行封装:
			增删改:true
			查询:一个json  一个json集合
	对格式进行统一:
			创建一个Javabean 对结果进行封装
			
	对一个common进行提取:
			方法的执行状态进行展示
	代号表示状态:
	进行数据的封装  
		controller的返回值按照R的类型进行返回
	lombok 有参构造设置满
			如果想要弹性的话需要自己设置有参构造 设置对应的参数
			创建者模式建造者模式  lombok提供@Builder  会多一个builder对象 examplebuilder


异常处理:
	可预计但是无法避免的异常  文件找不到指定路径
	系统异常  发送固定消息 安抚用户  发送给指定运维人员进行维护
	业务异常 不规范的用户行为产生的异常

如果有多层级的调用连应该不断向上抛出 由上层刚处理
共性异常当中,不需要在controller当中捕捉
	共同的异常  springmvc异常全局处理类  向上抛出   确保所有异常被处理
	@controllerAdvice 进行controller的增强底层其实是用了aop
	@ResponseBody返回一个json字符串给前端
	
	自定义异常  全局异常处理器  得到参数  e.getmessage

拦截器:
	总在所有的之前  springmvc在dis与controller之间 叫做拦截器 其实作用于过滤器相似
	但是时间比过滤器要晚  拦截器的范围要小
	拦截器有点像环绕增强  前置与后置在controller
	interceptor 可以阻止controller的运行
	Filter属于serverlet的一部分  intercepter 仅对dis的请求
	实现拦截器接口  注册拦截器  返回值进行放行
	
	拦截器的执行顺序:
		如果当中有一环被拦截  就会直接跳到最后
		拦截器链 顺序按照xml文件当中声明的顺序进行执行
		拦截器按照链式执行如果在2号被拦截了 他会执行121拦截
		afterhandle只有一种执行的情况当controller执行的时候他才能执行
		当一个通路的时候
		
	

RestFul风格:
		认为在请求当中不应该出现动词 应该是纯粹的名词加上映射方式进行组合
		设计风格 请求结果返回的一个封装范式
		地址栏上是接口的请求地址
		隐藏资源的访问行为  无法通过地址得知资源是何种操作
		书写简化  get  查询操作 post 添加操作  put 修改操作 delete 删除操作
		增删改查在restful风格下的请求格式 描述模块操作的时候使用users等复述
		但是restful风格并不全部适用,因为不能完全适配每一种情况
		postman模拟发送请求 body当中传参  params传get参数  body当中  
		put请求不能传表单的参数formContentFilter  获取到put请求的表单数据		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值