原文附代碼:http://blog.maptoface.com/post/203
Failed to parse multipart servlet request; nested exception is java.lang.IllegalStateException: The
Cause: com.mysql.jdbc.PacketTooBigException
分別兩個報錯的解決方案:
Failed to parse multipart servlet request; nested exception is java.lang.IllegalStateException: The
提交表單報錯
修改Spring Boot
內置Tomcat的maxPostsize
值,在application.yml
配置文件中添加以下內容:
Cause: com.mysql.jdbc.PacketTooBigException
解決了應用服務器請求數據量過大問題後,在下一步寫入DB時又遇到了類似問題,超出了數據庫中最大允許數據包默認配置值。
Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (16800061 > 16777216). You can change this value on the server by setting the max_allowed_packet’ variable.
Solution:
修改DB的max_allowed_packet值:
USE database;
set global max_allowed_packet = 3*1024*1024*10; # 改爲30M
show VARIABLES like '%max_allowed_packet%'; # 重啓DB連接生效
Note:MySQL中max_allowed_packet 的 默認配置:16777216 = 16 * 1024 * 1024,即16M
又出現問題:max_allowed_packet在重啓mysql後依然不生效
解決:
可以編輯my.cnf來修改(windows下my.ini),在[mysqld]段或者mysql的server配置段進行修改
max_allowed_packet = 100M。
最後成功!