posts - 4, comments - 0, trackbacks - 0, articles - 0

          2010年10月16日

          今天使用Struts2的時(shí)候遇到一個(gè)怪異的問題,首先在struts.xml中配置的action是沒有問題的,Java類也寫好了。但是運(yùn)行的時(shí)候報(bào) 告如下錯(cuò)誤:

              javax.servlet.ServletException: Unable to instantiate Action, cn.edu.cup.actions.JobManager,  defined for 'jobList' in namespace '/'null - action - file:/K:/Softwares/%E6%95%99%E5%AD%A6%E7%9B%B8%E5%85%B3

              經(jīng)過網(wǎng)上仔細(xì)搜索發(fā)現(xiàn),根本原因在于我在方法中使用了 Student s = (Student) session.getAttribute("user"); 其中session是在構(gòu)造函數(shù)中獲取的。但是,通過分析Struts的原理(參見http://t8500071.javaeye.com/blog /348057),由于Action先于ActionContext對象實(shí)例之前創(chuàng)建,所以session對象是null,因此,會報(bào)告空指針錯(cuò)誤!

              明白了上述原理后,將獲取session的語句從構(gòu)造函數(shù)中刪除,放到方法中,程序終于正常了!

          posted @ 2010-10-16 11:19 希望的石頭 閱讀(3572) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 松溪县| 七台河市| 环江| 四川省| 招远市| 岳阳市| 兴文县| 田东县| 闽清县| 浦城县| 青河县| 富源县| 平度市| 浮山县| 布尔津县| 长沙市| 古交市| 大冶市| 乐东| 林甸县| 石林| 海淀区| 永丰县| 钦州市| 福泉市| 剑川县| 霍城县| 和龙市| 金阳县| 宣汉县| 云龙县| 田东县| 沅江市| 沂源县| 宁德市| 社会| 南华县| 石首市| 葫芦岛市| 抚顺县| 水富县|