[标题]:调试EL函数时,Tomcat提示NullPointerException
[时间]:2009-4-2
[摘要]:EL函数对应的Java方法必须是静态的。
[关键字]:NullPointerException,EL函数,taglib,function,JSP
[平台]:Tomcat6
[作者]:Winty (wintys@gmail.com)
[正文]:
调试EL函数时,Tomcat提示如下错误:
java.lang.NullPointerException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.el.parser.AstFunction.getValue(AstFunction.java:94)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:928)
at org.apache.jsp.ch11_005fEL.ELFunction.ELFunctionTest_jsp._jspService(ELFunctionTest_jsp.java:67)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:866)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:716)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
at java.lang.Thread.run(Thread.java:619)
在网上查到了类似java.lang.reflect.Method.invoke的错误信息,与自己的并不一致。最后,发现书上讲到的一句话,EL函数对应的Java方法必须是静态的。错误原因就是这样。把所涉及的方法改为静态就可以正常执行EL函数了。
分享到:
相关推荐
MyEclipse是一款功能强大的Java集成开发环境,它支持对Tomcat等应用服务器的远程调试,这在处理生产环境中遇到的问题时非常有用。本篇文章将详细介绍如何在MyEclipse中远程调试Tomcat。 首先,我们来看一下问题背景...
这个问题通常伴随着"Errors occurred during the build"和"java.lang.NullPointerException"这样的错误提示,这可能是由于多种原因导致的。 首先,我们来看一下这个特定的错误:"Errors running builder '...
对于 Tomcat 这样的应用服务器而言,守护进程可以在服务器异常关闭或遇到故障时自动启动,从而保证服务的连续性和稳定性。 心跳检测是一种常用的健康检查机制,通过定期发送请求到指定的服务端口来判断服务是否正常...
Java.lang.NullPointerException 是 Java 语言中一种常见的异常,它发生在 Java 应用程序尝试使用 null 对象引用时。这种异常通常是由于程序员错误地认为对象已经被初始化或赋值,而实际上对象仍然是 null。 在本文...
Excel文件读取时NullPointerException 异常处理
`NullPointerException` 是Java标准库中`java.lang`包下的一个运行时异常。当程序试图通过一个为null的引用调用方法或者访问其字段时,系统会抛出此异常。在Java中,null不是一个对象,而是表示没有对象的引用状态。...
Apache Tomcat 8.0.33是一款广泛应用的开源Java Servlet容器,主要负责运行Java Web应用程序,特别是基于Java EE的Web应用。这个版本是针对Windows 64位系统的,因此在64位操作系统上表现最佳。2016年3月24日发布的...
当遇到“Tomcat异常”时,通常意味着在运行或配置Tomcat时遇到了问题。下面将详细讨论相关知识点: 1. **Tomcat异常类型**: - `NullPointerException`:这是Java中最常见的异常,表示尝试访问一个null对象的属性...
例如,在调试一个可能抛出NullPointerException的程序时,可以设置一个异常断点,只有当程序抛出NullPointerException时,程序才会停止。 3. 观察点 观察点是Eclipse中的一种断点类型,它可以在程序访问或修改某个...
使用EL时,应遵循一些最佳实践,如避免在EL表达式中使用复杂的逻辑,因为这可能降低代码的可读性和可维护性。更复杂的业务逻辑应移至后台Java代码中处理。 以上内容涵盖了EL语言规范的核心知识点,但要完全掌握EL...
在描述中提到的“修复了redis-session-manager-tomcat6包存入null值的session时报空指针问题”,这表明在之前的版本中,当试图将null值存储到session时,由于某些原因可能会触发Java中的NullPointerException。...
当我们尝试访问或操作一个 null 对象时,将抛出 NullPointerException。例如,在上面的代码中,我们尝试访问 conn 对象的方法时,如果 conn 对象为 null,将抛出 NullPointerException。 原因三:未检查空指针 在 ...
- 当Tomcat启动时,会自动解压WAR文件并创建对应的Web应用程序目录结构。 3. **启动Tomcat服务** - 进入Tomcat安装目录下的`bin`目录,执行`startup.bat`脚本以启动Tomcat服务(Windows系统)。 - 如果一切正常...
这种异常发生在程序试图访问或操作一个为null的对象时。下面是可能发生NullPointerException的几种情况及相应解决方案: 1. 直接使用对象之前未检查对象是否为空 在Java编程中,我们经常会遇到这种情况:直接使用...
在Java编程中,调试是程序员不可或缺的一项技能,尤其对于那些经验丰富的开发者而言,掌握有效的调试方法可以显著提升工作效率,快速定位并解决问题。本文将详细介绍Java程序员必须了解的10个高效调试技巧,这些技巧...
这个错误通常伴随着`java.lang.NullPointerException`异常,导致在启动Tomcat服务器时不断弹出错误对话框。这种情况下,尽管后台没有明显的错误日志,但频繁出现的警告窗口无疑会给开发工作带来不便。 ### 错误分析...
在Java编程语言中,`NullPointerException` 是一个常见的运行时异常,它发生在试图访问或操作一个值为null的对象引用时。这个异常表示程序试图通过一个null引用调用方法或访问字段,而实际上该引用并没有指向任何...
在 Java 中,字符串常量调用 equals 方法时,需要注意避免 NullPointerException。例如: ```java "string literal".equals(strObject) ``` 这种方式可以避免 NullPointerException,因为字符串常量永远不会为 ...