仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 631|回复: 11
打印 上一主题 下一主题

[学习教程] JAVA网页设计Catalina-tomcat中处置非常的一个BUG?...

[复制链接]
若天明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:22:02 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net里有这些工具吗?要简单多少?。BEA利用的是Catalina,也就是tomcat,偶然中发明一个十分潜伏的大概不算致命的BUG,在JSP中某处的标签假如实行毛病,会在后面某处输入缓冲区时无非常加入,而不是在实在毛病地址收回毛病非常。
10:45分:却发明FormTag实行非常加入,并且毛病日记没有任何输入;以是决意转已往先看看是甚么回事。十分奇异的是,就算在doEndTag中输出断点后,毛病日记仍没有输入。最初的反省了局,不是程序有错,而是在某种前提下,tag对output没有呼应,所请求输入的vaildatorscript只输入了一半。

这个tag集成了struts.validator的JavascriptStaticTag,不知有无人如许做:我不想花工夫重建把它的代码剖解出来,也不但愿让前台的页面多几个必要设置的tag;因而间接用下级的FormTag向它置值,然后间接挪用它的doStartTag()——实在,在JSP容器中不也是如许按注册纪录挪用它的办法吗?此前偶而发明有如许的毛病,不外转眼就恢复一般。既然非常消散,毛病日记也没有纪录,也就没法开掘它的毛病来历了。此次从头呈现,引发我的注重,并且毛病延续工夫对照长,因而能够在程序中设置断点,跟踪它的毛病产生的地位。

了局,毛病源会合到了不是我写的,来自于struts的validator的这个标签。关于struts如许的两头构件,我如今的立场是假如我不克不及完看懂它的代码,能够在内里设置断点纪录输入到毛病日记degbug,就不加接纳,以是如今我手中的struts只是有它的构件功效,利用体例与一样平常所见的struts已是完整分歧了,这也包含了这个javascripStaticTag。关于它的用法,我是但愿它作为程序的一部分,当我选定要对某个表单的客户端举行考证时,它主动完成所必须的代码输入,而不必要我手工地设这个TAG,还要婚配它的挪用函数称号。这个集成是乐成的,已运转了很长工夫,常常了必定强度的测试,但弄虚作假,关于个中的代码我还是没有深切。

毛病的发生后我盘算向缓冲区输入断点,这是因为这个程序是向页面输入validator-rules.xml中的javascript代码,但发明没有乐成,很多断点没有输入;标明程序输入是中止的,但输入历程是一般的,不然毛病日记会纪录上去。进一步的考证标明,程序运转和从内存纪录中取得的javascript是完全的,从而扫除了读取xml产生毛病的大概性,并且也证实JAVA程序的运转是完整一般的,毛病不在开辟者程序,而在于平台自己,在输入缓冲区时无非常加入了!!!因为javascriptTag中是利用stringBuffer最初toString再输入到缓冲区,大概,是因为这个量太年夜,以是溢出了??因而我把它分红逐段都输入,但了局完整一样。大概是因为我关于它的挪用不是由容器举行,间接由parent-TAG挪用办法形成缓冲辨别配较小??因而改成getString办法,由parent完成输入,但是,了局仍旧是一样的。

最初,我盘算先超出这一步,看看实行了局怎样,发明该页因为BSelectTag因为调联系关系的BaseIf接口昨晚错删除一个办法呈现非常,因而从头编译后,再实行,了局发明下面的毛病消散了。从头恢复这个毛病,非常从头呈现。如许也就发明了它的缘故原由。现实上,BEA利用的是CATLINAJSP容器,注释一个JSP页面时是一个一致的历程。这个非常标明,在JSP中前后的输入文本天生是相干联的,位于前面的程序运转毛病,象这里,是在前面运转时呈现了methodnofound(我估量,由于即便是服务器日记也没有发明毛病纪录),也令这个注释实行过程当中断,形成缓冲区文本输入一半无非常加入。

我很少处置JSP,这是一个履历,假如呈现这类缓冲非常输入而程序捕获不就任何的毛病日记时,先把这个页面相干的程序都编译一遍,扫除这个大概再说。

这个成绩整整花了我两个小时找缘故原由,切实其实潜伏,一些反作用是如许就对validator.javascript的代码熟习了,项目前面有点工夫的话,就把它修正一下,只输入此次必要的考证办法script:我总以为它输入了太多的工具,把validator_rules.xml中的一切script办法全送出来了。

C#是盗用了Java的源代码,仿照开发的,原因是Java是开源的啊,盗了也白盗,还有一点,开发C#语言的团队是就是开发Java语言的团队,是微软重金挖过去的啊
海妖 该用户已被删除
12#
发表于 2015-3-21 22:53:15 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
金色的骷髅 该用户已被删除
11#
发表于 2015-3-15 09:15:33 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
小魔女 该用户已被删除
10#
发表于 2015-3-7 15:56:53 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
柔情似水 该用户已被删除
9#
发表于 2015-3-6 15:40:48 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
透明 该用户已被删除
8#
发表于 2015-3-3 14:48:08 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
分手快乐 该用户已被删除
7#
发表于 2015-2-24 14:45:31 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
老尸 该用户已被删除
6#
发表于 2015-2-8 06:36:48 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
乐观 该用户已被删除
5#
发表于 2015-2-6 13:19:24 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
灵魂腐蚀 该用户已被删除
地板
发表于 2015-1-30 14:22:05 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
兰色精灵 该用户已被删除
板凳
发表于 2015-1-27 12:35:22 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
飘飘悠悠 该用户已被删除
沙发
发表于 2015-1-20 21:51:39 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 17:26

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表