Tengo la aplicación mvc de primavera con la página dummy jsp (llamada htmlcontent.jsp). El jsp contiene solo una cadena:java.lang.NullPointerException en org.apache.jsp.foo_jsp._jspInit (foo_jsp.java:22)
HalloText
y este es todo el contenido de la jsp. El controlador se ve de la siguiente manera:
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";
}
}
se añade el frijol en mi springapp-web.xml
<bean id="htmlcontent" class="springapp.web.HtmlContentController">
Y la correlación de servlet en mi web.xml se define de la siguiente manera:
<servlet-mapping>
<servlet-name>springapp</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
cuando llamo siguiente:
http://localhost:8080/spring-mvc-hsqldb/htmlcontent.htm
entonces consigo una 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.
En catalina.out no hay ninguna traza de la pila para este error. Cuando trato de cambiar la URL para http://localhost:8080/spring-mvc-hsqldb/htmlcondsasdadastent.htm
, entonces me sale:
WARNUNG: No mapping found for HTTP request with URI [/spring-mvc-hsqldb/htmlcondsasdadastent.htm] in DispatcherServlet with name 'springapp'
por lo que creo que debe ser el archivo de registro correcto. ¿Puede alguien darme una pista, qué estoy haciendo mal? ¿Y por qué el seguimiento de la pila del puntero nulo no está en el archivo de registro?
qué versión de tomcat es esto? – skaffman
Si marca el controlador con @Controller, entonces no necesita registrar el bean en springapp-web.xml. ¿Puedes publicar cómo has configurado tu View Resolver? Y creo que la URL que debe usar es http: // localhost: 8080/htmlcontent.htm en lugar de la que está usando. – Javi
cuando llamo localhost: 8080/htmlcontent.htm, obtengo el error 404 (El recurso solicitado (/htmlcontent.htm) no está disponible. ") – cupakob