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

网站建设管理与维护功能意义wordpress缩略图质量

网站建设管理与维护功能意义,wordpress缩略图质量,怎样自己做一个网站,一套网页ui设计多少钱先看歧义现象 值为null 未传递此属性 所以此时如何区分null 时传递进来的的null,还是属性的默认值null? 引入方案 引入过滤器,中间截获requestBodyData并保存到HttpServletRequest,业务层从HttpServletRequest 获取到requestBodyData辅…

先看歧义现象

值为null
在这里插入图片描述

在这里插入图片描述
未传递此属性
在这里插入图片描述
在这里插入图片描述
所以此时如何区分null 时传递进来的的null,还是属性的默认值null?

引入方案

引入过滤器,中间截获requestBodyData并保存到HttpServletRequest,业务层从HttpServletRequest 获取到requestBodyData辅助判断此属性为未传递还是值为null

第1步:定义并注册过滤器

自定义过滤器截获requestBodyData并保存到HttpServletRequest

import com.practisesvr.utils.http.FilterHttpServletRequest;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Component;
import org.springframework.web.filter.GenericFilterBean;import java.io.IOException;@Component
public class RequestCheckFilter extends GenericFilterBean {@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {System.err.println("***RequestHeaderCheckFilter.doFilter.start***");if (!(request instanceof HttpServletRequest)) {throw new IllegalStateException("Expected HttpServletRequest");}HttpServletRequest httpRequest = (HttpServletRequest) request;FilterHttpServletRequest filterHttpRequest = new FilterHttpServletRequest(httpRequest);String body = filterHttpRequest.getBody();filterHttpRequest.setAttribute("requestBodyData", body);// 继续执行filter链chain.doFilter(filterHttpRequest, response);System.err.println("***RequestHeaderCheckFilter.doFilter.end***");}
}

[Ref: 过滤器使用到 HttpServletRequestWrapper 参考如下 ] What is HttpServletRequestWrapper does?

注册过滤器

@Configuration
public class AppConfig {@Beanpublic FilterRegistrationBean<RequestCheckFilter> requestCheckFilterRegistration() {FilterRegistrationBean<RequestCheckFilter> registration = new FilterRegistrationBean<>();registration.setFilter(new RequestCheckFilter());// 可以设置过滤器名称registration.setName("requestCheckFilter");// 设置拦截规则registration.addUrlPatterns("/*"); // 拦截所有请求// 设置过滤器执行顺序,默认为0,数值越小优先级越高registration.setOrder(2);return registration;}
}

第2步:从HttpServletRequest 获取到requestBodyData

public class RequestIUtils {/*** 从当前请求上下文中获取并解析请求体数据,将其转换为Map类型对象.** @return 如果成功获取到请求体数据并转换成功,则返回一个包含请求体内容的Map对象;* 若RequestAttributes不存在或请求体数据为空,则返回一个新的空HashMap对象。*/public static Map<String, Object> getRequestBodyBody() {RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();if (requestAttributes == null) {return new HashMap<>();}HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest();Object requestBody = request.getAttribute("requestBodyData");if (requestBody == null) {return new HashMap<>();}return JsonUtils.jsonToT(requestBody.toString(), Map.class);}
}    

第3步:业务层使用requestBodyData辅助判断

@Override
public Student update(Student student) {Map<String, Object> requestBody = RequestIUtils.getRequestBodyBody();Student stu = new Student();stu.setId(student.getId());stu.setUsername(student.getUsername());stu.setPassword(student.getPassword());stu.setAge(student.getAge());stu.setHeight(student.getHeight());stu.setGender(student.getGender());// 使用方式if (requestBody.containsKey("classId")){stu.setClassId(student.getClassId());}stu.setIsDelete(student.getIsDelete());this.studentsMapper.update(student);return this.queryById(student.getId());
}

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

相关文章:

  • 公司制作一个网站价格住房城乡建设部网站
  • 登封网站关键词优化软件免费送的广告怎么在网站上做
  • lol做视频那个网站好网站租用价格
  • 大连网站开发公司电话网站tdk优化文档
  • 网站建设相关nodejs做网站
  • 西安网站建设 北郊江西网站开发多少钱
  • 如何维护企业电子商务网站建设如何做一张图片的网站
  • 让百度收录整个网站文章一键导入wordpress
  • 做网站费网站建设人员管理制度
  • 怎么给网站做百度坐标定位高密市住房和城乡建设局网站
  • 用ps做网站画布一般建多大苏州建设交易中心网站
  • 亅新厦建设集团网站wordpress英文美食主题
  • 深圳建设商城网站做网站过时了
  • 成都网站制作需要多少钱备案期间需要关闭网站
  • 个人网站的首页做妇产科网站
  • 用jsp做的网站首页wordpress 音乐站
  • 网站编辑如何做凡科做的网站打不开
  • app开发与网站建设难度如何在微信公众平台上建立微网站
  • 免费外链网站热门网站
  • 山东省建设工程 评估中心网站网页背景做的比较好的网站
  • 手机网站搭建平台科技手札
  • 网站横幅背景图全网关键词优化公司哪家好
  • 网站建设税率多少青岛网站快速备案
  • 免费jsp源码分享网站简单网页代码html
  • 最专业的做网站公司wordpress comment_form();
  • 淘宝联盟怎么自己做网站ui设计师面试问题
  • 门户网站开发jz190ppt模板免费下载完整版免费简约
  • 刷粉网站推广马上刷兼职做任务的网站
  • 网站 建设理由网页游戏排行选择
  • 自己做网站上传相册山东省建设工程协会网站