精华内容
下载资源
问答
  • 我将ignite项目打包放linux下,在linux下获取window中存放在oracle数据库中的数据,linux服务器作为ignite的服务端节点,我在本地启动tomact,作为ignite客户端获取linux中缓存的数据。 在使用ignite的情况下,...
  • //获取人脸识别配置参数 sysParams = getSysParam(type,conn, logger); }catch (TradeException e) { CommonUtil.setResponseMsg("FFFFF", e.getMessage(), moduleUtil); return "fail"; } catch...
  • 全面、方便、快捷的获取新闻动态、比赛数据。 无广告、推送信息,不后台常驻,空间占用小。但是因为某些原因作者关闭了web服务器,因此项目无法直接演示了,不过有服务端,如果可以搞定的话可以自己搭建服务端做...
  • 对于js页面来说,使用服务端控件,点击下载按钮时不会触发服务端事件,且不会提交数据到服务端页面后台进行数据处理,所以要下载文件比较困难。且使用jQ的post来请求一般处理程序也不能实现文件的下载,根本不会弹...

    对于js页面来说,未使用服务端控件,点击下载按钮时不会触发服务端事件,且不会提交数据到服务端页面后台进行数据处理,所以要下载文件比较困难。且使用jQ的post来请求一般处理程序也不能实现文件的下载,根本不会弹出提示用户保存文件的对话框。但会将文件数据获取到。

    要解决一般处理程序下载文件的办法,其实很简单,只要明白b/s基本基本原理即可。采用方法为创建一个iframe,并隐藏,设置其src=demo.handler.ashx 即可,在服务端将要下载的文件输出即可。注意设置content-type和charset,一个header。这样就可以达到js页面异步下载文件的目的。

    转载于:https://www.cnblogs.com/maomao999/p/3678164.html

    展开全文
  • 事情的起因是:我把webservice服务端文件放到tomcat,在客户端调用时,却获取不到数据,但是通过本地idea运行服务端程序时,客户端是可以获取到数据的,通过查看tomcat的log日志,发现如下的报错: java.sql....

    环境:jdk1.7 32位+tomcat7 32位+odbc数据源32位+webservice服务端、客户端
    事情的起因是:我把webservice服务端文件放到tomcat,在客户端调用时,却获取不到数据,但是通过本地idea运行服务端程序时,客户端是可以获取到数据的,通过查看tomcat的log日志,发现如下的报错:
    java.sql.SQLException:[Microsoft][ODBC驱动程序管理器]未发现数据源名称并且未指定默认驱动程序

    这是由于没有找到我在程序中写的odbc数据源名称,
    这是因为我在添加odbc数据源的时候,只在用户DSN添加了数据源,没有在系统DSN添加书数据源,造成上面的异常,由于我的odbc数据源为32位,位置在C:\Windows\SysWOW64\odbcad32.exe,打开后在系统DSN界面添加数据源即可。根据网络上的解释: 在控制面板-管理工具–数据源中设置ODBC数据源,在设置ODBC数据源时,要添加“系统DSN”,不要添加“用户DSN”,因为添加“用户DSN”,只能在本机使用,当把程序移植到其它计算机时,程序就无法正常运行。
    在系统DSN中添加完odbc数据源后,webService就可以正常获取到数据额

    展开全文
  • 实际上目前客户端没有对服务端收到的数据做处理,因为那样又要多开一个线程。 但是现在问题就是这样简单的测试发送10000条数据,居然会卡死,很纳闷。我前几天见他们Linux自己写的程序发送1W条数据,就是2 3秒的时间...
  • 协议规定 Post 请求的数据必须放内容主体中,但并规定数据的格式。换句话说,只要请求满足上面的格式,服务端能够正常解析数据即可。 服务端通常根据请求头(headers)中的 content-type 字段来获取内容主体的...

    三种 Post 提交数据方式

    根据 HTTP 协议规范,一般把 HTTP 请求分为三个部分:状态行、请求头、内容主体。

    协议规定 Post 请求的数据必须放到内容主体中,但并未规定数据的格式。换句话说,只要请求满足上面的格式,服务端能够正常解析数据即可。

    服务端通常根据请求头(headers)中的 content-type 字段来获取内容主体的格式,然后再对内容进行解析。常见的编码格式(content-type)有如下几种:

    application/x-www-form-urlencoded

    application/x-www-form-urlencoded 是最常见的,也是默认的 Post 数据方式,请求信息与下面请求类似:

    Content-Type 被指定为 application/x-www-form-urlencoded;提交的数据按照 key1=val1&key2=val2 格式进行编码,keyval 都进行了 URL 转码。

    在 Express 中处理这类请求,需要使用 body-parser 中间件。

    // jquery
    
    let url = `http://127.0.0.1:3001/urlencoded`,
        contentType = 'application/x-www-form-urlencoded',
        data = { name, email };
    
    $.ajax({
        method: 'post',
        url,
        contentType,
        data
    }).done((msg) => {
        console.info(msg);
    })
    复制代码
    // superagent
    
    let url = `http://127.0.0.1:3001/urlencoded`,
        data = { name, email };
    
    request.post(url)
        .type('form')
        .send(data)
        .then(() => {
            console.info('superagent success');
        }).catch((error) => {
            console.error(error);
        });
    复制代码
    // express
    
    // express 接收参数需要 body-parse 插件支持
    const bodyParser = require('body-parser');
    
    // 解析 application/x-www-form-urlencoded
    app.use(bodyParser.urlencoded({ extended: true }));
    
    app.post(['/json', '/urlencoded'], (req, res, next) => {
        const { name, email} = req.body;
    
        console.log(` name: ${name} \n email: ${email}`);
        res.send('success');
    });
    复制代码

    application/json

    application/json 是以 JSON 形式(序列化后的 JSON 字符串)将数据发送至服务器。

    相比于 application/x-www-form-urlencodedapplication/json 支持更复杂的结构化数据,更具可读性,同时在节省带宽方面也更具优势。

    在 Express 中处理这类请求,也需要使用 body-parser 中间件。

    // jquery
    
    let url = `http://127.0.0.1:3001/json`,
        contentType = 'application/json',
        data = JSON.stringify({ name, email });
    
    $.ajax({
        method: 'post',
        url,
        contentType,
        data
    }).done((msg) => {
        console.info(msg);
    })
    复制代码
    // superagent
    
    let url = `http://127.0.0.1:3001/urlencoded`,
        data = JSON.stringify({ name, email });
        
    request.post(url)
        .set('content-type', contentType)
        .send(data)
        .then(() => {
            console.info('superagent success');
        }).catch((error) => {
            console.error(error);
        });
    复制代码
    // express
    
    // express 接收参数需要 body-parse 插件支持
    const bodyParser = require('body-parser');
    
    // 解析 application/json
    app.use(bodyParser.json());
    
    app.post(['/json', '/urlencoded'], (req, res, next) => {
        const { name, email} = req.body;
    
        console.log(` name: ${name} \n email: ${email}`);
        res.send('success');
    });
    复制代码

    multipart/form-data

    multipart/form-data 通过 boundary 将需要提交的数据进行分割,分割成多个 chunk 发送给服务端。

    使用 JQuery Ajax 提交请求时,需要设置 processData: false

    使用 Superagent 提交请求时,不能设置 content-type

    在 Express 中处理这类请求,需要使用 multer 中间件。

    // jquery
    
    let url = `http://127.0.0.1:3001/formData`,
        contentType = 'multipart/form-data',
        data = new FormData();
        
    data.append('name', name);
    data.append('email', email);
    
    $.ajax({
        method: 'post',
        processData: false
        url,
        contentType,
        data
    }).done((msg) => {
        console.info(msg);
    })
    复制代码
    // superagent
    
    let url = `http://127.0.0.1:3001/formData`,
        contentType = 'multipart/form-data',
        data = new FormData();
     
    data.append('name', name);
    data.append('email', email);
       
    request.post(url)
        // .set('content-type', contentType)
        .send(data)
        .then(() => {
            console.info('superagent success');
        }).catch((error) => {
            console.error(error);
        });
    复制代码
    // express
    
    // express 接收参数需要 multer 插件支持
    const bodyParser = require('multer'),
        upload = multer();
    
    app.post('/formData', upload.array(), (req, res, next) => {
        const { name, email} = req.body;
    
        console.log(` name: ${name} \n email: ${email}`);
        res.send('success');
    });
    复制代码

    其他

    如果使用 JQuery Ajax 时未设置 processData: false, 或使用 Superagent 设置了 content-type,服务端接收数据时会报异常:Multipart: Boundary not found

    展开全文
  • 客户端请求花了46秒,服务端记录的时间才39ms,看起来像大部分时间都花在等待,同时没有监控的metric信息,监控面板看不到数据 查看监控的ss请求,40分之前 经常有很多SYN-RECV的连接占用队列,导致建联很慢 for file ...

    背景:

    运营发现请求异常,简单的获取版本需要46s,改接口未访问数据库等其他额外组件,仅仅内存获取值返回,正常是几毫秒的时间。

    请求 time curl http://localhost/getVer
    在这里插入图片描述
    客户端请求花了46秒,服务端记录的时间才39ms,看起来像大部分时间都花在等待,同时没有监控的metric信息,监控面板看不到数据

    查看监控的ss请求,40分之前 经常有很多SYN-RECV的连接占用队列,导致建联很慢
    for file in ls ss.log*; do grep SYN-RECV $file |wc -l; echo $file; done
    在这里插入图片描述

    原因分析:

    运维初步判断是网络的问题,想调大accept;
    登录机器初步查看,等待服务端 accept() 的 TCP 连接满了,backlog  128
    

    正常情况下Recv-Q 为0,Send-Q表示backlog的大小。
    在这里插入图片描述
    发送异常时候,待accept队列堆积:
    在这里插入图片描述
    同时accept队列溢出:
    在这里插入图片描述

    观察堆栈,看到三组nioEventLoopGroup,可以看到都是正常的,也就是不存在nio接收线程卡主导致不能接收,另外react模型可以支持c10k问题,我们并发很小不是这个原因。

    "nioEventLoopGroup-2-2" #68 prio=10 os_prio=0 tid=0x0000000003f9f000 nid=0x1554e runnable [0x00007f73e413a000]
    "nioEventLoopGroup-2-1" #67 prio=10 os_prio=0 tid=0x0000000003fb0000 nid=0x1554d runnable [0x00007f7424064000]
    
    
    "nioEventLoopGroup-4-4" #489 prio=10 os_prio=0 tid=0x00007f72a03ba800 nid=0x202b1 runnable [0x00007f7288cec000]
    "nioEventLoopGroup-4-3" #477 prio=10 os_prio=0 tid=0x00007f7388003800 nid=0x1f104 runnable [0x00007f7288f6e000]
    "nioEventLoopGroup-4-2" #466 prio=10 os_prio=0 tid=0x00007f73b411f000 nid=0x1dc3d runnable [0x00007f7288f2d000]
    "nioEventLoopGroup-4-1" #443 prio=10 os_prio=0 tid=0x00007f73188e2000 nid=0x1b637 runnable [0x00007f7288faf000]
    "nioEventLoopGroup-3-120" #214 prio=10 os_prio=0 tid=0x00007f73a80d4000 nid=0x17bd0 runnable [0x00007f728bc2f000]
    "nioEventLoopGroup-3-119" #213 prio=10 os_prio=0 tid=0x00007f73a80d2000 nid=0x17bcf runnable [0x00007f728bc70000]
    "nioEventLoopGroup-3-118" #212 prio=10 os_prio=0 tid=0x00007f73a80d1000 nid=0x17bcd runnable [0x00007f728bcb1000]
    "nioEventLoopGroup-3-117" #201 prio=10 os_prio=0 tid=0x00007f73a80cf800 nid=0x173f2 runnable [0x00007f728bcf2000]
    
    

    看下当前的状态:
    ss| grep ‘ip’ | awk ‘{print $2}’|sort -n |uniq -c
    在这里插入图片描述
    导出堆栈的时候很慢,怀疑是机器的问题,看gc日志,内存溢出,full gc导致的问题

    在这里插入图片描述
    果然看到GC出现异常,full GC频繁,并且不能释放内存,说明内存泄漏了。

    看jmap
    jmap -histo pid
    在这里插入图片描述
    发现都是metric相关的类,找到对应的日志目录,发送确实没有打印改日志,怀疑线程跑飞或者没启动。最终去过滤日志,找到启动当前的启动日志,发现确实是metric的问题,没有打印导致堆积。

    查看代码发现是初始化的异常被捕获但是没有继续抛出,只打印了异常,导致即使错误也能正常启动服务。

    解决:

    当初始化出现问题的时候应该直接抛出异常,避免未正确初始化导致的问题,比如本次的metric线程未启动,或者部分参数没有正常初始化导致。

    展开全文
  • 背景:昨天在公司写了一遍定长数据的线程池模式的代码,今天在家再写一遍,可是在获取数据类型,也就是... 具体的原因还找到,我猜测可能是因为我数据类型和长度是分开发送的,服务端去读类型的时候,客户端还没有...
  • 客户端获取某个资源并对其进行缓存,当再次获取相同资源时,如果资源数据与之前获取的一致,则不再返回真正的资源数据,而是在回复中设置一个“标识”表明获取的资源并发生改变。[源代码从这里下载] 一、 HTTP对...
  • Android端向服务器端发送JSON数据。服务器接受到数据后返回JSON信息。 Android效果图:    点击“发送” 点击“发送”,获取数据 服务端效果图:
  • 服务端获取到数据后,grid的该列值是0,或1,或-1; 在ext展现时,需要将grid的该列展现分别对应为“审核中”,“通过”,“通过”,ext应该如何实现呢? 希望有此经验的GS们帮忙。。。。谢谢!
  • 1003 | CLOSE_UNSUPPORTED | 由于接收不允许的数据类型而断开连接 (如仅接收文本数据的终端接收了二进制数据). 1004 | | 保留. 其意义可能会在未来定义. 1005 | CLOSE_NO_STATUS | 保留. 表示没有收到预期的...
  • Jquery easyui datagrid控制可以获取受影响的行,从上一次的提交获取改变的所有行。...将改变行传到服务端,通过参数分别做批量insert update delete记录。<html> <head> <met...
  • 在vue项目中,父组件通过prop给子组件传值时,如果prop值是从服务器端获取,则父组件可能会传给子组件一个默认值(服务端数据及时获取),那么,我们就需要实时watch这个prop值,一旦prop值有更新,将立即通知子...
  • 在vue项目中,父组件通过prop给子组件传值时,如果prop值是从服务器端获取,则父组件可能会传给子组件一个默认值(服务端数据及时获取),那么,我们就需要实时watch这个prop值,一旦prop值有更新,将立即通知子...
  • 服务端获取数据时,获取到的就是乱码(通过debugger排除了) 原因2 前后端字符编码不一致 解决思路 request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); 在服务端方法中添加字符...
  • 此处我是提交registUserServlet,现在服务端创建registUserServlet,那么接下来就开始创建 获取前端提交的数据 注册的流程是拿前端提交的数据,然后插入数据库里,我可以通过request.getParameterMap()...
  • 所以这时后就可以通过手机连接到服务端的网络,安装fiddler证书,然后通过手机app登录,使用同一接口发起请求,然后将fiddler抓到的url修改本地域名,然后发起请求就可以在本地环境获取到登录信息了。 操作要点 ...
  • 本文适合对nginx实现原理比较感兴趣的同学阅读,需要具备一定的服务端编程知识。 一、背景 在服务器开发领域,时间的准确...接触过系统设计的同学都知道,对于频繁的数据获取,在数据未变化的情形下,可以通过增加缓存
  • 客户端先从服务端获取用户大量信息客户端,编辑完成之后统一Post至服务端,对于数据的修改要么全成功,要么全失败,所以需要使用事务支持。问题: 配置Spring声明式事务,执行中出现异常回滚.从网上查询得到一开始是...
  •  准备配置文件setting.py,运行src/data.py,使用MySQL新建数据库并创建table,将字典数据导入table中。编写server.py文件,建立服务端,循环接收web请求,使用多线程实现并发,解析请求(request),并返回响应...
  • 深入剖析Nginx时间缓存

    千次阅读 2017-08-13 21:28:44
    本文适合对nginx实现原理比较感兴趣的同学阅读,需要具备一定的服务端编程知识。...二、时间缓存接触过系统设计的同学都知道,对于频繁的数据获取,在数据未变化的情形下,可以通过增加缓存来优化性能,因为缓
  • 网管教程 从入门精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的...
  • Java Socket TCP粘包和拆包问题

    千次阅读 2019-04-03 14:18:05
    客户端发送一次消息后,服务端读取这次消息,可能由于socket缓冲区较大,继续等待客户端的发送,如果收到则读取完成,如果收到则将新读取的内容拼接旧的后面,这样的现象会造成数据传输错误,解决这个错误需要...
  • java session特性

    2019-01-06 18:47:00
    1.当前浏览器不关闭 则一直有效 servlet就能取值(设置过期时间情况下 或者在过期的时间范围内) 算成一次会话 再次会话内多个请求都能获得session 2.session保存在服务端,通过保存在客户端的cookie来匹配 3....
  • 4) 对于不同权限要求的页面Action操作,系统需要校验用户角色,计算权限列表,如果请求操作在权限列表中,则正常访问,如果不在权限列表中,则提示“授权的访问操作”异常处理页面。 2 WebApi 服务端Basic 方式...
  • 根据订单ID 获取订单信息 没找到, 也直接抛异常就可以了, 因为也不需要返回其他数据。 2)创建订单 校验是否存在支付订单,如果API 层要求 如果存在支付订单,同时返回支付订单号,方便 A
  • RPC 的超时设置!

    2020-05-27 12:21:38
    粗看起来,两个依赖服务的降级策略都考虑进去了,理论上就算推荐服务或者商品排序服务全部挂掉,服务端都应该可以返回数据给APP端。但是APP端的推荐模块确实出现空白了,降级策略可能并生效,下面详细说下定位过程...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 139
精华内容 55
关键字:

未获取到服务端数据