首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

关于jsp中form表单提交大数据有关问题

2012-05-09 
关于jsp中form表单提交大数据问题在一个SSH项目里,一个jsp页面上一段代码如下form idtest-form action

关于jsp中form表单提交大数据问题
在一个SSH项目里,一个jsp页面上一段代码如下
<form id="test-form" action="test.do" METHOD="POST">
  <input type="hidden" name="ids" id="ids" value=""/>
  <input type="hidden" name="method" value="doTest"/>
</form>

然后通过jquery提交表单
$("#ids").val("dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间----dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间dhddunfidnndsndnkjdnkjnjdjnjdfnfjdsjdfnjsn很多大红色的是今年打算眷念三阶静空间的设计简单打算将空间");
$("#test-form").submit();

出现以下错误

2012-5-8 16:31:15 org.apache.catalina.connector.CoyoteAdapter service
严重: An exception or error occurred in the container during the request processing
java.lang.ArrayIndexOutOfBoundsException: 8192
at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:714)
at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:621)
at org.apache.coyote.http11.InternalOutputBuffer.sendHeader(InternalOutputBuffer.java:494)
at org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1600)
at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:935)
at org.apache.coyote.Response.action(Response.java:183)
at org.apache.coyote.Response.sendHeaders(Response.java:379)
at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:305)
at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:273)
at org.apache.catalina.connector.Response.finishResponse(Response.java:492)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:310)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
2012-5-8 16:31:15 org.apache.coyote.http11.Http11Processor process
严重: Error finishing response


java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:683)
at org.apache.coyote.http11.InternalOutputBuffer.sendStatus(InternalOutputBuffer.java:419)
at org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1589)
at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:935)
at org.apache.coyote.Response.action(Response.java:181)
at org.apache.coyote.http11.InternalOutputBuffer.endRequest(InternalOutputBuffer.java:379)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:880)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)


经测试,是因为表单数据太大引起,如果只取上面字符串的一半长度,就不会出现错误。
但是在另一SSJ项目中测试,却没有出现错误。

两个项目部署在同一tomcat下,都使用firefox测试。

求高手指教

[解决办法]
新手 前来混个脸 没遇到过这样的情况
[解决办法]
java.lang.ArrayIndexOutOfBoundsException 这个异常就是超过了字符串类型长度或者数组下标。
[解决办法]
兄弟,用类似的这种方式做:

$.post(url,$("#test-form']").serialize(), function(data){
var r = eval("("+data+")");
if(r.status){
parent.jsonForumContentList();
parent.jsonForumContentList();
parent.closeDialog(r.message);
}

}, "json");
[解决办法]
ArrayIndexOutOfBoundsException数组越界了。
[解决办法]
get传送的数据量较小,不能大于2KB
好像使这yang?
[解决办法]

HTML code
$.ajax({                type:"POST",                url:"/xxx.do",                dataType:"JSON",                data:$('#addRoleForm').serialize(),                success:function(data){                    alert("SUCCESS")                },                error:function(){                    alert("request error");                }            });
[解决办法]
探讨

很明显是提交方式引起的问题,GET是有大小限制的,一般提交表单都用POST提交,ajax提交请指定type:"POST"
另外.serialize()方法是把form中的字段拼接成xxx=xxx&amp;xxx=xxx.具体看firebug的信息。

[解决办法]
感觉是缓冲区的关系

热点排行