0 0

==========这个问题太奇怪了,已经抓狂了============10

2014-8-14 13:43:43 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [action] in context with path [] threw exception [java.lang.NullPointerException] with root cause
java.lang.NullPointerException
at org.quickupstart.struts.action.LoginValidateAction.execute(LoginValidateAction.java:33)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.quickupstart.common.EncodingFileter.doFilter(EncodingFileter.java:43)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

应用在本地跑没有一点问题,部署到服务器,一触发功能后台就抛这个异常,但是前台也没有报HTTP 500错误,功能运行正常。

异常里说的33行报红指针,代码如下:
HttpSession session = request.getSession(false);
		
String validate_code = session.getAttribute("code").toString();//这个是33行


用log4j也可以输出值。已经晕了!抓狂中........................
2014年8月16日 01:08

5个答案 按时间排序 按投票排序

0 0

采纳的答案

服务器是不是集群了,没有做session复制?用session做存储其实很不可取,建议用缓存技术替代session。

2014年8月18日 08:58
0 0

空指针的问题是最好查的了。。。

2014年8月18日 12:06
0 0

String validate_code = session.getAttribute("code").toString();//这个是33行

----------
这样String validate_code = (String)session.getAttribute("code");
这样session中code为null的时候也正常。

2014年8月16日 23:21
0 0

为什么用HttpSession session = request.getSession(false);而不是HttpSession session = request.getSession();呢 ?或者HttpSession session = request.getSession(true);呢

2014年8月16日 12:11
0 0

两种情况。
1.获取到的session对象为空。
request.getSession(false);如果当前有session则返回当前session,否则返回null;
request.getSession();如果当前有session则返回当前session,否则返回一个新的session。
2.session不为空,session.getAttribute("code")后返回的为空;

用断点调试就知道了,另外,凡是设计到session的地方,最好是用aop模式进行方法前校验。

2014年8月16日 10:52

相关推荐

    思考与抓狂的人物肢体语言PPT素材.rar

    这个压缩包包含了三个不同情境的人物形象:一位抓狂的青年、一个摆姿势的老人以及一个深思的女士,这些都是通过肢体语言来传达特定情绪和状态的图形元素。 首先,我们来看“抓狂的青年”这一素材。在PPT制作中,...

    IE11_for_Win7_x86离线安装包

    以后Win7用IE11的机会也越来越多,但IE11官方安装包的安装是一件很抓狂的事。微软的IE官方包其实并不是离线安装包,安装前须下载先决更新,否则拒绝安装。若断网或网速不稳定,就下载不成功。即使联网,下载速度也极...

    三张抓狂思考的商务人士背景PPT素材下载.rar

    标题中的“三张抓狂思考的商务人士背景PPT素材下载.rar”表明这是一个关于PPT设计的资源包,其中包含了三张与商务人士思考、抓狂情绪相关的背景图像。这些图像通常用于制作演示文稿,以增强内容的表现力,帮助观众更...

    俄国牛人写的开源爬虫xNet.zip

    只要你是写爬虫的,都会遇到一个让人抓狂的问题,就是明明知道自己Http请求头跟浏览器一模一样了,为啥还会获取不到自己想要的数据。这时你如果使用HttpWebReaquest,你只能调试到GetRespone,底层的字节流是调试不...

    JGsoft.PowerGREP.v4.1.0.Retail-ZWT 压缩包一.共两个压缩包

    这个功能也十分有用。我记得还有个东东叫ViEmu for Word & Outlook,可以在word和outlook中模拟vim,当然可以使用正则式搜索替换了。不过,ViEmu一来也是收费软件(在2008年5月31日之前是79美刀,之后是99美刀),我...

    JGsoft.PowerGREP.v4.1.0.Retail-ZWT 压缩包二.共两个压缩包

    这个功能也十分有用。我记得还有个东东叫ViEmu for Word & Outlook,可以在word和outlook中模拟vim,当然可以使用正则式搜索替换了。不过,ViEmu一来也是收费软件(在2008年5月31日之前是79美刀,之后是99美刀),我...

    头痛着急抓狂的商务人士小插图PPT模板

    头痛着急抓狂的商务人士PPT小插图素材下载,关键词:头痛、抓狂、着急,商务人士PPT背景图片,PPT素材下载,PPTX格式; 头痛着急抓狂的商务人士PPT小插图素材下载,关键词:头痛、抓狂、着急,商务人士PPT背景图片,...

    JSP中的倒数计时和自动跳转页面

    抓狂然后刚才好不容易码完,网页出错了。 1,在标签中建立onload事件,用作自动刷新; <body onload=shownum()> 2,在[removed]中编写onload事件: [removed] var i = 6; function shownum(){ i=i-1; ...

    头痛着急抓狂的商务人士PPT小插图.rar

    为了帮助商务人士更有效地制作PPT,"头痛着急抓狂的商务人士PPT小插图"这一资源应运而生,它不仅提供了与工作压力相关的情绪表达插图,而且能够极大地丰富PPT的表现形式,提升内容的感染力。 这些插图以"头痛"、...

    盘点谷歌史上15个最让求职者抓狂的面试题.docx

    2. **清洗窗户的价格**:这个问题涉及到了成本计算、市场定价和大规模作业的策略。应聘者需要考虑劳动力、材料成本、时间等因素,同时还要考虑到西雅图的地理面积和建筑数量。 3. **男女比例问题**:这是一个典型的...

    那年曾让我哭笑不得抓狂的C语言

    8. **类型安全**:C语言不提供像其他高级语言那样的类型检查,因此需要开发者自己确保类型匹配,避免隐式类型转换导致的问题。 了解这些知识点并避免相关的陷阱是成为一名熟练的C语言程序员的关键。通过良好的编程...

    张海山锐线体Cufon中文字体js文件

    比如设计一个公司的Logo,图片上的一些特殊字体是从ps字库中调出的,当然这些文字在图片上显示肯定是没有问题的,但是如果要在网页中用文本来显示这些效果,就是会让开发人员抓狂了,因为浏览器并不支持所有的字体,...

    idea tomcat乱码问题的解决及相关设置的步骤

    在 Tomcat \bin 目录下的 catalina.bat 文件中加入 `-Dfile.encoding=UTF-8`,但是这个方法没有生效,有些抓狂了... ### 方法 6:在 Tomcat / conf 目录下,设置 logging.properties 在 Tomcat / conf 目录下,...

    切莫迷信测试软件一颗让老鸟抓狂的神秘处理器.pdf

    标题中的“切莫迷信测试软件一颗让老鸟抓狂的神秘处理器”暗示了本文可能讨论的是在处理器评测和性能分析中,过于依赖测试软件可能导致的误导性结果,以及某些特定处理器可能带来的挑战。这些测试软件可能包括CPU...

    详解关闭令人抓狂的ESlint 语法检测配置方法

    ESlint 是一个流行的静态代码分析工具,用于检测 JavaScript 代码中的潜在错误和风格问题。它可以帮助开发者保持代码的一致性和可读性。然而,对于初学者或者习惯不同编码风格的人来说,ESlint 的某些规则可能会显得...

    JavaScript中令你抓狂的魔术变量

    在存在这么一个变量 tt, 它满足下面的代码. 代码执行完毕后 ,errCount=0 而且 断言函数也从未 alert 信息 代码如下: 代码如下:[removed] var tt=/* 请在这里定义tt */; var errCount=0 //全局变量,...

    数据结构——栈的实现

    栈是一种线性数据结构,其主要特点是限制元素的插入和删除只能在栈的一端进行,这个端点被称为栈顶。与队列的“先进先出”(FIFO)不同,栈的操作遵循“后进先出”的原则。栈可以形象地比喻为一个堆叠的盘子,新加入...

    64位系统锐捷驱动.7z

    很多的同学恐怕在学校都是用的锐捷的认证吧,可换到新系统才知道锐捷不能用了,那个抓狂啊,幸好作为学校网络管理员的我在暑假期间我综合了一些问题和解决方案,基本算是解决了这个问题,特别是在X64的win7下,现在...

    TortoiseSVN客户端程序

    这样,就算你在昏天黑地的改了几个月后老板说不要了,还是按照过去那样,你也不会抓狂,简单的恢复版本操作就搞定一切。 2.2、什么是 Subversion Subversion是一个自由/开源版本控制系统,它管理文件和目录可以超越...

    [Oracle] 浅析令人抓狂的ORA-01555问题

    通过定期使用DBMS_STATS包扫描相关对象,可以有效地解决这个问题,确保数据的及时清理。 3. 解决和预防ORA-01555错误的策略 - **优化查询性能**:减少查询运行时间是最直接的解决办法,可以通过SQL优化,如索引...

Global site tag (gtag.js) - Google Analytics