正常情况下jsoup不能抓取ajax请求后动态页面,只能获取静态的页面。那如果一定要抓取动态数据展示后的网页内容
怎么处理呢,这个时候,我们可以用最直接的方式,就是直接将网页内容下载到本地,然后再用jsoup抓取本地网页内容即可。
CREATE TABLE `food_new` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`code` varchar(255) DEFAULT NULL COMMENT '物料编码',
`name` varchar(255) NOT NULL COMMENT '物料名称',
`type` varchar(255) DEFAULT NULL COMMENT '规格型号',
`unit` varchar(255) DEFAULT NULL COMMENT '单位',
`price` double(10,2) DEFAULT NULL COMMENT '单价',
`category` varchar(255) DEFAULT NULL COMMENT '所属类别',
`sort` varchar(4) DEFAULT NULL COMMENT '排序',
`create_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `name` (`name`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=819 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; 假设,我们现在需要将数据库中的`name`和`category`字段分别映射为`key`和`value`。本案例是以非web项目来演示。
实际开发过程中,我们可能会有面向FTP的业务需求,这个时候,我们就会考虑如何与FTP服务器建立连接,如何
读取FTP服务器上文件内容,如何上传文件至FTP服务器等。apache为我们提供了一套解决方案。我们可以使用
commons-net包下提供的相关内容实现业务需求。maven导包如下:
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.1</version>
</dependency>
在实际开发中,有一些业务需求需要考虑高并发访问的情况,为了提高访问速度,就要求我们提高我们的请求服务性能。相关知识,学习自网上。
我们注意从以下三个方面学习异步处理请求服务:
1.使用Runnable
异步处理请求服务
2.使用DeferredResult
异步处理请求服务
3.异步处理的相关配置
@JsonView
的使用场景在某一些请求返回的JSON
中,我们并不希望返回某些字段。而在另一些请求中需要返回某些字段。
例如有如下用户对象:
public class User implements Serializable {
private Integer id;
private String username;
private String password;
}
在查询列表请求中,不返回password
字段。在获取用户详情中,返回password
字段。这时候我们就可以使用
@JsonView
注解了。
在开发过程中,我们有的时候可能需要创建多module
项目,为了方便管理每个module
的jar
包版本。
我们可以使用sring
官方提供的io.spring.platform
和org.springframework.cloud
来为我们的jar
包做统一管理。
我们可以在spring
官方看到https://spring.io/projects/platform
。这里提示说官方已经不再提platform
平台的支持。而且也给出了建议。
当然我们仍然可以继续使用,最后一个正式版是Cairo-SR7
,对应的springboot
版本是2.0.8
。
从官方维护的springcloud
平台可知,Finchley
版本对应springboot的版本号为2.0.x
。我们的项目正是使用Cairo-SR7
和Finchley
来做统一jar
包管理
在不使用第三方SDK的前提下,按照微信公众号开发文档,一步步获取openid
。这里我们主要通过三个步骤来实现。
第一步:设置域名
第二步:获取code
第三步:获取access_token
这里官方文档中主要有2中获取方式,应对不同的业务场景。【关于网页授权的两种scope的区别说明】。这里先不用深究,使用过程中,自会明白。