Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
org.apache.jsp.foo_jsp._jspInit上的java.lang.NullPointerException(foo_jsp.java:22)_Jsp_Tomcat_Nullpointerexception - Fatal编程技术网

org.apache.jsp.foo_jsp._jspInit上的java.lang.NullPointerException(foo_jsp.java:22)

org.apache.jsp.foo_jsp._jspInit上的java.lang.NullPointerException(foo_jsp.java:22),jsp,tomcat,nullpointerexception,Jsp,Tomcat,Nullpointerexception,我有一个带有虚拟jsp页面(名为htmlcontent.jsp)的SpringMVC应用程序。jsp只包含一个字符串: HalloText 这就是jsp的全部内容。控制器如下所示: package springapp.web; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public c

我有一个带有虚拟jsp页面(名为htmlcontent.jsp)的SpringMVC应用程序。jsp只包含一个字符串:

HalloText
这就是jsp的全部内容。控制器如下所示:

package springapp.web;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HtmlContentController {

    @RequestMapping("/htmlcontent.htm")
    public String view() {
        return "htmlcontent";
    }
}
<servlet-mapping>
    <servlet-name>springapp</servlet-name>
    <url-pattern>*.htm</url-pattern>
</servlet-mapping>
bean被添加到我的springapp-web.xml中

<bean id="htmlcontent" class="springapp.web.HtmlContentController">
然后我得到一个NullPointerException:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.NullPointerException
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:536)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.NullPointerException
    org.apache.jsp.htmlcontent_jsp._jspInit(htmlcontent_jsp.java:22)
    org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:164)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:338)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.30 logs.
在catalina.out中,没有此错误的任何堆栈跟踪。当我尝试将URL更改为
http://localhost:8080/spring-mvc hsqldb/HTMLCONDSADASTENT.htm
,然后我得到:

WARNUNG: No mapping found for HTTP request with URI [/spring-mvc-hsqldb/htmlcondsasdadastent.htm] in DispatcherServlet with name 'springapp'
所以我认为,这一定是正确的日志文件。谁能给我一个提示,我做错了什么?为什么日志文件中没有空指针堆栈跟踪

java.lang.NullPointerException
    org.apache.jsp.htmlcontent_jsp._jspInit(htmlcontent_jsp.java:22)
\u jspInit()
方法中的NPE表示与当前运行的servletcontainer不同且版本较旧的JSP库的类路径污染

要解决这个问题,您需要确保在您的webapp的
/WEB-INF/lib
中没有任何特定于servlet容器的库,例如
jspapi.jar
servlet api.jar
el-api.jar
等,当然也没有在JRE的
JRE/lib
JRE/lib/ext


Servletcontainer特定的库属于Servletcontainer本身(在Tomcat6中,它们位于
Tomcat/lib
文件夹中),你不应该触摸它们,也不应该在你的类路径中有它们的副本或不同的servletcontainer。

这是哪个版本的tomcat?如果你用@controller标记控制器,那么你就不需要在springapp-web.xml中注册bean。您可以发布如何配置视图解析器吗?我认为您必须使用的url不是您正在使用的url。当我调用localhost:8080/htmlcontent.htm时,我得到404错误(请求的资源(/htmlcontent.htm)不可用。“)奇怪的是,sts模板包含了这个jar。我必须从pom.xml中删除它们才能使其生效work@BalusC,是否有博客说明如何使用和导入特定于servletcontainer的库和独立于servletcontainer的库?例如,导入javax.servlet:javax.servlet api:3.1 jar,它是独立的jar,仅在pr中使用提供了socpe,但servlet-api.jar与servletcontainer特定库中的等效/替换?是否有任何图表/表格列出比较?
java.lang.NullPointerException
    org.apache.jsp.htmlcontent_jsp._jspInit(htmlcontent_jsp.java:22)