java.io.datainputstream.readunsignedshort_MVC常见问题

tomcat报readUnsignedShort

部署到生产环境时(tomcat版本一般较低), 出现类似这样的报错,然后tomcat无法启动:

java.io.EOFException

at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)

at org.apache.tomcat.util.bcel.classfile.Utility.swallowMethodParameters(Utility.java:796)

at org.apache.tomcat.util.bcel.classfile.Attribute.readAttribute(Attribute.java:171)

at org.apache.tomcat.util.bcel.classfile.FieldOrMethod.(FieldOrMethod.java:57)

at org.apache.tomcat.util.bcel.classfile.Method.(Method.java:71)

at org.apache.tomcat.util.bcel.classfile.ClassParser.readMethods(ClassParser.java:267)

at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:127)

原因:

tomcat 7.0.58之前的版本,处理由JDK8带-parameters编译的类文件有bug

nutz从1.r.58开始,使用JDK8带-parameters编译,从而实现eclipse无源码也能提示参数名称

解决版本:

首选: 把tomcat升级到7.x最新版

备选: 下载nutz源码,重新编译一份不带-parameters的jar,不推荐使用

出现nutz日志之前,停顿几十秒到几分钟不等:

该情况只出现在老版本的Linux系统,卡顿结束后,第一条日志类似

INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [301,654] milliseconds.

原因: 由于linux下/dev/random极其低效,导致SecureRandom初始化非常慢

解决方案: 添加启动参数

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/urandom"

IE下ajax当下载

原因: 新版的@Ok("json")的Content-Type设置为"application/json", 在IE下会有毛病.

解决版本: 在MainModule添加@SetupBy(MainSetup.class), 然后MainSetup类实现Setup接口,在init方法内内添加下列代码

UTF8JsonView.CT = "text/plain";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值