1.firefox的firebug真是web调试神器哈,如下错误,居然一下就找到了
我本来是想要左边的效果的,可是没想到出来的时候变成了右边的效果,没事的,清除web神器----firefox的firebug,OK,如下
原来是我路径写错了,多返回了一级,应该是../就可以了
2.struts2中的ActionSupport类的作用
记得自己之前写Action类的时候最后直接返回this.success,但是今天写出这句话的时候居然提示未定义,什么情况,检查了好久才发现原来自己没有继承ActionSupport类,好吧,我承认之前写Action类来继承ActionSupport类,但是不知道是干什么的,今天遇到了就总结一下:struts2中Action类可以不继承任何类,但是继承ActionSupport类的话可以提供一些我们常用的功能,不在需要自己写了,比如validate校验、获取本地化信息、常用变量等,哈哈,重点是今天我需要的就是常用变量,在ExtJs中常常需要Action类返回success变量,这在ActionSupport类中就已经定义好了,不需要我们自己在声明了,不光如此,还有其他的:
public static final java.lang.String SUCCESS = "success";
public static final java.lang.String NONE = "none";
public static final java.lang.String ERROR = "error";
public static final java.lang.String INPUT = "input";
public static final java.lang.String LOGIN = "login";
3.严重: Servlet.service() for servlet default threw exception
java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/Object;)Ljava/lang/Object;
at com.googlecode.jsonplugin.JSONResult.execute(JSONResult.java:157)
按照这个错误提示,我找到了相应的包,发现这个0.32的jar包适用于struts2.0,而我用的是struts2.1.6,好吧,那就升级,来一个0.33版本的jar包
但是.......这下好了,连tomcat都启动出错了:
Caused by: The package name 'json-default' at location package is already been used by another package at location package -
这个很明显就是jar包重复了,可是我导入0.33版本的时候就已经把0.32版本的remove from build path了,难道是lib下面还有?可在myeclipse里的lib下面也没看到,那是哪里重复了呢,好吧,我直接把0,32版本的jar包从硬盘删除,再试试,还是报错,什么情况?难道是tomcat里的lib出问题了?打开一看,果然是tomcat里的lib下jar包重复了,而且还是直接复制的,难怪我把jar包从硬盘删除都没有办法,唉,看样子以后要多留意tomcat下面的lib了
4.hibernate输出sql语句到控制台
打开hibernate.cfg.xml文件编辑界面,在Properties窗口处,点击Add按钮,添加如下属性
5.js不会像jsp那样主动报错的
今天有个错误纠结了一个下午,倒不是错误有多难,而是找不到任何有价值的错误,只显示500错误,这个错误搞计算机的都知道,是服务器端出问题了,但是对于调试程序没有什么用的,搞得我为了找错,不管是firebug还是debug了好多次,都没找到具体的错,但是可以确定范围,就是查询数据库的那一块出错了,搞得我一直以为是spring里面的事务管理错了呢,结果我把另一个程序也写成面向接口的测试了一下是好的,好的,看样子是查询数据库错了,这个时候我没事干乱点firebug的时候,点到了XHR(虽说我不知道是什么玩意),才显示出了如下的错误:
唉,终于找到了,原来是空指针异常,早说嘛。不过也是,这也是js与jsp的区别,jsp的话,这样的错误会直接显示在浏览器上的,可是js就不会了,这就需要我们主动去找错了,也算是今天的教训吧,看来jsp做习惯了,还得转变思维哈
6.java.lang.NullPointerException
这个错误就上上面的那个遗留问题,相信大家都不陌生,网上的答案一般有两种,第一种是spring没有注入,第二种是需要懒加载,我目测了一下spring中的变量感觉都一样,没问题,肯定不是注入的问题,那就只能懒加载了,但是我对这个还是有怀疑的,因为去年我做hibernate的时候从来没遇到懒加载,但是表关联的功能还是好好的,不过可以一试,这是我才知道原来懒加载不只有true和false两种,还有proxy和no proxy,这个就有点离谱了,还是回到正道上来,看看spring注入问题,于是设置了断点,开始debug,结果吓我一跳,如下:
居然是null,有木有啊,看来还是不能用目测,这次不管了,直接复制粘贴覆盖,管他一样不一样,结果OK了,看来的确是spring的问题。这个问题促使我进一步研究了一下spring,感觉对spring的用途更加了解了,也顺便研究了一下lazy,结果是对其会造成空指针异常更加怀疑了,哈哈