昨天实验室的师弟跑来跟我说,我们实验室的网上选课系统在上传文件的时候没有提示上传成功,我看了看,发现上传文件实际上已经成功了,但是没有出现正确的提示信息。那怎么办呢?没有任何开发文档,我只能通过tomcat中的jsp文件来大概了解这个过程。 首先,用户进入上传文件的jsp页面,浏览作业,选择上传次数后,点击提交发现确实没有上传信息。但是根据jsp里面的内容,应该是会显示提示信息的。 认真看了看jsp,问了问同学,确定是在jsp中使用了logic:notempty这个标签,也就是说,点击提交后返回jsp页面,logic:notempty会检查是否有某种特定的jsp表单存在,如果不存在就不显示提示信息,如果存在就显示,可是在后台的动作中(就是点击submit后触发),那个特定的表单已经产生了,为什么还是没有显示呢? 看了看后台的动作(就是点击submit后触发),发现它是由3部分组成的: 1.上传作业,把作业写入相对应的文件夹下。 2.把作业放入以作业次数命名的rar文件里。 3.在数据库的记录表中写入一条记录。 我想,应该是这3部中那一步出现了问题,导致这个action没有办法继续执行,所以无法跳转回到原来的jsp中,所以无法显示文件上传信息。 看了看服务器保存作业的文件夹,发现那个以作业次数命名的rar文件有问题。于是决定去掉第2功能,注释了相关源码,重新编译,然后把生成的class文件放入tomcat下,重新启动tomcat,问题解决了,正确的提示信息又出来了。这就证明我的想法是对的,确实是那个操作rar出现了问题。