response

递归遍历磁盘文件路径、模拟抽奖、线上解析json

匆匆过客 提交于 2020-03-02 21:45:24
今天机试的三个小题目 1、 递归遍历 磁盘文件路径 使用递归方法,遍历D盘 (也可以更换成别的目录,效果达到即可) 下全部的文件(包括子文件夹下的文件),输出文件路径,文件修改时间,文件按修改时间倒序排列。 package test; import java.io.File; import java.util.*; /** * Created by shimengru on 2020/3/2. * 使用递归遍历apache目录下所有文件的文件名 */ public class ShowFileDir { public static void main(String[] args) { File file = new File("/Users/admin/Downloads/apache-maven-3.6.2/"); //校验路径是否为空 File[] files = file.listFiles(); if (files == null) { System.out.println("请输入正确路径..."); return; } File[] fs = seachFileDir(file);//查询后未排序 //进行排序 Arrays.sort(fs, new CompareByLastModified()); //遍历 for (File f : fs) { System

使用拦截器拦截html参数

痴心易碎 提交于 2020-03-02 19:08:23
   公司最新需求:根据传递的参数进行业务判断,如果符合条件则继续后面的业务逻辑,否则跳转到指定的错误页面。有些是请求的controller 使用了spring aop的方式进行验证;但是有些是html页面,这些是需要使用过滤器了。 1.框架是spring mvc框架 添加自定义的过滤器 package cn.zm518.news.filter; import cn.zm518.circle.client.entity.CircleStateVo; import cn.zm518.circle.client.service.CircleClient; import cn.zm518.common.properties.SystemProperties; import cn.zm518.news.common.util.StringUtil; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.filter.OncePerRequestFilter; import javax.servlet.FilterChain; import javax.servlet

爬取漫画网站并进行图片拼接

和自甴很熟 提交于 2020-03-02 18:30:47
一切都要从一只蝙蝠说起。。 因为疫情原因,这个月远程办公(摸鱼),看漫画花了1000多大洋,看着自己的支付宝余额,起了白嫖的邪念。。 网上有些漫画网站,点击下一页的时候,会跳出某些网站,十分不便,而且每次换页都需要点击,所以我决定把漫画全都爬下来,每章拼接成一张长图,可以看得舒服一些 工具:pycharm 工具包:scrapy,re,urllib,os 一.创建爬虫程序: 1.scrapy startproject manhua2 2.cd 到目录内 3.scrapy genspider manhua fzdm.com /漫画为spider名称 ,后面的为漫画网站网址 二.修改配置和建立启动文件 setting页面里面修改: ROBOTSTXT_OBEY = False DOWNLOAD_DELAY = 1 DEFAULT_REQUEST_HEADERS = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'en', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17

技术干货分享 | SpringCloud Gateway 全链路实现分析

血红的双手。 提交于 2020-03-02 18:04:33
1. 背景 随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。而诸多的服务可能分布在了几千台服务器,横跨多个不同的数据中心。为了快速定位和解决故障,应用性能进行分析,全链路监控组件就在这样的问题背景下产生了。最出名的是谷歌公开的论文提到的 Google Dapper。想要在这个上下文中理解分布式系统的行为,就需要监控那些横跨了不同的应用、不同的服务器之间的关联动作。 1.1 全链路原理 通过业务调用过程中添加并传递调用链ID,实现应用间生成链路数据,最终串联成一条完整的调用链。 其中整个调用过程中每个请求都要透传TxId、SpanId和pSpanId。 1.2 Spring Cloud Gateway 作为Spring Cloud官方推出的第二代网关框架,Spring cloud gateway是基于Spring 5.0、Spring Boot2.0和Reactor等技术开发的网关,采用了NIO模型进行通信。 1.2.1 Spring WebFlux Spring Boot 2.0 包括一个新的 spring-webflux 模块,名称中的 Flux 来源于 Reactor 中的类 Flux。该模块包含对响应式 HTTP 和 WebSocket 客户端的支持,以及对 REST、HTML 和 WebSocket 交互等程序的支持。 一般来说

用android发出HTTP请求

孤街醉人 提交于 2020-03-02 18:03:17
我到处搜索但我找不到答案,有没有办法发出简单的HTTP请求? 我想在我的某个网站上请求PHP页面/脚本,但我不想显示该网页。 如果可能的话我甚至想在后台(在BroadcastReceiver中)这样做 #1楼 我使用Gson lib为web服务创建了这个URL: 客户: public EstabelecimentoList getListaEstabelecimentoPorPromocao(){ EstabelecimentoList estabelecimentoList = new EstabelecimentoList(); try{ URL url = new URL("http://" + Conexao.getSERVIDOR()+ "/cardapio.online/rest/recursos/busca_estabelecimento_promocao_android"); HttpURLConnection con = (HttpURLConnection) url.openConnection(); if (con.getResponseCode() != 200) { throw new RuntimeException("HTTP error code : "+ con.getResponseCode()); } BufferedReader br =

Flutter登录界面之dio请求

拟墨画扇 提交于 2020-03-02 10:51:27
用Flutter编写好登录界面后,我需要将从界面中获取的账号和密码与后端提供的api交互,在这里使用dio实现get请求和post请求的方法。 首先需要在pubspec.yaml中dependencies下添加dio插件,插件版本可以在网上搜索最新版本; 添加完插件后,在登录界面所在的文件中添加引用; import 'package:flutter/material.dart'; import 'package:dio/dio.dart'; 添加完引用后,在登录按钮对应的动作中调用与后端交互的方法loadDataByDio(); onPressed: () { if (_formKey.currentState.validate()) { ///只有输入的内容符合要求通过才会到达此处 _formKey.currentState.save(); //TODO 执行登录方法 print('Phone:$_phone , Password:$_password'); loadDataByDio(); } } loadDataByDio()方法之get请求如下: loadDataByDio() async { try { print('登陆中'); Response response; Dio dio = new Dio(); response = await dio.get( "接口地址

微信公众号消息回复

谁说胖子不能爱 提交于 2020-03-02 09:41:47
参照https://www.kancloud.cn/digest/wechat-java/123962 写了servlet并处理后,发现在服务器的 tomcat/logs/localhost_access.txt的日志里面 总是接收不到 微信端发送的post的请求,因为 微信的 文本消息回复原理是,用户发送消息给微信,微信把这些消息以及用户信息通过post请求发送给服务器。服务器提供post接口的URL,这个URL就是在开发者文档里配置的URL。如下所示 ,而自己为什么没有收到那? 最后发现是 没有启动导致的。 2.启用后文本信息乱码解决办法 PrintWriter out = null;try { response.setHeader("Content-type","text/html;charset=UTF-8"); out = response.getWriter(); out.print(respMessage);} catch (IOException e) { e.printStackTrace();} finally { out.close(); out = null;} 3.我使用了图灵机器人自动回复,但是出现 提示“该公众号暂时无法提供服务,请稍后再试” 解决办法:输入的返回信息是success,但是不让输出 try { textMessage

java 测试 (junit+ junit 断言 + postman)

梦想的初衷 提交于 2020-03-02 08:00:42
    实际开发中,除了开发,我想测试也是必不可少的一环吧。从简单的@Test 、main 方法测试 到 页面测试 ,断言,postman。 bug是无处不在,随时发生的事,高效率的调试、检测可以节省大量的开发时间。 思路一确定,敲代码也就花不了多少时间,可是敲完代码后的调试,检测往往会花费许多时间。 甚者除了页面调试(通过jsp,HTML页面带参过来到后台,后台返回参数给页面) 其他的一点都不会。记得去年的时候,公司做个金融产品,是跟外部的团队合作一起开发的。由于前端页面是由外部团队提供给我们的,所以有时候他们还未提供给我们页面的时候,我们就自己根据接口文档等把后台业务相关逻辑处理好。 某天上午,公司一个新来的新手跑过来问我:XXX, 代码写完啦,没有页面怎么测啊。 我当时就感到奇怪,没有页面就不能测吗? 我反问了他一句, 他请我过去帮忙教教他,我也就回了句自己去百度就没理了。那时候想着就是虽然测试不是我们的主业,有测试,可是我们开发人员自测的手段还是要有一些的吧。刚好现在已经开始写博客了,今天也有空,也就写篇相关的博客,记录记录      阅读此篇博客前阅读本人的 junit 常用注解 + junit 断言详解 + junit 运行(eclipse + IDEA)      1. @Test , main 方法     这个是最简单测试了,一般用于测试一些方法,实现

SpringMVC运行原理总结

荒凉一梦 提交于 2020-03-02 06:30:40
1、 用户发送请求至前端控制器DispatcherServlet捕获 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器 a、 进入DispatcherServlet类 Service方法(位于DispatcherServlet类继承的——FrameworkServlet类中)捕获该请求: @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpMethod httpMethod = HttpMethod.resolve(request.getMethod()); if (HttpMethod.PATCH == httpMethod || httpMethod == null) { processRequest(request, response); } else { super.service(request, response); } } b、 获取到对应方法之后会调用对应(此处为doGet)方法: @Override protected final void doGet(HttpServletRequest request,

Django 结构及处理流程分析

*爱你&永不变心* 提交于 2020-03-02 06:20:03
conf 主要有两个作用:1) 处理全局配置, 比如数据库、加载的应用、 MiddleWare等 2) 处理urls配置, 就是url与view的映射关系。 contrib (贡献) 由Django的开发者贡献的功能模块,不过既然都已经随版本发布,就表示是官方的。 core Django的核心处理库,包括url分析、处理请求、缓存等,其中处理请求是核心了,比如处理fastcgi就是由wsgi.py处理。 db 顾名思义,处理与数据库相关的,就是ORM。 dispatch (分派,派遣) 其实这不是Django原创,是pydispatch库,主要处理消费者-工作者模式。 forms && newforms && oldforms 处理html的表单,不用多介绍。 middleware 中间件,就是处理HTTP的request和response的,类似插件。比如默认的common中间件的一个功能:当一个页面没有找对对应的 pattern时,会自定加上‘/’重新处理。比如访问/blog时,而定义的pattern是‘^blog/$’,所以找不到对应的pattern,会自动再用/blog/查找,当然前提是 APPEND_SLASH=True。 template Django的模板 templatetags 处理Application的tag的wrapper,就是将INSTALLED