Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何解决BadMessageException :在春季应用程序中将java7迁移到java8时无法解析表单内容问题?

如何解决BadMessageException :在春季应用程序中将java7迁移到java8时无法解析表单内容问题?
EN

Stack Overflow用户
提问于 2019-01-16 07:31:04
回答 3查看 8.1K关注 0票数 0

由于应用程序引擎所反对的org.eclipse.jetty.http.BadMessageException: 77,我们已经将应用程序迁移到java 8,但是在迁移应用程序之后,在提交html表单后,我们将无法解析表单内容消息。

有人能帮我解决这个问题吗?

我们正在使用的 : Spring3.1.0和Java8

这里是我的完整堆栈跟踪:

异常消息是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Request processing failed; nested exception is org.eclipse.jetty.http.BadMessageException: 400: Unable to parse form content
 Complete stacktrace is : org.springframework.web.util.NestedServletException: 
 Request processing failed; nested exception is org.eclipse.jetty.http.BadMessageException: 400: Unable to parse form content  at
 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894)  at
 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)  at
 javax.servlet.http.HttpServlet.service(HttpServlet.java:707)  at
 javax.servlet.http.HttpServlet.service(HttpServlet.java:790)  at
 org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)  at
 org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1772)  at
 com.gulfinfotech.eflow.filters.NameSpaceGoogleSecurityFilter.doFilter(NameSpaceGoogleSecurityFilter.java:207)  at
 org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)  at
 org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:147)  at
 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)  at
 org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)  at
 com.google.apphosting.utils.servlet.JdbcMySqlConnectionCleanupFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60)  at
 org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)  at
 org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)  at
 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)  at
 org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)  at
 org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)  at
 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)  at
 org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)  at
 com.google.apphosting.runtime.jetty9.ParseBlobUploadHandler.handle(ParseBlobUploadHandler.java:119)  at
 org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1182)  at
 com.google.apphosting.runtime.jetty9.AppEngineWebAppContext.doHandle(AppEngineWebAppContext.java:171)  at
 org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)  at
 org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)  at
 org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)  at
 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)  at
 com.google.apphosting.runtime.jetty9.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:296)  at
 org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)  at
 org.eclipse.jetty.server.Server.handle(Server.java:539)  at
 org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)  at
 com.google.apphosting.runtime.jetty9.RpcConnection.handle(RpcConnection.java:202)  at
 com.google.apphosting.runtime.jetty9.RpcConnector.serviceRequest(RpcConnector.java:81)  at
 com.google.apphosting.runtime.jetty9.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:123)  at
 com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchServletRequest(JavaRuntime.java:699)  at
 com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchRequest(JavaRuntime.java:661)  at
 com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:631)  at
 com.google.apphosting.runtime.JavaRuntime$NullSandboxRequestRunnable.run(JavaRuntime.java:825)  at
 com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:273)  at
 java.lang.Thread.run(Thread.java:745) Caused by: org.eclipse.jetty.http.BadMessageException: 400: Unable to parse form content  at
 org.eclipse.jetty.server.Request.getParameters(Request.java:372)  at
 org.eclipse.jetty.server.Request.getParameter(Request.java:1014)  at
 org.springframework.web.context.request.ServletWebRequest.getParameter(ServletWebRequest.java:117)  at
 org.springframework.web.servlet.mvc.method.annotation.ServletModelAttributeMethodProcessor.getRequestValueForAttribute(ServletModelAttributeMethodProcessor.java:98)  at
 org.springframework.web.servlet.mvc.method.annotation.ServletModelAttributeMethodProcessor.createAttribute(ServletModelAttributeMethodProcessor.java:73)  at
 org.springframework.web.method.annotation.ModelAttributeMethodProcessor.resolveArgument(ModelAttributeMethodProcessor.java:102)  at
 org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:74)  at
 org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:155)  at
 org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:117)  at
 org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)  at
 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)  at
 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)  at
 org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)  at
 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900)  at
 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827)  at
 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) ... 38 more
 Caused by: org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8! byte 92 in state 0  at
 org.eclipse.jetty.util.Utf8Appendable.appendByte(Utf8Appendable.java:247)  at
 org.eclipse.jetty.util.Utf8Appendable.append(Utf8Appendable.java:157)  at
 org.eclipse.jetty.util.UrlEncoded.decodeUtf8To(UrlEncoded.java:522)  at
 org.eclipse.jetty.util.UrlEncoded.decodeTo(UrlEncoded.java:572)  at
 org.eclipse.jetty.server.Request.extractFormParameters(Request.java:521)  at
 org.eclipse.jetty.server.Request.extractContentParameters(Request.java:453)  at
 org.eclipse.jetty.server.Request.getParameters(Request.java:368) ... 53 more
EN

回答 3

Stack Overflow用户

发布于 2019-01-21 01:58:57

  • 要解决这个问题,您需要将accept-charset="UTF-8"设置为form标记,因为jetty使用UTF-8来解码请求。
票数 1
EN

Stack Overflow用户

发布于 2019-06-06 09:36:18

Stack Overflow用户

发布于 2020-10-05 22:57:03

尝试在web.xml中设置多部件配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<multipart-config>
    <location>/tmp</location>
    <max-file-size>20848820</max-file-size>
    <max-request-size>1073741824</max-request-size>
    <file-size-threshold>1048576</file-size-threshold>
</multipart-config>

如果在spring引导中添加以下代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    /**
     * multipart config
     */
    @Bean
    public MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        factory.setMaxFileSize("1024MB");
        factory.setMaxRequestSize("1024MB");
        return factory.createMultipartConfig();
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54220389

复制
相关文章
python Tkinter按钮带参数
from Tkinter import * def cross(value):     text.insert(INSERT,'x') window =Tk() frame =Frame(window) frame.pack() text =Text(frame,height =3,width =10) text.pack() button=Button(frame,text="add",command = lambda:cross(text)) button.pack() window.mainl
py3study
2020/01/09
1.6K0
java:如何让程序按要求自行重启?
正文开始前的废话: 这里的程序即包括b/s的web application,也包括standalone的类c/s的java application。 为什么要自我重启? 场景1:分布式环境中,一般会有很多应用(即包括c/s的java application,又有b/s的web application)部署在不同的环境中,为了管理方便,通常会把一些公用的配置,比如:报警发邮件用的邮箱账号/密码/smtp信息,公用的ftp账号信息,甚至jdbc的连接串信息等,统一放在某个位置(共享的网络存储目录、redis缓存
菩提树下的杨过
2018/01/18
2.8K0
java:如何让程序按要求自行重启?
正文开始前的废话: 这里的程序即包括b/s的web application,也包括standalone的类c/s的java application。 为什么要自我重启? 场景1:分布式环境中,一般会有很多应用(即包括c/s的java application,又有b/s的web application)部署在不同的环境中,为了管理方便,通常会把一些公用的配置,比如:报警发邮件用的邮箱账号/密码/smtp信息,公用的ftp账号信息,甚至jdbc的连接串信息等,统一放在某个位置(共享的网络存储目录、redis缓存
菩提树下的杨过
2018/01/18
1.4K0
python开发_tkinter_单选按钮
E | hongtenzone@foxmail.com  B | http://www.cnblogs.com/hongten
Hongten
2018/09/13
1.5K0
python开发_tkinter_单选按钮
Python+tkinter动态创建与销毁组件小案例
本文代码演示了如何在tkinter窗体上动态创建组件以及销毁组件的方法。 import tkinter import tkinter.messagebox import tkinter.simpledialog btnList = [] # 动态创建组件,并计算组件在窗体上的位置 def place(n): for i in range(n): exec('btn'+str(i)+'=tkinter.Button(root,text='+str(i)+')') eval('btn'+str(i)).p
Python小屋屋主
2018/04/16
5.2K0
Python+tkinter动态创建与销毁组件小案例
对抗蠕虫 —— 如何让按钮不被 JS 自动点击
作者: EtherDream www.cnblogs.com/index-html/p/anti_xss_worm.html 前言 XSS 自动点按钮有什么危害? 在社交网络里,很多操作都是通过点击按钮发起的,例如发表留言。假如留言系统有 XSS,用户中招后除了基本攻击外,还能进行传播 —— XSS 自动填入留言内容,并模拟点击发表按钮,于是就能发布带有恶意代码的留言。好友看了中招后,又传播给他们的好友。。。从而形成蠕虫扩散。 那么有没有一种机制,让「发表留言」必须通过用户的「真实点击」按钮才能完成,而无
前端教程
2018/03/05
9.2K0
对抗蠕虫 —— 如何让按钮不被 JS 自动点击
python的tkinter编程(十)Radiobutton单选按钮,CheckButton复选按钮 的详细解读
Radiobutton单选按钮 CheckButton复选按钮
一写代码就开心
2020/11/20
1.9K0
python的tkinter编程(十)Radiobutton单选按钮,CheckButton复选按钮  的详细解读
SQVI-如何自行创建报表?
在项目实施过程中,SAP标准报表提供的功能不能满足一些特殊的需求,因而会有一些临时的报表需求,若开发人员临时写一个报表,需要开发测试过程,时间较长,此时,实施工程师可以使用SAP提供的SQVI功能,快速自定义一个自己需要的报表。
用户5495712
2019/11/07
1.1K0
SQVI-如何自行创建报表?
android让返回按钮失效
先发制人,后发制于人。——《汉书》 我们可以重写Activity中的onBackPressed方法去实现 例如 ...就是这样
阿超
2022/08/16
1K0
android让返回按钮失效
python的tkinter编程(一)什么是tkinter,第一个基于tkinter的GUI编程,弹出窗口,创建按钮,并且在这个按钮上面加点击事件
1 创建出一个窗口 2 在窗口上面布局组件 3 让各种各样的组件活起来,也就是让各个组件有事件
一写代码就开心
2020/11/20
2.8K0
python的tkinter编程(一)什么是tkinter,第一个基于tkinter的GUI编程,弹出窗口,创建按钮,并且在这个按钮上面加点击事件
PyQt5 技巧篇-如何让窗体只显示关闭按钮
默认我们的窗体的放大、缩小、关闭按钮都是显示的,想要个性化化显示,需要我们自己设置。
小蓝枣
2020/09/23
2.8K0
【tkinter系列 第十课 TopLevel窗口部件 】
python中通常我们写程序,显示结果和操作都是在终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?python中有好几个库都可以实现,这个系列我们一起来学习如何使用python自带的tkinter库来实现。
叶子陪你玩
2020/03/11
3.5K0
如何正确的创建和销毁 Java 对象?
点击关注公众号,Java干货及时送达 一、介绍 Java由Sun Microsystems发明并在1995年发布,是世界上使用最广泛的编程语言之一。Java是一个通用编程语言。由于它拥有功能强大的库、运行时、简单的语法、平台无关(Write Once, Run Anywhere - WORA)以及令人敬畏的社区从而吸引了很多的开发者。 本系列文章我们我们将会覆盖一些高级的Java概念,我们假设你对Java语言已经有一些基础知识。本系列文章并不是一个完整的参考,而是一个将您的Java技能提升到下一个级别的详
Java技术栈
2022/05/27
1.9K0
如何正确的创建和销毁 Java 对象?
销毁MBProgressHUD
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/51065513
用户1451823
2018/09/13
9550
如何正确的创建和销毁 Java 对象
> 作者 : RonTech ,链接: blog.csdn.net/zyhlwzy/article/details/78937421
Java小咖秀
2021/04/28
2.9K0
如何正确的创建和销毁 Java 对象
如何正确的创建和销毁Java对象
blog.csdn.net/zyhlwzy/article/details/78937421
好好学java
2021/04/30
1.4K0
如何正确的创建和销毁Java对象
如何正确的创建和销毁 Java 对象?
Java由Sun Microsystems发明并在1995年发布,是世界上使用最广泛的编程语言之一。Java是一个通用编程语言。由于它拥有功能强大的库、运行时、简单的语法、平台无关(Write Once, Run Anywhere - WORA)以及令人敬畏的社区从而吸引了很多的开发者。
Spark学习技巧
2023/03/21
2.3K0
如何正确的创建和销毁 Java 对象?
点击加载更多

相似问题

如何使按钮自行销毁?

12

Python:如何销毁同名按钮(tkinter)

12

如何让tkinter按钮销毁/退出嵌套函数中的根窗口?

10

单击后销毁Tkinter按钮

214

单击后tkinter销毁按钮

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文