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

J'ai spring mvc de l'application avec des feintes de page jsp (nommé htmlcontent.jsp). La jsp contient une chaîne de caractères:

HalloText

et c'est la totalité du contenu de la page jsp. Le contrôleur ressemble comme suit:

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";
    }
}

Le haricot est ajouté dans mon springapp-web.xml

<bean id="htmlcontent" class="springapp.web.HtmlContentController">

Et le mappage des servlets dans mon web.xml est défini comme suit:

<servlet-mapping>
    <servlet-name>springapp</servlet-name>
    <url-pattern>*.htm</url-pattern>
</servlet-mapping>

Quand je l'appelle suivantes:

http://localhost:8080/spring-mvc-hsqldb/htmlcontent.htm

puis-je obtenir une 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.

Dans catalina.hors il n'y a pas trace de la pile pour cette erreur. Lorsque je tente de changer l'URL de http://localhost:8080/spring-mvc-hsqldb/htmlcondsasdadastent.htm, puis-je obtenir:

WARNUNG: No mapping found for HTTP request with URI [/spring-mvc-hsqldb/htmlcondsasdadastent.htm] in DispatcherServlet with name 'springapp'

Je pense, que doit être le bon fichier journal. Quelqu'un peut-il me donner un indice, ce que je fais mal? Et pourquoi le pointeur null trace de pile pas dans le fichier de log?

  • la version de tomcat est-ce?
  • Si vous marquez le contrôleur avec @Contrôleur, alors vous n'avez pas besoin de vous inscrire le haricot springapp-web.xml. Vous pouvez poster la façon dont vous avez configuré votre avis de résolution? Et je pense que l'url que vous devez utiliser est localhost:8080/htmlcontent.htm à la place de celle que vous utilisez.
  • quand je l'appelle localhost:8080/htmlcontent.htm puis-je obtenir de l'Erreur 404 (La ressource demandée (/htmlcontent.htm n'est pas disponible.")
InformationsquelleAutor cupakob | 2011-02-03