-
web 实战-20-springboot 中 inputStream 神秘消失之谜
序言
最近小明接手了前同事的代码,意料之外、情理之中的遇到了坑。
为了避免掉入同一个坑两次,小明决定把这个坑记下来,并在坑前立一个大牌子,避免其他小伙伴掉进去。
HTTPClient 模拟调用
为了把这个问题说明,我们首先从最简单的 http 调用说起。
设置 body
服务端
服务端的代码如下:
@Controller
@RequestMapping("/")
publ...
2020-08-28 02:37:20 |
web
-
web 实战-19-http 请求的正确姿势
序言
最近再写 http 请求相关的东西,为了方便就直接通过 java HttpClient 调用另外一个系统。
结果调试了一晚上才通过,血的教训,这里记录一下。
服务端
import com.alibaba.fastjson.JSON;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
imp...
2020-08-28 02:37:20 |
web
-
web 实战-18-验证码 CAPTCHA
九章到来的今天
最近看到国内的量子计算机“九章”的消息,内心不由得感慨万千。
以前看似不可能解决的问题,在恐怖的算力之下,都逐渐变成了可解的问题。
其实计算机算力的提升,带来的确认对于安全问题的忧虑。
今天我们来一起看一下最常见的安全措施——验证码。
试想一下,如果完全没有验证码等限制,计算机完全可以穷举破解出用户的密码。
如果没有验证码的限制,恶意用户注册,可以让我们一天发送几...
2020-08-28 02:37:20 |
web
-
web 实战-18-开源验证码项目 CAPTCHA
tianai-captcha
tianai-captcha 可能是java界最好的开源行为验证码 [滑块验证码、点选验证码、行为验证码、旋转验证码, 滑动验证码]
简单介绍
tianai-captcha 目前支持的行为验证码类型
滑块验证码
旋转验证码
滑动还原验证码
文字点选验证码
后面会陆续支持市面上更多好...
2020-08-28 02:37:20 |
web
-
web 实战-17-springboot dateformat 日期页面显示为数字或者 jackson 格式化无效
背景
数据库中字段为时间类型,页面显示全部变成了 Long 类型。
如果一个个处理会非常的麻烦。
解决方案
返回参数
1,每个实体属性添加 @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") 注解
2,可以在配置文件中全局指定
spring.jackson.date-format=yyyy-MM-dd HH:m...
2020-08-28 02:37:20 |
web
-
web 实战-16-静态页面如何 include 其他页面
背景
在asp、asp.net页面中引用外部页面很简单,使用以下语句就可以:<!– include file =”要引用的页面” ->
但是在 html 静态页面中引用外部页面则没那么方便,主要方法有:
iframe
使用框架来实现,但是那样占用线程较多,速度慢;
<IFRAME NAME="neepage" width=100% height=30 mar...
2020-08-28 02:37:20 |
web
-
web 实战-15-js 和 java 前端后端如何实现 md5 加密
背景
希望前端的密码,通过 md5 之后传递到后端。
避免消息被截取等。
后端 java
// 生成一个MD5加密计算摘要
MessageDigest md = MessageDigest.getInstance("MD5");
// 计算md5函数
md.update("admin".getBytes());
// digest()最后确定返回md5 hash值,返回值为8位字符串...
2020-08-28 02:37:20 |
web
-
web 实战-14-常用开源项目
序言
Web 开发中几乎的平台都需要一个后台管理,但是从零开发一套后台控制面板并不容易,幸运的是有很多开源免费的后台控制面板可以给开发者使用,那么有哪些优秀的开源免费的控制面板呢?我在 GitHub 上收集了一些优秀的后台控制面板,并总结得出 Top 10。
1. AdminLTE
GitHub Star 数 24969 , GitHub 地址:
https://github.com...
2020-08-28 02:37:20 |
web