使用Tomcat7的HttpServletRequest的输入流问题,烦请各位帮忙看看

问题描述

InputStream stream = request.getInputStream();int streamLength = request.getContentLength();byte[] data = new byte[streamLength];stream.read(buffer, 0, streamLength);代码如上,当request请求中的字节数组超过一定长度之后,data数组获取到的数据全是0,大概是前180个是正常的,超过180个之后data数组中就全是0(data[180]之后的数字取出来全是0),大概是180个,反正有一个具体的固定的值,每次超过都是0,使用的是jdk7,tomcat7先谢谢大家了。

解决方案

byte[] data = new byte[streamLength];int count = 0;int len;while ((len = stream.read(data, count, streamLength - count) != -1) { count += len;}分段读,每次是有点数据他就先给你点,剩下的还在路上
解决方案二:
打印下stream.read(buffer, 0, streamLength); 返回的值,是不是也是180。
解决方案三:
最近通过POST方式提交数据量过大,在后台接收不到数据,当时第一个感觉是GET方式有数据限制,POST没有数据限制,可是查看代码发现确实是POST提交,问题出在哪里了呢? 通过查看资料,发现tomcat默认传输最大的数据限制 ,最后的解决办法是设大tomcat的conf下的server.xml中8080Connector的maxPostSize的值.(设为0是取消POST的大小限制) 打开tomcat目录下的conf目录,修改server.xml 文件 增加 maxPostSize="0" 即可
解决方案四:
byte[] data = new byte[streamLength]; stream.read(buffer, 0, streamLength); 是不是要改成byte[] data = new byte[streamLength]; stream.read(data, 0, streamLength);才对呀
解决方案五:
你确定在的测试的方法中只有这段代码吗??InputStream stream = request.getInputStream();int streamLength = request.getContentLength();byte[] data = new byte[streamLength];stream.read(buffer, 0, streamLength); 还有没有其他的代码??????比如在InputStream stream = request.getInputStream();前面还有代码??
解决方案六:
因該是POST跟GET的問題,GET有限制長度。

时间: 2024-07-28 17:32:00

使用Tomcat7的HttpServletRequest的输入流问题,烦请各位帮忙看看的相关文章

DrawString 异常。实在找不 到 问题,烦请各位大虾指点。

问题描述 问题:m_bufGrap.Graphics.DrawString(str2,drawFont,drawBrush,20.0F,30.0F)未处理的"System.ArgumentException"类型的异常出现在System.Drawing.dll中.其他信息:参数无效.代码:DimdrawFontAsNewFont("Arial",16)DimdrawBrushAsNewSolidBrush(Color.Blue)Dimstr2AsString=&qu

烦请大神将下面的js代码改写为php代码(加密用)

问题描述 烦请大神将下面的js代码改写为php代码(加密用) function md5(A) { return hex_md5(A) } function md5js(pass, code, uin) { var I = hexchar2bin(md5(pass)); var H = md5(I + uin); var G = md5(H + code.toUpperCase()); return G } var hexcase = 1; var b64pad = ""; var ch

mutong-小学生问题,烦请大神解答

问题描述 小学生问题,烦请大神解答 ios的计算器代码怎么写?for循环打印button不会,还有怎么让屏幕上显示自己输入的数字.本人刚开始学UI,之前没有任何基础,大神们多关照啊 解决方案 http://download.csdn.net/detail/u011779982/5994969http://blog.sina.com.cn/s/blog_bf9843bf0101fajv.html

mfc-大神们,新年快乐!!!我用MFC编写的串口助手,创建多线程,烦请帮忙看下哪里有问题呢,为什么不能显示

问题描述 大神们,新年快乐!!!我用MFC编写的串口助手,创建多线程,烦请帮忙看下哪里有问题呢,为什么不能显示 数据丢包是因为编辑框显示荒废时间,所以我把编辑框显示放到线程里面,可以不能与接收数据同步正确的显示,还会出现停止运行的错误,狂帮帮忙,看下,呜呜!!!! 解决方案 内存指针的问题,仔细调试下.

烦请高手指点一个关于面向对象的问题,谢谢!

问题描述 问题是这样的:我有3对象,分别是管理员.计算员.核算员.管理员希望拥有的个方法分别是A.B.C.D.E计算员希望拥有的方法是:D.E.F核算员希望拥有的方法是:B.C.D纠结1:如果用类来继承:PUBLICCLASS计算员:管理员如果这样继承的继承方式,A.B.C也会同事继承,而我的本意是,计算员仅拥有D.E方法,如果A.B.C方法声明private的话,核算员要继承B方法,也继承不了.纠结2:如果通过接口来实现多继承:interface管理员:计算员,核算员如果这样实现接口多继承,那

一个.NET的页面,点击页面中的按钮30S后页面就报错了,在数据库里执行存储过程需要45秒烦请高手指点一下

问题描述 前台错误页面如下:web.config部分内容: 解决方案 解决方案二: 解决方案三:超时了.你可以设置页面请求超时时间.或者异步执行这个耗时的方法.解决方案四:优化查询,或者把超时时间增大解决方案五:Server.ScriptTimeout=180;//三分钟放在代码最开头解决方案六:SqlCommand也可设置TimeOut,默认应该是30秒,你可以根据需要进行调整

java web cgi 返回值-Java web 调用cgi发送form表达数据,如何获取返回值?

问题描述 Java web 调用cgi发送form表达数据,如何获取返回值? 各位,大家好,有个问题想请教一下,目前一套java web开发的网站,需要调用外公司 提供的一个cgi接口,用于实现发送一个字符串(包含了几个字段的数据)给他们的cgi 脚本,我们发送不论成功或者失败,他们都会返回一个具体的int值给我们,我该如何发 送并获取返回值?网上看到的资料不是特别多,自己大概的思路如下: //jsp要调用的程序为AgentRetMaintainerAct.cgi URL u = new URL

使用glut库遇到问题,无法加载OPENGL.dll

问题描述 使用glut库遇到问题,无法加载OPENGL.dll 下面的图是我的电脑硬件配置和系统配置 在官网下载了glut3.7betadll之后,运行程序报错如下: 于是用在的glut3.7 for win32 ,使用VS2010命令行编译后,生成的glut32.lib glut32.dll替换了preCompile的文件,出现的同意的错误. 百度,安装网友的说法,把lib dll 放在VCbin下面,放在system32 sysWOW64 都试过了,报错依旧. 于是运行Qt5.6内置的Ogl

哪位大侠帮帮忙,我的GridView更新时出问题了

问题描述 前几年都是用ASP,出.NET后一直没写过程序,也接触得少了,现在学.NET2有个新问题,怎么都没解决,烦请大侠帮忙解决解决.我有一张学生表:LJXHXM--还有其它字段.上面字段的意思依次是年级.学号.姓名,我用了一个GridView,如下:<asp:GridViewID="myGrid"runat="server"AllowPaging="True"OnSelectedIndexChanged="myGrid_Sel