基于weblogic的web应用调试技巧(心得篇)

         调试往往能显示一个编程人员的经验和水平,因为新手在代码能够“1039(一路畅通)”的时候还算是进展顺利,一旦遇到bug,而又缺少调试经验技巧,就要“塞车”很久,甚至一天的时间连一个坎也过不去。写代码酷似开车,选对了路(思路对了)就会一路畅通;而如果走近了死胡同,只有“倒车(推倒重来)”的份了。这就象实习司机与老司机的区别一样,如果车开着开着忽然熄火了,实习司机估计只能等待救兵了,而老司机倒是可以想象前因后果,动手自己搞定。诚然,冰冻三尺,非一日之寒,即使是新手,也不要着急,要懂得如何积累,如何使自己的“调试百宝箱”日益鼓起来。
     
         如何记录自己的调试经验呢?你可以选一个小工具,比如一个小软件,以前用过一个,忘记叫什么,可以分类记载各种你的调试经验记录,比如数据库的,程序设计的,当然,你也可以把常用代码存起来。另外一个好的方式就是写下来,因为毕竟我们的记忆能力是有限的,车房已经占了半个脑袋,知识挤在车缝墙角,迟早会被湮灭的,写的方式有很多种,写blog就不错嘛,在51cto写blog就会是个更好的选择了。嘿嘿(顺便帮管家小废同学做个广告。。。)
   
           下午的安排是这样的,被同学叫去打球,结果说特招体育特长生考试,体育馆闭馆,于是,就近来了实验室(本来要睡觉的)。启动weblogic,输入 [url]http://localhost:7001/[/url],仍旧是Error 404 Not Found!! 昨天写着写着就这样了,因为赶上同学喊,就以为重启一下wl就好了呢,谁知道不灵验!如何是好?这时,我意识到,是出bug了,而不是重启就能解决的了。于是,我把部署好的web applicaiton卸载掉,重新部署。结果部署就不成功,提示错误:

Exception:weblogic.management.ApplicationException: Prepare failed. Task Id = 1 Module: bjmi Error: [HTTP:101179][HTTP] Error
occurred while parsing descriptor in Web application "D:\bea\user_projects\domains\bjmidomain\applications\bjmi"
[Path="D:\bea\user_projects\domains\bjmidomain\applications", URI="bjmi" org.xml.sax.SAXParseException: The entity name must
immediately follow the '&' in the entity reference.
   
       于是,使出杀手锏――google一下"The entity name must immediately follow the '&' in the entity reference. "搜索结果一大堆,大部分是英文的,怎么说的都有,有的说web.xml的格式不对,有的说是其中的如下部分设置不对:

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
   
         我屏蔽了这个还是不成,因为之前也是这么写的,一直没有发现错误。这时,我注意到了错误提示中一个重要暗示――'&' ,看到web.xml
中有如下一段:
    <filter>
        <filter-name>GlobalFilter</filter-name>
        <description>refresh & internet filter</description>
     <filter-class>cn.gov.bjmi.filter.GlobalFilter</filter-class>
    </filter>
        脑中闪过当时似乎就是添加了& internet filter后出现的问题,于是,将"&"改为"and",重新部署,一切ok!

        然后,我又试验了一下,去掉"&"与"internet filter"之间的空格,因为,根据错误提示可能这样会可以,但是,答案是否定的。去掉前后的空格依旧不成,于是,老老实实地使用了"and"代替"&"。
        之后那叫一个顺,解决掉了课题最核心的部分,因为这部分一直在两个方案中权衡,路线已经选择了很久,今天定了一条,一路畅通就过来了,拿到了最核心的访问日志,下一步就是开始分析日志了。
       这里除了提示大家在weblogic中遇到含有"&"的错误提示时,可以尝试将其换掉外,另外一个目的就是谈一下debug的心得。记得有几次,遇到很棘手的问题,然后经过几番周折才搞定,而后,别人问起或者自己再次遇到,印象就不很深刻了,那么,不妨就记下来,俗话说“好记性不如烂笔头”,呵呵,反正我自己是习惯了写写东西,而且正在开始自己的撰稿之路,目前已经发表了第一篇稿件(《软件世界》――《变更全攻略》),第二篇已经完成――《集群实战实现负载均衡和HA》,还没确定要往哪里投呢,呵呵。

本文出自 “雨寒” 博客,转载请与作者联系!

你可能感兴趣的:(Web,weblogic,Blog,职场,休闲)