问题

PAS 6.5 build1733 业务应用页面form表单以multipart/form-data形式提交后,接收处无法获取到requset中传递的值,提示为null,后台报错。

页面表单提交后传递的参数显示为null:

接收form数据的代码:

后台异常信息:

java.io.IOException: Corrupt form data: premature ending
    at com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:207)
    at com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:121)
    at javazoom.upload.parsing.CosMultipartParser.handleRequest(Unknown Source)
    at javazoom.upload.MultipartFormDataRequest.<init>(Unknown Source)
    at javazoom.upload.MultipartFormDataRequest.<init>(Unknown Source)
    at javazoom.upload.MultipartFormDataRequest.<init>(Unknown Source)
    at javazoom.upload.MultipartFormDataRequest.<init>(Unknown Source)
    at javazoom.upload.MultipartFormDataRequest.<init>(Unknown Source)
    ......
    at org.apache.jsp.oa.archives.wjgd.wjgd_005fdo_jsp._jspService(wjgd_005fdo_jsp.java:78)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:432)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:336)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)

解决方案

分析发现应用request的content-type在最后加了一段字符集的字符串,导致应用里multipartparser在处理时报错,应用通过重写了multipartparser解决该问题