栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

第四个war包实验记录之destroy()的调用方法、运用插旗观察程序运行(第八次j2ee学习)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第四个war包实验记录之destroy()的调用方法、运用插旗观察程序运行(第八次j2ee学习)

4.23日,对于第四个war包的相关记录与问题回答


先打开readme.jsp,查看老师所给出第四个war包需要回答的问题,可以看出都是上课时老师有提到的内容,对我们的要求就是先观察页面输出,然后在服务器中进行运行,然后观察console的输出,还需要用插旗观察程序的运行情况


一步一步来,首先先观察源程序代码


源码中给出很多输出,每当你进行操作时,你的网络页面与console都会进行相应的输出,当我运行index.html时,网络页面展示为




我们运行了此html文件,之后点击激活servlet选项,页面显示已经被访问了一次,然后刷新页面,页面提示重新提交表单,确认之后,可以看到servlet被访问两次


刚才展示的是在网页中的展现,在console中,输出结果为

可以看到这边显示中没有对于当时LifeServlet.java文件中的destory()方法进行执行,对于这个操作需要要求我们关闭服务器,然后摧毁实现,但当我进行了此操作,也并无相应输出
我用的server是tomcat,当我在ie上运行servlet程序,关闭ie或者关闭tomcat都不能测试到其destroy()被执行。我在destroy()中设定在日志文件输出执行信息。所以如果destroy()被执行,查看日志文件应该可以发现的
并且我还有这个问题:
如果destroy()只在tomcat关闭时才执行,那不是只要客户端运行servlet,在服务器端都会有实例在运行,所有的实例都只能等到服务器关闭时才会全部执行destroy(),这样的话服务器开的时间越长,其上运行的实例不是越来越多?哪怕客户端早已不再执行该servlet.
在进行搜索后我了解到,之前无法释放问题的解决方案:我是在eclipse javaee版本中尝试的,不要用console中的terminate那个红色按钮,找到服务器server界面,右击stop,就可以看见destory()方法的调用


那么如何按照老师要求,通过插旗来观察程序运行情况呢
插旗其实就是,在程序中,插入变量输出,通过输出结果,了解观察程序运行情况,程序中的“System.out.println(“该Servlet的doGet方法被执行了一次”);”
“System.out.println(“该Servlet的doPost方法被执行了一次”);”
便是插旗法的运用,总的来说第四个war包难度也较为简单

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/830103.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号