2019-10-17 21:26
异常信息不涉及 jfinal ,应该是与 jfinal 无关的
此外, render 中的 response 在早期的 jfinal 版本中是有 close() 的,通过查看 tomcat、jetty 源码可知,使用 close() 是没有必要的,并且会降低性能。 在 close() 掉以后如果后续还有数据输出则会抛出异常
因此,在 render 中 close() 不仅没有好处,反而很多坏处。 close() 不是你碰到的这个事的原因,不要往这个方向去想
既然是内存占用越来越大,通过 JDK 自带的 visual VM 查看一下内存占用情况,分分钟就可以定位解决问题
2019-10-17 14:48
@ben0133 补充: 使用 JDK 自带的 visual VM 检查一下项目的资源回收情况,访问各个资源,看内存回收是否正常,线程数据量的增减是否正确
2019-10-17 11:17
需要先转成 Model,并且该 Model 是通过生成器生成了 setter 方法的 ,假定 Model 名是 Article 可以通过如下代码存入数据库:
Article article = FastJson.getJson().parse(jsonString, Article.class);
article.save();
如果 jsonString 中的数据与 Article 的对应关系并不是严格对应字段的,可以通过 Map 作为中间转换:
Map map = FastJson.getJson().parse(jsonString, Map.class);
Article article = new Article();
article.setXxx(map.get(xxx));
article.setYyy(map.get(yyy));
article.save();
2019-10-17 10:43
@xspycsj 用 tomcat 就要将项目完全当成是一个普通的 java web 项目,启动方式与其它的 java web 方式完全一样
那么就不需要用 jfinal 提供的 main 方法启动,一定要看文档中有关说明:
https://www.jfinal.com/doc/1-11
用传统方式启动的时候,删掉 jetty-server.jar
2019-10-16 17:26
@xspycsj 注意要将 class path 指向 WEB-INF/classes,否则找不到类,也找不到 web.xml
这纯粹是一个 IDEA 的使用问题,你运行其它类型的 java web 项目同样会面临这个问题
2019-10-16 17:17
@小剑魔 这个是十分罕见的纯 eclispe 问题,建议不要浪费时间折腾,重新解压安装 eclipse 完事
折腾这种 eclipse 的 bug 没有意义