springMVC项目中调用dll存在的问题

cjbedu2012 2017-06-24 06:09:03
1、在springMVC项目中通过JNA调用dll,用ajax提交至后台,每次只能调用一次,继续调用需要重启tomcat才行-BUG
但是用main方法测试可以连续调用

如:后台有个获取身份的方法叫getSF(),前台先选择张三调用后台的getSF()-正常取值,接着选择李四调用后台的getSF()-取值异常,此时重启tomcat服务再来获取就正常了。


已测试与浏览器缓存无关系
...全文
1184 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
微瞰技术 2018-05-18
  • 打赏
  • 举报
回复
解决方案https://blog.csdn.net/u011342403/article/details/80356502
微瞰技术 2018-05-07
  • 打赏
  • 举报
回复
引用 5 楼 cjbedu2012 的回复:
其实很简单。
tomcat使用jna调dll之后就停止了,是为什么?你怎么解决的
诺丽果 2018-05-03
  • 打赏
  • 举报
回复
引用 8 楼 u011342403 的回复:
[quote=引用 5 楼 cjbedu2012 的回复:] 其实很简单。
SpringMVC调用dll第一次加载出现这不是win32程序,刷新页面之后,出现 java.lang.NoClassDefFoundError: Could not initialize class com.lym.test.ZhifuController$JNATestDll 项目的jdk已经换成32位了。是否需要将系统环境变量里的jdk换成32位的 [/quote]
引用 8 楼 u011342403 的回复:
[quote=引用 5 楼 cjbedu2012 的回复:] 其实很简单。
SpringMVC调用dll第一次加载出现这不是win32程序,刷新页面之后,出现 java.lang.NoClassDefFoundError: Could not initialize class com.lym.test.ZhifuController$JNATestDll 项目的jdk已经换成32位了。是否需要将系统环境变量里的jdk换成32位的 [/quote]如果dll是32的,那你的所有环境也得是32位的才行
微瞰技术 2018-05-03
  • 打赏
  • 举报
回复
引用 5 楼 cjbedu2012 的回复:
其实很简单。
SpringMVC调用dll第一次加载出现这不是win32程序,刷新页面之后,出现 java.lang.NoClassDefFoundError: Could not initialize class com.lym.test.ZhifuController$JNATestDll 项目的jdk已经换成32位了。是否需要将系统环境变量里的jdk换成32位的
微瞰技术 2018-05-03
  • 打赏
  • 举报
回复
引用 5 楼 cjbedu2012 的回复:
其实很简单。
使用SpringMVC调用dll先出现不是有效的win32程序,刷新之后出现 java.lang.NoClassDefFoundError: Could not initialize class com.lym.test.ZhifuController$JNATestDll 这种你有遇到过吗?
诺丽果 2018-05-03
  • 打赏
  • 举报
回复
非SpringMVC项目是什么项目,也是java的吗
微瞰技术 2018-05-03
  • 打赏
  • 举报
回复
引用 9 楼 weixin_39309867 的回复:
[quote=引用 8 楼 u011342403 的回复:] [quote=引用 5 楼 cjbedu2012 的回复:] 其实很简单。
SpringMVC调用dll第一次加载出现这不是win32程序,刷新页面之后,出现 java.lang.NoClassDefFoundError: Could not initialize class com.lym.test.ZhifuController$JNATestDll 项目的jdk已经换成32位了。是否需要将系统环境变量里的jdk换成32位的 [/quote]
引用 8 楼 u011342403 的回复:
[quote=引用 5 楼 cjbedu2012 的回复:] 其实很简单。
SpringMVC调用dll第一次加载出现这不是win32程序,刷新页面之后,出现 java.lang.NoClassDefFoundError: Could not initialize class com.lym.test.ZhifuController$JNATestDll 项目的jdk已经换成32位了。是否需要将系统环境变量里的jdk换成32位的 [/quote]如果dll是32的,那你的所有环境也得是32位的才行[/quote] 但是在非SpringMVC项目中,是可以成功调用dll的,只是放到SpringMVC中就不行了。
cjbedu2012 2017-08-29
  • 打赏
  • 举报
回复
其实很简单。
wgd81685 2017-06-28
  • 打赏
  • 举报
回复
楼主提供的信息有限,有两个建议 1 检查代码,是否是参数问题? 2 在前台调用张三的getSF()方法后,立即调用李四的getSF()方法,看是否会异常
cjbedu2012 2017-06-28
  • 打赏
  • 举报
回复
经过调试是在WEB中执行方法后,再进来就有问题了
cjbedu2012 2017-06-28
  • 打赏
  • 举报
回复
引用 3 楼 wgd81685 的回复:
楼主提供的信息有限,有两个建议
1 检查代码,是否是参数问题?
2 在前台调用张三的getSF()方法后,立即调用李四的getSF()方法,看是否会异常



这是controler中的代码,启动tomcat后第一次执行都是正常的,同样的调用代码,接下来调用就不正常了,得重启tomcat服务
cjbedu2012 2017-06-25
  • 打赏
  • 举报
回复
在web项目中调用dll怎么会出现这种问题呢?
运行环境:  1、JDK1.8及以上版本  2、Tomcat 8.0及以上版本  3、MySql 5.7及以上版本开发工具:  Intellij IDEA使用技术:   1、SpringMVC,SpringBoot框架,注解使用   2、Activiti工作流技术实现流程图上传,下载,查看;请假流程的申请,审批,查看流程进度,批注等功能   3、MySql、MyBatis数据库技术   4、Echarts图表技术   5、拦截器实现权限控制:角色管理、菜单管理,权限管理(按钮级权限)   6、LayUI前端框架技术    7、POI Excel导入导出技术   8、layedit在线编辑器编辑   9、图片批量上传技术   10、轮播图技术,轮播图上传,删除    11、验证码的使用,cookies保存账号密码课程资料:  1.项目源代码,数据库脚本文件,课程图片素材,开发文档及PPT资料等后台功能: 1、健身房会员管理系统,支持所有俱乐部方式运营的各种会员制管理企业。2、店铺管理包括,店铺展示,店铺图册上传,店铺资料介绍;3、会员管理,会员等级管理,会员资料管理;4、员工管理,教练管理,部门管理,员工权限管理;5、课程管理,课程设置,价格设置,上线发布,下线;6、优惠折扣管理7、订单管理,销售课程;8、上课预约管理,学习状态管理;9、Activiti工作流实现员工请假等技术;10、权限管理,角色管理、菜单权限控制,按钮权限控制后台登录:http://localhost:8080/club/会员端功能: 1.店铺(商城)展示(商城宣传轮播图,线上课程展示,教练展示,店铺介绍)2.会员资料修改,修改密码,更改绑定手机号码,在线充值3.在线购买课程,订单状态管理,收藏课程4.在线预约,预约状态,学习进度,学习状态;会员登录:http://localhost:8080/club/user/login

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧