zoukankan      html  css  js  c++  java
  • 异常记录

    *调试总结:

    1、调试时因该F5(eclipse)沿着异常堆栈一步一步往上调试,而不只是预设一个断点。应对InvocationTargetException。

    JSP:

    date: 2011/10/31

    contents: 使用jsp代码段<jsp:useBean id=".." scope=".." class=".." />引入bean时,出现了莫名的异常。如下:

    View Code
     1 public class Order
    2 {
    3 protected int id;
    4 public Order()
    5 {
    6 }
    7
    8 public int getId()
    9 {
    10 return id;
    11 }
    12 ...
    13 }
    14
    15 public class Item
    16 {
    17 protected int id;
    18 public Item(int id)
    19 {
    20 this.id = id;
    21 }
    22
    23 public int getId()
    24 {
    25 return id;
    26 }
    27 ...
    28 }

    在jsp中通过如下语句调用:

    <jsp:useBean id="order" scope=".." class="Order" />

    <jsp:useBean id="item" scope=".." class="Item" />

    异常堆栈跟踪中最有价值的就只有出错的行号了,其显示‘Item’所在的jsp行有错误,百思不得其解,最终发现Order(只有一个默认的无参构造函数)与Item(只有一个有参的构造函数)对象在构造方式上存在差异,为'Item’添加一个无参的构造函数后,异常消失。

    comment: 通过相同环境的对比可以找出异常,但是一定仔细注意对比对象之间的每一个细微的差别。

    TOMCAT:

    环境: eclipse 3.8.1,tomcat 6.0

    20130322

    Server Tomcat v6.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.

    双击servers中需要启动的tomcat会看到一个配置文件(名字与tomcat服务的名字相同)在Timeouts选项中看到 “Start(in seconds): 45”  把该值(45)调整到足够到即可。

    SERVLET:

    JAVA:

    20130408

    InvocationTargetException

    Method method1 =  class1.getClass().getMethod("method1");

    strFlagString = (String) appMethod.invoke(class1);

    如果method1不是静态方法,且class1没有没有被实例化.invoke或抛出InvocationTargetExcetpion.

    注意:调试时因该F5(eclipse)沿着异常堆栈一步一步往上调试,而不只是预设一个断点。

    20130703

    java.lang.SecurityException

    java.lang.SecurityException: class "org.hamcrest.Matchers"'s signer information does not match signer information of other classes in the same package
    原因在于项目存在同一个package的两个版本。

    STRUTS:

    IDE环境 : Eclipse Indigo Service Release 1, Tomcat : tomcat-7.0.22, Struts : struts-2.2.3.1

    异常:在通过xx-validation.xml来验证action时,更新文件validator配置文件后,验证并未生效。

    原因:该项目创建的是Tomcat项目,在/work/....下的与x.jsp对应的.class文件中出现错误,只因为项目中没有引用 tomcat的 tomcat-api.jar , servlet-api.jar。在一开始误以为在运行项目时候tomcat容器中会存在这些jar包,就不会有影响,虽然事实确实如此,但是在struts项目中,因为这个问题的存在导致一系列的后续更新操作失败。其最直接的表现在,虽然在struts.xml中设置了开发模式(<constant name="struts.devMode" value="true" />),但更新并保存后,consoles却并没有显示reload的debug 信息。

    总结:Maven,Ant还是不错啊!至少不会出现这中莫名的错误。

  • 相关阅读:
    如何使用CslaGen生成CSLA DAL层代码
    DefaultCellStyle.NullValue与CellEndEdit
    列Readonly的问题
    IOS谓词NSPredicate
    项目展示新浪微博客户端
    KVO的概述与使用
    iOS设计模式——委托(delegate)
    ScrollView
    UIButton
    ScrollView图片的放大缩小
  • 原文地址:https://www.cnblogs.com/tao_/p/2230593.html
Copyright © 2011-2022 走看看