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

做注册会员和购物的网站需要什么免费微信h5页面制作

做注册会员和购物的网站需要什么,免费微信h5页面制作,wordpress登陆可见,建网站如何备案先看歧义现象 值为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/152678/

相关文章:

  • 花垣做网站郑州网站建设兄长好
  • 网站建设内链网站设计创意方案
  • 专门代做毕设的网站wordpress 局域网 显示不全
  • 微信端网站开发流程图电子商务公司注册资金
  • 网站服务器数据迁移北京百度推广优化
  • 深圳哪家建设网站公司好室内设计公司取名字大全集
  • 石家庄 网站建设 15369356722谁有马和人做的网站
  • 只做动漫的网站免费手机网站制作
  • 网站宝二级域名怎么设置wordpress缩进去的边栏
  • 潍坊网站建设小程序网站建设平台协议书
  • 网站源码 后台seo点击工具
  • 石龙镇做网站广告推广一个月多少钱
  • .net 网站管理系统wordpress文章微信分享
  • 建设信用卡在线海淘网站返现设计类专业哪个专科学校好
  • 手机网站建设哪家专业品牌网站建设公司哪家好
  • 做网站需要什么书网页设计项目描述怎么写
  • 上传到ftp网站模板wordpress问卷填报主题
  • 东莞长安网站电子商务在酒店管理网站建设
  • 网站优化的推广wordpress手机端发布
  • 企业营销型网站团队南通网站建设外包
  • wordpress仿站上传到如何优化网站
  • 微信网站合同施工企业资质证书有效期
  • 如何在linux服务器上架设网站浏览器无法访问网页怎么办
  • 建网站免费域名宿州学校网站建设
  • 哪个网站教做公众号嘉兴优化网站公司
  • 网站维护大概要多久中卫网站推广公司
  • 商丘做网站推广手机怎么制作h5作品
  • 福建网站开发公司电话施工企业市场调查目的与主题主要有()。
  • seo怎么优化网站小说推广合作平台入口
  • wordpress当下载站沈阳 建设工程 招标中心网站